Skip to content

Keycode

tmk edited this page Jun 6, 2017 · 10 revisions

Keycode Symbol Table

Keycodes are defined in tmk_core/common/keycode.h.

Range of 00-A4 and E0-E7 are identical to HID Usage of Keyboard/Keypad Page(0x07): http://www.usb.org/developers/hidpage/Hut1_12v2.pdf

Virtual keycodes are defined out of above range to support special actions.

Keycode Symbol      Short name      Description
--------------------------------------------------------------------------------
KC_NO                               00 Reserved (no event indicated)
KC_ROLL_OVER                        01 Keyboard ErrorRollOver
KC_POST_FAIL                        02 Keyboard POSTFail
KC_UNDEFINED                        03 Keyboard ErrorUndefined
KC_A                                04 Keyboard a and A
KC_B                                05 Keyboard b and B
KC_C                                06 Keyboard c and C
KC_D                                07 Keyboard d and D
KC_E                                08 Keyboard e and E
KC_F                                09 Keyboard f and F
KC_G                                0A Keyboard g and G
KC_H                                0B Keyboard h and H
KC_I                                0C Keyboard i and I
KC_J                                0D Keyboard j and J
KC_K                                0E Keyboard k and K
KC_L                                0F Keyboard l and L
KC_M                                10 Keyboard m and M
KC_N                                11 Keyboard n and N
KC_O                                12 Keyboard o and O
KC_P                                13 Keyboard p and P
KC_Q                                14 Keyboard q and Q
KC_R                                15 Keyboard r and R
KC_S                                16 Keyboard s and S
KC_T                                17 Keyboard t and T
KC_U                                18 Keyboard u and U
KC_V                                19 Keyboard v and V
KC_W                                1A Keyboard w and W
KC_X                                1B Keyboard x and X
KC_Y                                1C Keyboard y and Y
KC_Z                                1D Keyboard z and Z
KC_1                                1E Keyboard 1 and !
KC_2                                1F Keyboard 2 and @
KC_3                                20 Keyboard 3 and #
KC_4                                21 Keyboard 4 and $
KC_5                                22 Keyboard 5 and %
KC_6                                23 Keyboard 6 and ^
KC_7                                24 Keyboard 7 and &
KC_8                                25 Keyboard 8 and *
KC_9                                26 Keyboard 9 and (
KC_0                                27 Keyboard 0 and )
KC_ENTER            KC_ENT          28 Keyboard Return (ENTER)
KC_ESCAPE           KC_ESC          29 Keyboard ESCAPE
KC_BSPACE           KC_BSPC         2A Keyboard DELETE (Backspace)
KC_TAB                              2B Keyboard Tab
KC_SPACE            KC_SPC          2C Keyboard Spacebar
KC_MINUS            KC_MINS         2D Keyboard - and (underscore)
KC_EQUAL            KC_EQL          2E Keyboard = and +
KC_LBRACKET         KC_LBRC         2F Keyboard [ and {
KC_RBRACKET         KC_RBRC         30 Keyboard ] and }
KC_BSLASH           KC_BSLS         31 Keyboard \ and |
KC_NONUS_HASH       KC_NUHS         32 Keyboard Non-US # and ~
KC_SCOLON           KC_SCLN         33 Keyboard ; and :
KC_QUOTE            KC_QUOT         34 Keyboard ‘ and “
KC_GRAVE            KC_GRV          35 Keyboard Grave Accent and Tilde
KC_COMMA            KC_COMM         36 Keyboard, and <
KC_DOT                              37 Keyboard . and >
KC_SLASH            KC_SLSH         38 Keyboard / and ?
KC_CAPSLOCK         KC_CAPS         39 Keyboard Caps Lock
KC_F1                               3A Keyboard F1
KC_F2                               3B Keyboard F2
KC_F3                               3C Keyboard F3
KC_F4                               3D Keyboard F4
KC_F5                               3E Keyboard F5
KC_F6                               3F Keyboard F6
KC_F7                               40 Keyboard F7
KC_F8                               41 Keyboard F8
KC_F9                               42 Keyboard F9
KC_F10                              43 Keyboard F10
KC_F11                              44 Keyboard F11
KC_F12                              45 Keyboard F12
KC_PSCREEN          KC_PSCR         46 Keyboard PrintScreen1
KC_SCKLOCK          KC_SLCK         47 Keyboard Scroll Lock11
KC_PAUSE            KC_PAUS         48 Keyboard Pause1
KC_INSERT           KC_INS          49 Keyboard Insert1
KC_HOME                             4A Keyboard Home1
KC_PGUP                             4B Keyboard PageUp1
KC_DELETE           KC_DELETE       4C Keyboard Delete Forward
KC_END                              4D Keyboard End1
KC_PGDOWN           KC_PGDN         4E Keyboard PageDown1
KC_RIGHT            KC_RGHT         4F Keyboard RightArrow1
KC_LEFT                             50 Keyboard LeftArrow1
KC_DOWN                             51 Keyboard DownArrow1
KC_UP                               52 Keyboard UpArrow1
KC_NUMLOCK          KC_NLCK         53 Keypad Num Lock and Clear11
KC_KP_SLASH         KC_PSLS         54 Keypad /1
KC_KP_ASTERISK      KC_PAST         55 Keypad *
KC_KP_MINUS         KC_PMNS         56 Keypad -
KC_KP_PLUS          KC_PPLS         57 Keypad +
KC_KP_ENTER         KC_PENT         58 Keypad ENTER5
KC_KP_1             KC_P1           59 Keypad 1 and End
KC_KP_2             KC_P2           5A Keypad 2 and Down Arrow
KC_KP_3             KC_P3           5B Keypad 3 and PageDn
KC_KP_4             KC_P4           5C Keypad 4 and Left Arrow
KC_KP_5             KC_P5           5D Keypad 5
KC_KP_6             KC_P6           5E Keypad 6 and Right Arrow
KC_KP_7             KC_P7           5F Keypad 7 and Home
KC_KP_8             KC_P8           60 Keypad 8 and Up Arrow
KC_KP_9             KC_P9           61 Keypad 9 and PageUp
KC_KP_0             KC_P0           62 Keypad 0 and Insert
KC_KP_DOT           KC_PDOT         63 Keypad . and Delete
KC_NONUS_BSLASH     KC_NUBS         64 Keyboard Non-US \ and |
KC_APPLICATION      KC_APP          65 Keyboard Application10
KC_POWER                            66 Keyboard Power9
KC_KP_EQUAL         KC_PEQL         67 Keypad =
KC_F13                              68 Keyboard F13
KC_F14                              69 Keyboard F14
KC_F15                              6A Keyboard F15
KC_F16                              6B Keyboard F16
KC_F17                              6C Keyboard F17
KC_F18                              6D Keyboard F18
KC_F19                              6E Keyboard F19
KC_F20                              6F Keyboard F20
KC_F21                              70 Keyboard F21
KC_F22                              71 Keyboard F22
KC_F23                              72 Keyboard F23
KC_F24                              73 Keyboard F24
KC_EXECUTE                          74 Keyboard Execute
KC_HELP                             75 Keyboard Help
KC_MENU                             76 Keyboard Menu
KC_SELECT                           77 Keyboard Select
KC_STOP                             78 Keyboard Stop
KC_AGAIN                            79 Keyboard Again
KC_UNDO                             7A Keyboard Undo
KC_CUT                              7B Keyboard Cut
KC_COPY                             7C Keyboard Copy
KC_PASTE                            7D Keyboard Paste
KC_FIND                             7E Keyboard Find
KC__MUTE                            7F Keyboard Mute
KC__VOLUP                           80 Keyboard Volume Up
KC__VOLDOWN                         81 Keyboard Volume Down
KC_LOCKING_CAPS                     82 Keyboard Locking Caps Lock12
KC_LOCKING_NUM                      83 Keyboard Locking Num Lock12
KC_LOCKING_SCROLL                   84 Keyboard Locking Scroll Lock12
KC_KP_COMMA         KC_PCMM         85 Keypad Comma27
KC_KP_EQUAL_AS400                   86 Keypad Equal Sign29
KC_INT1             KC_RO           87 Keyboard International115,28
KC_INT2             KC_KANA         88 Keyboard International216
KC_INT3             KC_JYEN         89 Keyboard International317
KC_INT4             KC_HENK         8A Keyboard International418
KC_INT5             KC_MHEN         8B Keyboard International519
KC_INT6                             8C Keyboard International620
KC_INT7                             8D Keyboard International721
KC_INT8                             8E Keyboard International822
KC_INT9                             8F Keyboard International922
KC_LANG1                            90 Keyboard LANG125
KC_LANG2                            91 Keyboard LANG226
KC_LANG3                            92 Keyboard LANG330
KC_LANG4                            93 Keyboard LANG431
KC_LANG5                            94 Keyboard LANG532
KC_LANG6                            95 Keyboard LANG68
KC_LANG7                            96 Keyboard LANG78
KC_LANG8                            97 Keyboard LANG88
KC_LANG9                            98 Keyboard LANG98
KC_ALT_ERASE                        99 Keyboard Alternate Erase7
KC_SYSREQ                           9A Keyboard SysReq/Attention1
KC_CANCEL                           9B Keyboard Cancel
KC_CLEAR                            9C Keyboard Clear
KC_PRIOR                            9D Keyboard Prior
KC_RETURN                           9E Keyboard Return
KC_SEPARATOR                        9F Keyboard Separator
KC_OUT                              A0 Keyboard Out
KC_OPER                             A1 Keyboard Oper
KC_CLEAR_AGAIN                      A2 Keyboard Clear/Again
KC_CRSEL                            A3 Keyboard CrSel/Props
KC_EXSEL                            A4 Keyboard ExSel
/* Modifiers */
KC_LCTRL            KC_LCTL         E0 Keyboard LeftControl
KC_LSHIFT           KC_LSFT         E1 Keyboard LeftShift
KC_LALT                             E2 Keyboard LeftAlt
KC_LGUI                             E3 Keyboard Left GUI(Windows/Apple/Meta key)
KC_RCTRL            KC_RCTL         E4 Keyboard RightControl
KC_RSHIFT           KC_RSFT         E5 Keyboard RightShift
KC_RALT                             E6 Keyboard RightAlt
KC_RGUI                             E7 Keyboard Right GUI(Windows/Apple/Meta key)

