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 |