Basic Keycodes
The basic set of keycodes are based on the HID Keyboard/Keypad Usage Page (0x07) with the exception of KC_NO, KC_TRNS and keycodes in the 0xA5-DF range. See below for more details.
Letters and Numbers
| Key | 
Description | 
KC_A | 
a and A | 
KC_B | 
b and B | 
KC_C | 
c and C | 
KC_D | 
d and D | 
KC_E | 
e and E | 
KC_F | 
f and F | 
KC_G | 
g and G | 
KC_H | 
h and H | 
KC_I | 
i and I | 
KC_J | 
j and J | 
KC_K | 
k and K | 
KC_L | 
l and L | 
KC_M | 
m and M | 
KC_N | 
n and N | 
KC_O | 
o and O | 
KC_P | 
p and P | 
KC_Q | 
q and Q | 
KC_R | 
r and R | 
KC_S | 
s and S | 
KC_T | 
t and T | 
KC_U | 
u and U | 
KC_V | 
v and V | 
KC_W | 
w and W | 
KC_X | 
x and X | 
KC_Y | 
y and Y | 
KC_Z | 
z and Z | 
KC_1 | 
1 and ! | 
KC_2 | 
2 and @ | 
KC_3 | 
3 and # | 
KC_4 | 
4 and $ | 
KC_5 | 
5 and % | 
KC_6 | 
6 and ^ | 
KC_7 | 
7 and & | 
KC_8 | 
8 and * | 
KC_9 | 
9 and ( | 
KC_0 | 
0 and ) | 
F Keys
| Key | 
Description | 
KC_F1 | 
F1 | 
KC_F2 | 
F2 | 
KC_F3 | 
F3 | 
KC_F4 | 
F4 | 
KC_F5 | 
F5 | 
KC_F6 | 
F6 | 
KC_F7 | 
F7 | 
KC_F8 | 
F8 | 
KC_F9 | 
F9 | 
KC_F10 | 
F10 | 
KC_F11 | 
F11 | 
KC_F12 | 
F12 | 
KC_F13 | 
F13 | 
KC_F14 | 
F14 | 
KC_F15 | 
F15 | 
KC_F16 | 
F16 | 
KC_F17 | 
F17 | 
KC_F18 | 
F18 | 
KC_F19 | 
F19 | 
KC_F20 | 
F20 | 
KC_F21 | 
F21 | 
KC_F22 | 
F22 | 
KC_F23 | 
F23 | 
KC_F24 | 
F24 | 
Punctuation
| Key | 
Aliases | 
Description | 
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 _ | 
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_SCOLON | 
KC_SCLN | 
; and : | 
KC_QUOTE | 
KC_QUOT | 
' and " | 
KC_GRAVE | 
KC_GRV, KC_ZKHK | 
` and ~, JIS Zenkaku/Hankaku | 
KC_COMMA | 
KC_COMM | 
, and < | 
KC_DOT | 
 | 
. and > | 
KC_SLASH | 
KC_SLSH | 
/ and ? | 
KC_NONUS_BSLASH | 
KC_NUBS | 
Non-US \ and | | 
Lock Keys
| Key | 
Aliases | 
Description | 
KC_CAPSLOCK | 
KC_CLCK, KC_CAPS | 
Caps Lock | 
KC_SCROLLLOCK | 
KC_SLCK, KC_BRMD | 
Scroll Lock, Brightness Down (macOS) | 
KC_NUMLOCK | 
KC_NLCK | 
Keypad Num Lock and Clear | 
KC_LOCKING_CAPS | 
KC_LCAP | 
Locking Caps Lock | 
KC_LOCKING_NUM | 
KC_LNUM | 
Locking Num Lock | 
KC_LOCKING_SCROLL | 
KC_LSCR | 
Locking Scroll Lock | 
Modifiers
| Key | 
Aliases | 
Description | 
KC_LCTRL | 
KC_LCTL | 
Left Control | 
KC_LSHIFT | 
KC_LSFT | 
Left Shift | 
KC_LALT | 
KC_LOPT | 
Left Alt (Option) | 
KC_LGUI | 
KC_LCMD, KC_LWIN | 
Left GUI (Windows/Command/Meta key) | 
KC_RCTRL | 
KC_RCTL | 
Right Control | 
KC_RSHIFT | 
KC_RSFT | 
Right Shift | 
KC_RALT | 
KC_ROPT, KC_ALGR | 
Right Alt (Option/AltGr) | 
KC_RGUI | 
KC_RCMD, KC_RWIN | 
Right GUI (Windows/Command/Meta key) | 
International
| Key | 
Aliases | 
Description | 
KC_INT1 | 
KC_RO | 
JIS \ and _ | 
KC_INT2 | 
KC_KANA | 
JIS Katakana/Hiragana | 
KC_INT3 | 
KC_JYEN | 
JIS ¥ and | | 
KC_INT4 | 
KC_HENK | 
JIS Henkan | 
KC_INT5 | 
KC_MHEN | 
JIS Muhenkan | 
KC_INT6 | 
 | 
JIS Numpad , | 
KC_INT7 | 
 | 
International 7 | 
KC_INT8 | 
 | 
International 8 | 
KC_INT9 | 
 | 
International 9 | 
KC_LANG1 | 
KC_HAEN | 
Hangul/English | 
KC_LANG2 | 
KC_HANJ | 
Hanja | 
KC_LANG3 | 
 | 
JIS Katakana | 
KC_LANG4 | 
 | 
JIS Hiragana | 
KC_LANG5 | 
 | 
JIS Zenkaku/Hankaku | 
KC_LANG6 | 
 | 
Language 6 | 
KC_LANG7 | 
 | 
Language 7 | 
KC_LANG8 | 
 | 
Language 8 | 
KC_LANG9 | 
 | 
Language 9 | 
Commands
| Key | 
Aliases | 
Description | 
KC_PSCREEN | 
KC_PSCR | 
Print Screen | 
KC_PAUSE | 
KC_PAUS, KC_BRK, KC_BRMU | 
Pause, Brightness Up (macOS) | 
KC_INSERT | 
KC_INS | 
Insert | 
KC_HOME | 
 | 
Home | 
KC_PGUP | 
 | 
Page Up | 
KC_DELETE | 
KC_DEL | 
Forward Delete | 
KC_END | 
 | 
End | 
KC_PGDOWN | 
KC_PGDN | 
Page Down | 
KC_RIGHT | 
KC_RGHT | 
Right Arrow | 
KC_LEFT | 
 | 
Left Arrow | 
KC_DOWN | 
 | 
Down Arrow | 
KC_UP | 
 | 
Up Arrow | 
KC_APPLICATION | 
KC_APP | 
Application (Windows Menu Key) | 
KC_POWER | 
 | 
System Power (macOS/Linux) | 
KC_EXECUTE | 
KC_EXEC | 
Execute | 
KC_HELP | 
 | 
Help | 
KC_MENU | 
 | 
Menu | 
KC_SELECT | 
KC_SLCT | 
Select | 
KC_STOP | 
 | 
Stop | 
KC_AGAIN | 
KC_AGIN | 
Again | 
KC_UNDO | 
 | 
Undo | 
KC_CUT | 
 | 
Cut | 
KC_COPY | 
 | 
Copy | 
KC_PASTE | 
KC_PSTE | 
Paste | 
KC_FIND | 
 | 
Find | 
KC__MUTE | 
 | 
Mute (macOS) | 
KC__VOLUP | 
 | 
Volume Up (macOS) | 
KC__VOLDOWN | 
 | 
Volume Down (macOS) | 
KC_ALT_ERASE | 
KC_ERAS | 
Alternate Erase | 
KC_SYSREQ | 
 | 
SysReq/Attention | 
KC_CANCEL | 
 | 
Cancel | 
KC_CLEAR | 
KC_CLR | 
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 | 
Media Keys
These keycodes are not part of the Keyboard/Keypad usage page. The SYSTEM_ keycodes are found in the Generic Desktop page, and the rest are located in the Consumer page.
?> Some of these keycodes may behave differently depending on the OS. For example, on macOS, the keycodes KC_MEDIA_FAST_FORWARD, KC_MEDIA_REWIND, KC_MEDIA_NEXT_TRACK and KC_MEDIA_PREV_TRACK skip within the current track when held, but skip the entire track when tapped.
| Key | 
Aliases | 
Description | 
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 | 
Mute | 
KC_AUDIO_VOL_UP | 
KC_VOLU | 
Volume Up | 
KC_AUDIO_VOL_DOWN | 
KC_VOLD | 
Volume Down | 
KC_MEDIA_NEXT_TRACK | 
KC_MNXT | 
Next Track | 
KC_MEDIA_PREV_TRACK | 
KC_MPRV | 
Previous Track | 
KC_MEDIA_STOP | 
KC_MSTP | 
Stop Track (Windows) | 
KC_MEDIA_PLAY_PAUSE | 
KC_MPLY | 
Play/Pause Track | 
KC_MEDIA_SELECT | 
KC_MSEL | 
Launch Media Player (Windows) | 
KC_MEDIA_EJECT | 
KC_EJCT | 
Eject (macOS) | 
KC_MAIL | 
 | 
Launch Mail (Windows) | 
KC_CALCULATOR | 
KC_CALC | 
Launch Calculator (Windows) | 
KC_MY_COMPUTER | 
KC_MYCM | 
Launch My Computer (Windows) | 
KC_WWW_SEARCH | 
KC_WSCH | 
Browser Search (Windows) | 
KC_WWW_HOME | 
KC_WHOM | 
Browser Home (Windows) | 
KC_WWW_BACK | 
KC_WBAK | 
Browser Back (Windows) | 
KC_WWW_FORWARD | 
KC_WFWD | 
Browser Forward (Windows) | 
KC_WWW_STOP | 
KC_WSTP | 
Browser Stop (Windows) | 
KC_WWW_REFRESH | 
KC_WREF | 
Browser Refresh (Windows) | 
KC_WWW_FAVORITES | 
KC_WFAV | 
Browser Favorites (Windows) | 
KC_MEDIA_FAST_FORWARD | 
KC_MFFD | 
Next Track (macOS) | 
KC_MEDIA_REWIND | 
KC_MRWD | 
Previous Track (macOS) | 
KC_BRIGHTNESS_UP | 
KC_BRIU | 
Brightness Up | 
KC_BRIGHTNESS_DOWN | 
KC_BRID | 
Brightness Down | 
Number Pad
| Key | 
Aliases | 
Description | 
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 Enter | 
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 Page Down | 
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 Page Up | 
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 , | 
KC_KP_EQUAL_AS400 | 
 | 
Keypad = on AS/400 keyboards | 
Special Keys
In addition to these, keycodes in the range of 0xA5-DF are reserved for internal use by TMK.
| Key | 
Aliases | 
Description | 
KC_NO | 
XXXXXXX | 
Ignore this key (NOOP) | 
KC_TRANSPARENT | 
KC_TRNS, _______ | 
Use the next lowest non-transparent key |