keycodes_basic.md
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_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/Meta 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/Meta 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 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.
|Key |Aliases |Description |
|----------------|--------------------|---------------------------------------|
|KC_NO |XXXXXXX |Ignore this key (NOOP) |
|KC_TRANSPARENT|KC_TRNS, _______|Use the next lowest non-transparent key|