2017-02-17 05:39:55 +06:00
# Overview
2017-03-30 21:25:12 +06:00
When defining a [keymap ](https://github.com/qmk/qmk_firmware/blob/master/doc/keymap.md ) each key needs a valid key definition.
2017-02-17 05:39:55 +06:00
2017-03-30 21:25:12 +06:00
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.
2017-02-17 05:42:13 +06:00
2017-02-17 05:39:55 +06:00
# The Keycodes
2017-03-30 21:25:12 +06:00
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).
2017-02-17 04:50:36 +06:00
## Letters and Numbers
2017-02-17 05:01:36 +06:00
|KC_1|KC_2|KC_3|KC_4|KC_5|KC_6|KC_7|KC_8|
|----|----|----|----|----|----|----|----|
|KC_9|KC_0|KC_F1|KC_F2|KC_F3|KC_F4|KC_F5|KC_F6|
|KC_F7|KC_F8|KC_F9|KC_F10|KC_F11|KC_F12|KC_F13|KC_F14|
|KC_F15|KC_F16|KC_F17|KC_F18|KC_F19|KC_F20|KC_F21|KC_F22|
|KC_F23|KC_F24|KC_A|KC_B|KC_C|KC_D|KC_E|KC_F|
|KC_G|KC_H|KC_I|KC_J|KC_K|KC_L|KC_M|KC_N|
|KC_O|KC_P|KC_Q|KC_R|KC_S|KC_T|KC_U|KC_V|
|KC_W|KC_X|KC_Y|KC_Z|||||
2017-02-17 04:58:44 +06:00
2017-02-17 05:34:53 +06:00
## Punctuation
2017-02-17 04:58:44 +06:00
|Long Name|Short Name|Description|
|---------|----------|-----------|
2017-02-17 05:34:53 +06:00
|KC_ENTER|KC_ENT|Return (ENTER)|
|KC_ESCAPE|KC_ESC|ESCAPE|
|KC_BSPACE|KC_BSPC|DELETE (Backspace)|
|KC_TAB||Tab|
|KC_SPACE|KC_SPC|Spacebar|
|KC_MINUS|KC_MINS|- and (underscore)|
|KC_EQUAL|KC_EQL|= and +|
|KC_LBRACKET|KC_LBRC|[ and {|
|KC_RBRACKET|KC_RBRC|] and }|
|KC_BSLASH|KC_BSLS|\\ and \||
|KC_NONUS_HASH|KC_NUHS|Non-US # and ~|
|KC_NONUS_BSLASH|KC_NUBS|Non-US \ and |
|KC_INT1|KC_RO|JIS \\ and \||
|KC_INT2|KC_KANA|International216|
|KC_INT3|KC_JYEN|Yen Symbol (¥)|
|KC_SCOLON|KC_SCLN|; and :|
|KC_QUOTE|KC_QUOT|‘ and “|
|KC_GRAVE|KC_GRV|Grave Accent and Tilde|
|KC_COMMA|KC_COMM|, and < |
|KC_DOT||. and >|
|KC_SLASH|KC_SLSH|/ and ?|
|KC_CAPSLOCK|KC_CAPS|Caps Lock|
## Modifiers
|Long Name|Short Name|Description|
|---------|----------|-----------|
|KC_LCTRL|KC_LCTL|LeftControl|
|KC_LSHIFT|KC_LSFT|LeftShift|
|KC_LALT||LeftAlt|
|KC_LGUI||Left GUI(Windows/Apple/Meta key)|
|KC_RCTRL|KC_RCTL|RightControl|
|KC_RSHIFT|KC_RSFT|RightShift|
|KC_RALT||RightAlt|
|KC_RGUI||Right GUI(Windows/Apple/Meta key)|
2017-02-17 05:40:49 +06:00
|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|
2017-02-17 05:34:53 +06:00
## Commands
|Long Name|Short Name|Description|
|---------|----------|-----------|
|KC_PSCREEN|KC_PSCR|PrintScreen1|
|KC_SCKLOCK|KC_SLCK|Scroll Lock11|
|KC_PAUSE|KC_PAUS|Pause1|
|KC_INSERT|KC_INS|Insert1|
|KC_HOME||Home1|
|KC_PGUP||PageUp1|
|KC_DELETE|KC_DEL|Delete Forward|
|KC_END||End1|
|KC_PGDOWN|KC_PGDN|PageDown1|
|KC_RIGHT|KC_RGHT|RightArrow1|
|KC_LEFT||LeftArrow1|
|KC_DOWN||DownArrow1|
|KC_UP||UpArrow1|
|KC_APPLICATION|KC_APP|Application10|
|KC_POWER||Power9|
|KC_EXECUTE||Execute|
|KC_HELP||Help|
|KC_MENU||Menu|
|KC_SELECT||Select|
|KC_STOP||Stop|
|KC_AGAIN||Again|
|KC_UNDO||Undo|
|KC_CUT||Cut|
|KC_COPY||Copy|
|KC_PASTE||Paste|
|KC_FIND||Find|
|KC__MUTE||Mute|
|KC__VOLUP||Volume Up|
|KC__VOLDOWN||Volume Down|
|KC_ALT_ERASE||Alternate Erase7|
|KC_SYSREQ||SysReq/Attention1|
|KC_CANCEL||Cancel|
|KC_CLEAR||Clear|
|KC_PRIOR||Prior|
|KC_RETURN||Return|
|KC_SEPARATOR||Separator|
|KC_OUT||Out|
|KC_OPER||Oper|
|KC_CLEAR_AGAIN||Clear/Again|
|KC_CRSEL||CrSel/Props|
|KC_EXSEL||ExSel|
|KC_SYSTEM_POWER|KC_PWR|System Power Down|
|KC_SYSTEM_SLEEP|KC_SLEP|System Sleep|
|KC_SYSTEM_WAKE|KC_WAKE|System Wake|
|KC_AUDIO_MUTE|KC_MUTE||
|KC_AUDIO_VOL_UP|KC_VOLU||
|KC_AUDIO_VOL_DOWN|KC_VOLD||
|KC_MEDIA_NEXT_TRACK|KC_MNXT||
|KC_MEDIA_PREV_TRACK|KC_MPRV||
2017-03-17 16:44:29 +06:00
|KC_MEDIA_FAST_FORWARD|KC_MFFD||
|KC_MEDIA_REWIND|KC_MRWD||
2017-02-17 05:34:53 +06:00
|KC_MEDIA_STOP|KC_MSTP||
|KC_MEDIA_PLAY_PAUSE|KC_MPLY||
|KC_MEDIA_SELECT|KC_MSEL||
|KC_MAIL|KC_MAIL||
|KC_CALCULATOR|KC_CALC||
|KC_MY_COMPUTER|KC_MYCM||
|KC_WWW_SEARCH|KC_WSCH||
|KC_WWW_HOME|KC_WHOM||
|KC_WWW_BACK|KC_WBAK||
|KC_WWW_FORWARD|KC_WFWD||
|KC_WWW_STOP|KC_WSTP||
|KC_WWW_REFRESH|KC_WREF||
|KC_WWW_FAVORITES|KC_WFAV||
## Numpad
|Long Name|Short Name|Description|
|---------|----------|-----------|
|KC_NUMLOCK|KC_NLCK|Keypad Num Lock and Clear11|
|KC_KP_SLASH|KC_PSLS|Keypad /|
|KC_KP_ASTERISK|KC_PAST|Keypad *|
|KC_KP_MINUS|KC_PMNS|Keypad -|
|KC_KP_PLUS|KC_PPLS|Keypad +|
|KC_KP_ENTER|KC_PENT|Keypad ENTER5|
|KC_KP_1|KC_P1|Keypad 1 and End|
|KC_KP_2|KC_P2|Keypad 2 and Down Arrow|
|KC_KP_3|KC_P3|Keypad 3 and PageDn|
|KC_KP_4|KC_P4|Keypad 4 and Left Arrow|
|KC_KP_5|KC_P5|Keypad 5|
|KC_KP_6|KC_P6|Keypad 6 and Right Arrow|
|KC_KP_7|KC_P7|Keypad 7 and Home|
|KC_KP_8|KC_P8|Keypad 8 and Up Arrow|
|KC_KP_9|KC_P9|Keypad 9 and PageUp|
|KC_KP_0|KC_P0|Keypad 0 and Insert|
|KC_KP_DOT|KC_PDOT|Keypad . and Delete|
|KC_KP_EQUAL|KC_PEQL|Keypad =|
|KC_KP_COMMA|KC_PCMM|Keypad Comma27|
|KC_KP_EQUAL_AS400||Keypad Equal Sign29|
## Special Keys
|Long Name|Short Name|Description|
|---------|----------|-----------|
|KC_NO||Ignore this key. (NOOP) |
## Mousekey
|Long Name|Short Name|Description|
|---------|----------|-----------|
|KC_MS_UP|KC_MS_U|Mouse Cursor Up|
|KC_MS_DOWN|KC_MS_D|Mouse Cursor Down|
|KC_MS_LEFT|KC_MS_L|Mouse Cursor Left|
|KC_MS_RIGHT|KC_MS_R|Mouse Cursor Right|
|KC_MS_BTN1|KC_BTN1|Mouse Button 1|
|KC_MS_BTN2|KC_BTN2|Mouse Button 2|
|KC_MS_BTN3|KC_BTN3|Mouse Button 3|
|KC_MS_BTN4|KC_BTN4|Mouse Button 4|
|KC_MS_BTN5|KC_BTN5|Mouse Button 5|
|KC_MS_WH_UP|KC_WH_U|Mouse Wheel Up|
|KC_MS_WH_DOWN|KC_WH_D|Mouse Wheel Down|
|KC_MS_WH_LEFT|KC_WH_L|Mouse Wheel Left|
|KC_MS_WH_RIGHT|KC_WH_R|Mouse Wheel Right|
|KC_MS_ACCEL0|KC_ACL0|Mouse Acceleration 0|
|KC_MS_ACCEL1|KC_ACL1|Mouse Acceleration 1|
|KC_MS_ACCEL2|KC_ACL2|Mouse Acceleration 2|