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 | aandA | 
| KC_B | bandB | 
| KC_C | candC | 
| KC_D | dandD | 
| KC_E | eandE | 
| KC_F | fandF | 
| KC_G | gandG | 
| KC_H | handH | 
| KC_I | iandI | 
| KC_J | jandJ | 
| KC_K | kandK | 
| KC_L | landL | 
| KC_M | mandM | 
| KC_N | nandN | 
| KC_O | oandO | 
| KC_P | pandP | 
| KC_Q | qandQ | 
| KC_R | randR | 
| KC_S | sandS | 
| KC_T | tandT | 
| KC_U | uandU | 
| KC_V | vandV | 
| KC_W | wandW | 
| KC_X | xandX | 
| KC_Y | yandY | 
| KC_Z | zandZ | 
| KC_1 | 1and! | 
| KC_2 | 2and@ | 
| KC_3 | 3and# | 
| KC_4 | 4and$ | 
| KC_5 | 5and% | 
| KC_6 | 6and^ | 
| KC_7 | 7and& | 
| KC_8 | 8and* | 
| KC_9 | 9and( | 
| KC_0 | 0and) | 
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_BACKSPACE | KC_BSPC | Delete (Backspace) | 
| KC_TAB |  | Tab | 
| KC_SPACE | KC_SPC | Spacebar | 
| KC_MINUS | KC_MINS | -and_ | 
| KC_EQUAL | KC_EQL | =and+ | 
| KC_LEFT_BRACKET | KC_LBRC | [and{ | 
| KC_RIGHT_BRACKET | KC_RBRC | ]and} | 
| KC_BACKSLASH | KC_BSLS | \and| | 
| KC_NONUS_HASH | KC_NUHS | Non-US #and~ | 
| KC_SEMICOLON | KC_SCLN | ;and: | 
| KC_QUOTE | KC_QUOT | 'and" | 
| KC_GRAVE | KC_GRV | `and~ | 
| KC_COMMA | KC_COMM | ,and< | 
| KC_DOT |  | .and> | 
| KC_SLASH | KC_SLSH | /and? | 
| KC_NONUS_BACKSLASH | KC_NUBS | Non-US \and| | 
Lock Keys
| Key | Aliases | Description | 
| KC_CAPS_LOCK | KC_CAPS | Caps Lock | 
| KC_SCROLL_LOCK | KC_SCRL,KC_BRMD | Scroll Lock, Brightness Down (macOS) | 
| KC_NUM_LOCK | KC_NUM | Keypad Num Lock and Clear | 
| KC_LOCKING_CAPS_LOCK | KC_LCAP | Locking Caps Lock | 
| KC_LOCKING_NUM_LOCK | KC_LNUM | Locking Num Lock | 
| KC_LOCKING_SCROLL_LOCK | KC_LSCR | Locking Scroll Lock | 
Modifiers
| Key | Aliases | Description | 
| KC_LEFT_CTRL | KC_LCTL | Left Control | 
| KC_LEFT_SHIFT | KC_LSFT | Left Shift | 
| KC_LEFT_ALT | KC_LALT,KC_LOPT | Left Alt (Option) | 
| KC_LEFT_GUI | KC_LGUI,KC_LCMD,KC_LWIN | Left GUI (Windows/Command/Super key) | 
| KC_RIGHT_CTRL | KC_RCTL | Right Control | 
| KC_RIGHT_SHIFT | KC_RSFT | Right Shift | 
| KC_RIGHT_ALT | KC_RALT,KC_ROPT,KC_ALGR | Right Alt (Option/AltGr) | 
| KC_RIGHT_GUI | KC_RGUI,KC_RCMD,KC_RWIN | Right GUI (Windows/Command/Super key) | 
International
| Key | Aliases | Description | 
| KC_INTERNATIONAL_1 | KC_INT1 | JIS \and_ | 
| KC_INTERNATIONAL_2 | KC_INT2 | JIS Katakana/Hiragana | 
| KC_INTERNATIONAL_3 | KC_INT3 | JIS ¥and| | 
| KC_INTERNATIONAL_4 | KC_INT4 | JIS Henkan | 
| KC_INTERNATIONAL_5 | KC_INT5 | JIS Muhenkan | 
| KC_INTERNATIONAL_6 | KC_INT6 | JIS Numpad , | 
| KC_INTERNATIONAL_7 | KC_INT7 | International 7 | 
| KC_INTERNATIONAL_8 | KC_INT8 | International 8 | 
| KC_INTERNATIONAL_9 | KC_INT9 | International 9 | 
| KC_LANGUAGE_1 | KC_LNG1 | Hangul/English | 
| KC_LANGUAGE_2 | KC_LNG2 | Hanja | 
| KC_LANGUAGE_3 | KC_LNG3 | JIS Katakana | 
| KC_LANGUAGE_4 | KC_LNG4 | JIS Hiragana | 
| KC_LANGUAGE_5 | KC_LNG5 | JIS Zenkaku/Hankaku | 
| KC_LANGUAGE_6 | KC_LNG6 | Language 6 | 
| KC_LANGUAGE_7 | KC_LNG7 | Language 7 | 
| KC_LANGUAGE_8 | KC_LNG8 | Language 8 | 
| KC_LANGUAGE_9 | KC_LNG9 | Language 9 | 
Commands
| Key | Aliases | Description | 
| KC_PRINT_SCREEN | 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_PAGE_UP | KC_PGUP | Page Up | 
| KC_DELETE | KC_DEL | Forward Delete | 
| KC_END |  | End | 
| KC_PAGE_DOWN | 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 Context Menu Key) | 
| KC_KB_POWER |  | System Power | 
| 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_KB_MUTE |  | Mute | 
| KC_KB_VOLUME_UP |  | Volume Up | 
| KC_KB_VOLUME_DOWN |  | Volume Down | 
| KC_ALTERNATE_ERASE | KC_ERAS | Alternate Erase | 
| KC_SYSTEM_REQUEST | KC_SYRQ | SysReq/Attention | 
| KC_CANCEL | KC_CNCL | Cancel | 
| KC_CLEAR | KC_CLR | Clear | 
| KC_PRIOR | KC_PRIR | Prior | 
| KC_RETURN | KC_RETN | Return | 
| KC_SEPARATOR | KC_SEPR | Separator | 
| KC_OUT |  | Out | 
| KC_OPER |  | Oper | 
| KC_CLEAR_AGAIN | KC_CLAG | Clear/Again | 
| KC_CRSEL | KC_CRSL | CrSel/Props | 
| KC_EXSEL | KC_EXSL | 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.
::: tip
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 | 
| KC_MEDIA_PLAY_PAUSE | KC_MPLY | Play/Pause Track | 
| KC_MEDIA_SELECT | KC_MSEL | Launch Media Player | 
| KC_MEDIA_EJECT | KC_EJCT | Eject | 
| KC_MAIL |  | Launch Mail | 
| KC_CALCULATOR | KC_CALC | Launch Calculator | 
| KC_MY_COMPUTER | KC_MYCM | Launch My Computer | 
| KC_WWW_SEARCH | KC_WSCH | Browser Search | 
| KC_WWW_HOME | KC_WHOM | Browser Home | 
| KC_WWW_BACK | KC_WBAK | Browser Back | 
| KC_WWW_FORWARD | KC_WFWD | Browser Forward | 
| KC_WWW_STOP | KC_WSTP | Browser Stop | 
| KC_WWW_REFRESH | KC_WREF | Browser Refresh | 
| KC_WWW_FAVORITES | KC_WFAV | Browser Favorites | 
| KC_MEDIA_FAST_FORWARD | KC_MFFD | Next Track | 
| KC_MEDIA_REWIND | KC_MRWD | Previous Track | 
| KC_BRIGHTNESS_UP | KC_BRIU | Brightness Up | 
| KC_BRIGHTNESS_DOWN | KC_BRID | Brightness Down | 
| KC_CONTROL_PANEL | KC_CPNL | Open Control Panel | 
| KC_ASSISTANT | KC_ASST | Launch Assistant | 
| KC_MISSION_CONTROL | KC_MCTL | Open Mission Control | 
| KC_LAUNCHPAD | KC_LPAD | Open Launchpad | 
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 1and End | 
| KC_KP_2 | KC_P2 | Keypad 2and Down Arrow | 
| KC_KP_3 | KC_P3 | Keypad 3and Page Down | 
| KC_KP_4 | KC_P4 | Keypad 4and Left Arrow | 
| KC_KP_5 | KC_P5 | Keypad 5 | 
| KC_KP_6 | KC_P6 | Keypad 6and Right Arrow | 
| KC_KP_7 | KC_P7 | Keypad 7and Home | 
| KC_KP_8 | KC_P8 | Keypad 8and Up Arrow | 
| KC_KP_9 | KC_P9 | Keypad 9and Page Up | 
| KC_KP_0 | KC_P0 | Keypad 0and 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.
| Key | Aliases | Description | 
| KC_NO | XXXXXXX | Ignore this key (NOOP) | 
| KC_TRANSPARENT | KC_TRNS,_______ | Use the next lowest non-transparent key |