/* 
 * Virtual keycodes
 */
/* Generic Desktop Page(0x01) - System Control */
KC_SYSTEM_POWER     KC_PWR          System Power Down
KC_SYSTEM_SLEEP     KC_SLEP         System Sleep
KC_SYSTEM_WAKE      KC_WAKE         System Wake

/* Consumer Page(0x07) */
KC_AUDIO_MUTE       KC_MUTE         Mute
KC_AUDIO_VOL_UP     KC_VOLU         Volume Increment
KC_AUDIO_VOL_DOWN   KC_VOLD         Volume Decrement
KC_MEDIA_NEXT_TRACK KC_MNXT         Scan Next Track
KC_MEDIA_PREV_TRACK KC_MPRV         Scan Previous Track
KC_MEDIA_STOP       KC_MSTP         Stop
KC_MEDIA_FAST_FORWARD   KC_MFFD     Fast Forward
KC_MEDIA_REWIND     KC_MRWD         Rewind
KC_MEDIA_PLAY_PAUSE KC_MPLY         Play/Pause
KC_EJCT             KC_MEDIA_EJECT  Stop/Eject
KC_MEDIA_SELECT     KC_MSEL         AL Consumer Control Configuration
KC_MAIL             KC_MAIL         AL Email Reader
KC_CALCULATOR       KC_CALC         AL Calculator
KC_MY_COMPUTER      KC_MYCM         AL Local Machine Browser
KC_WWW_SEARCH       KC_WSCH         AC Search
KC_WWW_HOME         KC_WHOM         AC Home
KC_WWW_BACK         KC_WBAK         AC Back
KC_WWW_FORWARD      KC_WFWD         AC Forward
KC_WWW_STOP         KC_WSTP         AC Stop
KC_WWW_REFRESH      KC_WREF         AC Refresh
KC_WWW_FAVORITES    KC_WFAV         AC Bookmarks

