# Overview
-When defining a [keymap](https://github.com/qmk/qmk_firmware/blob/master/doc/keymap.md) each key needs a valid key definition. This page documents the symbols that correspond to keyboard scan codes that are available to you in QMK. They can be used by themselves or in combination with one of the [many functions available](https://github.com/qmk/qmk_firmware/wiki#going-beyond-the-keycodes) to customize your board.
+When defining a [keymap](https://github.com/qmk/qmk_firmware/blob/master/doc/keymap.md) each key needs a valid key definition.
+
+This page documents the symbols that correspond to keycodes that are available to you in QMK.
+
+To customize your board, they can be used by themselves or as **action codes** in combination with one of the [many C macros](https://github.com/qmk/qmk_firmware/wiki#c-macros-for-action-code).
+
+The source of truth for these codes is [tmk_core/common/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/keycode.h) file in the qmk source code.
# The Keycodes
+Keycodes in QMK are based on [HID Usage Keyboard/Keypad Page(0x07)](http://www.usb.org/developers/hidpage/Hut1_12v2.pdf) with following exceptions:
+
+* `KC_NO` = 0 for no action
+* `KC_TRNS` = 1 for layer transparency
+* internal special keycodes in the `0xA5-DF` range (tmk heritage).
+
## Letters and Numbers
|KC_1|KC_2|KC_3|KC_4|KC_5|KC_6|KC_7|KC_8|
|Long Name|Short Name|Description|
|---------|----------|-----------|
-|KC_LOCKING_CAPS||Locking Caps Lock12|
-|KC_LOCKING_NUM||Locking Num Lock12|
-|KC_LOCKING_SCROLL||Locking Scroll Lock12|
-|KC_INT4|KC_HENK|JIS Henken|
-|KC_INT5|KC_MHEN|JIS Muhenken|
|KC_LCTRL|KC_LCTL|LeftControl|
|KC_LSHIFT|KC_LSFT|LeftShift|
|KC_LALT||LeftAlt|
|KC_RSHIFT|KC_RSFT|RightShift|
|KC_RALT||RightAlt|
|KC_RGUI||Right GUI(Windows/Apple/Meta key)|
+|KC_LOCKING_CAPS||Locking Caps Lock12|
+|KC_LOCKING_NUM||Locking Num Lock12|
+|KC_LOCKING_SCROLL||Locking Scroll Lock12|
+|KC_INT4|KC_HENK|JIS Henken|
+|KC_INT5|KC_MHEN|JIS Muhenken|
## Commands
|KC_AUDIO_VOL_DOWN|KC_VOLD||
|KC_MEDIA_NEXT_TRACK|KC_MNXT||
|KC_MEDIA_PREV_TRACK|KC_MPRV||
+|KC_MEDIA_FAST_FORWARD|KC_MFFD||
+|KC_MEDIA_REWIND|KC_MRWD||
|KC_MEDIA_STOP|KC_MSTP||
|KC_MEDIA_PLAY_PAUSE|KC_MPLY||
|KC_MEDIA_SELECT|KC_MSEL||