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
Left Alt
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_ALGR
Right Alt (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.
Windows and macOS use different keycodes for "next track" and "previous track". Make sure you choose the keycode that corresponds to your OS.
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 (Windows)
KC_MEDIA_PREV_TRACK
KC_MPRV
Previous Track (Windows)
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.