/* Mousekey - TMK specific */
KC_MS_UP            KC_MS_U         Mouse Cursor Up
KC_MS_DOWN          KC_MS_D         Mouse Cursor Down
KC_MS_LEFT          KC_MS_L         Mouse Cursor Left
KC_MS_RIGHT         KC_MS_R         Mouse Cursor Right
KC_MS_BTN1          KC_BTN1         Mouse Button 1
KC_MS_BTN2          KC_BTN2         Mouse Button 2
KC_MS_BTN3          KC_BTN3         Mouse Button 3
KC_MS_BTN4          KC_BTN4         Mouse Button 4
KC_MS_BTN5          KC_BTN5         Mouse Button 5
KC_MS_WH_UP         KC_WH_U         Mouse Wheel Up
KC_MS_WH_DOWN       KC_WH_D         Mouse Wheel Down
KC_MS_WH_LEFT       KC_WH_L         Mouse Wheel Left
KC_MS_WH_RIGHT      KC_WH_R         Mouse Wheel Right
KC_MS_ACCEL0        KC_ACL0         Mouse Acceleration 0
KC_MS_ACCEL1        KC_ACL1         Mouse Acceleration 1
KC_MS_ACCEL2        KC_ACL2         Mouse Acceleration 2

/* Fn key - TMK specific */
KC_FN0
KC_FN1
KC_FN2
KC_FN3
KC_FN4
KC_FN5
KC_FN6
KC_FN7
KC_FN8
KC_FN9
KC_FN10
KC_FN11
KC_FN12
KC_FN13
KC_FN14
KC_FN15
KC_FN16
KC_FN17
KC_FN18
KC_FN19
KC_FN20
KC_FN21
KC_FN22
KC_FN23
KC_FN24
KC_FN25
KC_FN26
KC_FN27
KC_FN28
KC_FN29
KC_FN30
KC_FN31
Clone this wiki locally