6590f3c811
* Clean up SEND_STRING keycodes and add media keys * Remove stray define * Add missing SEND_STRING keycodes for completeness Also, add KC_EJCT to the keycode references
232 lines
11 KiB
Markdown
232 lines
11 KiB
Markdown
# Basic Keycodes
|
|
|
|
The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07)](http://www.usb.org/developers/hidpage/Hut1_12v2.pdf) 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` | |
|
|
|`KC_F2` | |
|
|
|`KC_F3` | |
|
|
|`KC_F4` | |
|
|
|`KC_F5` | |
|
|
|`KC_F6` | |
|
|
|`KC_F7` | |
|
|
|`KC_F8` | |
|
|
|`KC_F9` | |
|
|
|`KC_F10`| |
|
|
|`KC_F11`| |
|
|
|`KC_F12`| |
|
|
|`KC_F13`| |
|
|
|`KC_F14`| |
|
|
|`KC_F15`| |
|
|
|`KC_F16`| |
|
|
|`KC_F17`| |
|
|
|`KC_F18`| |
|
|
|`KC_F19`| |
|
|
|`KC_F20`| |
|
|
|`KC_F21`| |
|
|
|`KC_F22`| |
|
|
|`KC_F23`| |
|
|
|`KC_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 <code>|</code> |
|
|
|`KC_NONUS_HASH` |`KC_NUHS`|Non-US `#` and `~` |
|
|
|`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>|</code>|
|
|
|`KC_INT1` |`KC_RO` |JIS `\` and <code>|</code> |
|
|
|`KC_INT2` |`KC_KANA`|JIS Katakana/Hiragana |
|
|
|`KC_INT3` |`KC_JYEN`|JIS `¥` |
|
|
|`KC_SCOLON` |`KC_SCLN`|`;` and `:` |
|
|
|`KC_QUOTE` |`KC_QUOT`|`'` and `"` |
|
|
|`KC_GRAVE` |`KC_GRV` |<code>`</code> and `~` |
|
|
|`KC_COMMA` |`KC_COMM`|`,` and `<` |
|
|
|`KC_DOT` | |`.` and `>` |
|
|
|`KC_SLASH` |`KC_SLSH`|`/` and `?` |
|
|
|`KC_CAPSLOCK` |`KC_CAPS`|Caps 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` | |Right Alt |
|
|
|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)|
|
|
|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
|
|
|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
|
|
|`KC_LOCKING_SCROLL`|`KC_LSCR` |Locking Scroll Lock |
|
|
|`KC_INT4` |`KC_HENK` |JIS Henkan |
|
|
|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
|
|
|
|
## Commands
|
|
|
|
|Key |Aliases |Description |
|
|
|------------------|---------|------------------------------|
|
|
|`KC_PSCREEN` |`KC_PSCR`|Print Screen |
|
|
|`KC_SCROLLLOCK` |`KC_SLCK`|Scroll Lock |
|
|
|`KC_PAUSE` |`KC_PAUS`|Pause |
|
|
|`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` | |Power |
|
|
|`KC_EXECUTE` | |Execute |
|
|
|`KC_HELP` | |Help |
|
|
|`KC_MENU` | |Menu |
|
|
|`KC_SELECT` | |Select |
|
|
|`KC_AGAIN` | |Again |
|
|
|`KC_UNDO` | |Undo |
|
|
|`KC_CUT` | |Cut |
|
|
|`KC_COPY` | |Copy |
|
|
|`KC_PASTE` | |Paste |
|
|
|`KC_FIND` | |Find |
|
|
|`KC_ALT_ERASE` | |Alternate Erase |
|
|
|`KC_SYSREQ` | |SysReq/Attention |
|
|
|`KC_CANCEL` | |Cancel |
|
|
|`KC_CLEAR` | |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_MAIL` |`KC_MAIL`| |
|
|
|`KC_CALCULATOR` |`KC_CALC`| |
|
|
|`KC_MY_COMPUTER` |`KC_MYCM`| |
|
|
|`KC_WWW_SEARCH` |`KC_WSCH`| |
|
|
|`KC_WWW_HOME` |`KC_WHOM`| |
|
|
|`KC_WWW_BACK` |`KC_WBAK`| |
|
|
|`KC_WWW_FORWARD` |`KC_WFWD`| |
|
|
|`KC_WWW_STOP` |`KC_WSTP`| |
|
|
|`KC_WWW_REFRESH` |`KC_WREF`| |
|
|
|`KC_STOP` | |Stop |
|
|
|`KC_WWW_FAVORITES` |`KC_WFAV`| |
|
|
|`KC__MUTE` | |Mute (macOS) |
|
|
|`KC__VOLUP` | |Volume Up (macOS) |
|
|
|`KC__VOLDOWN` | |Volume Down (macOS) |
|
|
|`KC_AUDIO_MUTE` |`KC_MUTE`|Mute (Windows/macOS/Linux) |
|
|
|`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up (Windows/macOS/Linux) |
|
|
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down (Windows/macOS/Linux)|
|
|
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track (Windows) |
|
|
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track (Windows) |
|
|
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) |
|
|
|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) |
|
|
|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track |
|
|
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|
|
|`KC_MEDIA_SELECT` |`KC_MSEL`| |
|
|
|`KC_MEDIA_EJECT` |`KC_EJCT`|Eject (macOS) |
|
|
|
|
## Number Pad
|
|
|
|
|Key |Aliases |Description |
|
|
|-------------------|---------|------------------------------|
|
|
|`KC_NUMLOCK` |`KC_NLCK`|Keypad Num Lock and Clear |
|
|
|`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` | |Ignore this key (NOOP) |
|
|
|`KC_TRANSPARENT`|`KC_TRNS`|Use the next lowest non-transparent key|
|