qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

keycodes_basic.md (13629B)


      1 # Basic Keycodes
      2 
      3 The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07)](https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf) with the exception of `KC_NO`, `KC_TRNS` and keycodes in the `0xA5-DF` range. See below for more details.
      4 
      5 ## Letters and Numbers
      6 
      7 |Key   |Description|
      8 |------|-----------|
      9 |`KC_A`|`a` and `A`|
     10 |`KC_B`|`b` and `B`|
     11 |`KC_C`|`c` and `C`|
     12 |`KC_D`|`d` and `D`|
     13 |`KC_E`|`e` and `E`|
     14 |`KC_F`|`f` and `F`|
     15 |`KC_G`|`g` and `G`|
     16 |`KC_H`|`h` and `H`|
     17 |`KC_I`|`i` and `I`|
     18 |`KC_J`|`j` and `J`|
     19 |`KC_K`|`k` and `K`|
     20 |`KC_L`|`l` and `L`|
     21 |`KC_M`|`m` and `M`|
     22 |`KC_N`|`n` and `N`|
     23 |`KC_O`|`o` and `O`|
     24 |`KC_P`|`p` and `P`|
     25 |`KC_Q`|`q` and `Q`|
     26 |`KC_R`|`r` and `R`|
     27 |`KC_S`|`s` and `S`|
     28 |`KC_T`|`t` and `T`|
     29 |`KC_U`|`u` and `U`|
     30 |`KC_V`|`v` and `V`|
     31 |`KC_W`|`w` and `W`|
     32 |`KC_X`|`x` and `X`|
     33 |`KC_Y`|`y` and `Y`|
     34 |`KC_Z`|`z` and `Z`|
     35 |`KC_1`|`1` and `!`|
     36 |`KC_2`|`2` and `@`|
     37 |`KC_3`|`3` and `#`|
     38 |`KC_4`|`4` and `$`|
     39 |`KC_5`|`5` and `%`|
     40 |`KC_6`|`6` and `^`|
     41 |`KC_7`|`7` and `&`|
     42 |`KC_8`|`8` and `*`|
     43 |`KC_9`|`9` and `(`|
     44 |`KC_0`|`0` and `)`|
     45 
     46 ## F Keys
     47 
     48 |Key     |Description|
     49 |--------|-----------|
     50 |`KC_F1` |F1         |
     51 |`KC_F2` |F2         |
     52 |`KC_F3` |F3         |
     53 |`KC_F4` |F4         |
     54 |`KC_F5` |F5         |
     55 |`KC_F6` |F6         |
     56 |`KC_F7` |F7         |
     57 |`KC_F8` |F8         |
     58 |`KC_F9` |F9         |
     59 |`KC_F10`|F10        |
     60 |`KC_F11`|F11        |
     61 |`KC_F12`|F12        |
     62 |`KC_F13`|F13        |
     63 |`KC_F14`|F14        |
     64 |`KC_F15`|F15        |
     65 |`KC_F16`|F16        |
     66 |`KC_F17`|F17        |
     67 |`KC_F18`|F18        |
     68 |`KC_F19`|F19        |
     69 |`KC_F20`|F20        |
     70 |`KC_F21`|F21        |
     71 |`KC_F22`|F22        |
     72 |`KC_F23`|F23        |
     73 |`KC_F24`|F24        |
     74 
     75 ## Punctuation
     76 
     77 |Key                 |Aliases  |Description               |
     78 |--------------------|---------|--------------------------|
     79 |`KC_ENTER`          |`KC_ENT` |Return (Enter)            |
     80 |`KC_ESCAPE`         |`KC_ESC` |Escape                    |
     81 |`KC_BACKSPACE`      |`KC_BSPC`|Delete (Backspace)        |
     82 |`KC_TAB`            |         |Tab                       |
     83 |`KC_SPACE`          |`KC_SPC` |Spacebar                  |
     84 |`KC_MINUS`          |`KC_MINS`|`-` and `_`               |
     85 |`KC_EQUAL`          |`KC_EQL` |`=` and `+`               |
     86 |`KC_LEFT_BRACKET`   |`KC_LBRC`|`[` and `{`               |
     87 |`KC_RIGHT_BRACKET`  |`KC_RBRC`|`]` and `}`               |
     88 |`KC_BACKSLASH`      |`KC_BSLS`|`\` and `\|`              |
     89 |`KC_NONUS_HASH`     |`KC_NUHS`|Non-US `#` and `~`        |
     90 |`KC_SEMICOLON`      |`KC_SCLN`|`;` and `:`               |
     91 |`KC_QUOTE`          |`KC_QUOT`|`'` and `"`               |
     92 |`KC_GRAVE`          |`KC_GRV` |<code>&#96;</code> and `~`|
     93 |`KC_COMMA`          |`KC_COMM`|`,` and `<`               |
     94 |`KC_DOT`            |         |`.` and `>`               |
     95 |`KC_SLASH`          |`KC_SLSH`|`/` and `?`               |
     96 |`KC_NONUS_BACKSLASH`|`KC_NUBS`|Non-US `\` and `\|`       |
     97 
     98 ## Lock Keys
     99 
    100 |Key                     |Aliases             |Description                         |
    101 |------------------------|--------------------|------------------------------------|
    102 |`KC_CAPS_LOCK`          |`KC_CAPS`           |Caps Lock                           |
    103 |`KC_SCROLL_LOCK`        |`KC_SCRL`, `KC_BRMD`|Scroll Lock, Brightness Down (macOS)|
    104 |`KC_NUM_LOCK`           |`KC_NUM`            |Keypad Num Lock and Clear           |
    105 |`KC_LOCKING_CAPS_LOCK`  |`KC_LCAP`           |Locking Caps Lock                   |
    106 |`KC_LOCKING_NUM_LOCK`   |`KC_LNUM`           |Locking Num Lock                    |
    107 |`KC_LOCKING_SCROLL_LOCK`|`KC_LSCR`           |Locking Scroll Lock                 |
    108 
    109 ## Modifiers
    110 
    111 |Key             |Aliases                        |Description                          |
    112 |----------------|-------------------------------|-------------------------------------|
    113 |`KC_LEFT_CTRL`  |`KC_LCTL`                      |Left Control                         |
    114 |`KC_LEFT_SHIFT` |`KC_LSFT`                      |Left Shift                           |
    115 |`KC_LEFT_ALT`   |`KC_LALT`, `KC_LOPT`           |Left Alt (Option)                    |
    116 |`KC_LEFT_GUI`   |`KC_LGUI`, `KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Super key) |
    117 |`KC_RIGHT_CTRL` |`KC_RCTL`                      |Right Control                        |
    118 |`KC_RIGHT_SHIFT`|`KC_RSFT`                      |Right Shift                          |
    119 |`KC_RIGHT_ALT`  |`KC_RALT`, `KC_ROPT`, `KC_ALGR`|Right Alt (Option/AltGr)             |
    120 |`KC_RIGHT_GUI`  |`KC_RGUI`, `KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Super key)|
    121 
    122 ## International
    123 
    124 |Key                 |Aliases  |Description          |
    125 |--------------------|---------|---------------------|
    126 |`KC_INTERNATIONAL_1`|`KC_INT1`|JIS `\` and `_`      |
    127 |`KC_INTERNATIONAL_2`|`KC_INT2`|JIS Katakana/Hiragana|
    128 |`KC_INTERNATIONAL_3`|`KC_INT3`|JIS `¥` and `\|`     |
    129 |`KC_INTERNATIONAL_4`|`KC_INT4`|JIS Henkan           |
    130 |`KC_INTERNATIONAL_5`|`KC_INT5`|JIS Muhenkan         |
    131 |`KC_INTERNATIONAL_6`|`KC_INT6`|JIS Numpad `,`       |
    132 |`KC_INTERNATIONAL_7`|`KC_INT7`|International 7      |
    133 |`KC_INTERNATIONAL_8`|`KC_INT8`|International 8      |
    134 |`KC_INTERNATIONAL_9`|`KC_INT9`|International 9      |
    135 |`KC_LANGUAGE_1`     |`KC_LNG1`|Hangul/English       |
    136 |`KC_LANGUAGE_2`     |`KC_LNG2`|Hanja                |
    137 |`KC_LANGUAGE_3`     |`KC_LNG3`|JIS Katakana         |
    138 |`KC_LANGUAGE_4`     |`KC_LNG4`|JIS Hiragana         |
    139 |`KC_LANGUAGE_5`     |`KC_LNG5`|JIS Zenkaku/Hankaku  |
    140 |`KC_LANGUAGE_6`     |`KC_LNG6`|Language 6           |
    141 |`KC_LANGUAGE_7`     |`KC_LNG7`|Language 7           |
    142 |`KC_LANGUAGE_8`     |`KC_LNG8`|Language 8           |
    143 |`KC_LANGUAGE_9`     |`KC_LNG9`|Language 9           |
    144 
    145 ## Commands
    146 
    147 |Key                 |Aliases                       |Description                           |
    148 |--------------------|------------------------------|--------------------------------------|
    149 |`KC_PRINT_SCREEN`   |`KC_PSCR`                     |Print Screen                          |
    150 |`KC_PAUSE`          |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS)          |
    151 |`KC_INSERT`         |`KC_INS`                      |Insert                                |
    152 |`KC_HOME`           |                              |Home                                  |
    153 |`KC_PAGE_UP`        |`KC_PGUP`                     |Page Up                               |
    154 |`KC_DELETE`         |`KC_DEL`                      |Forward Delete                        |
    155 |`KC_END`            |                              |End                                   |
    156 |`KC_PAGE_DOWN`      |`KC_PGDN`                     |Page Down                             |
    157 |`KC_RIGHT`          |`KC_RGHT`                     |Right Arrow                           |
    158 |`KC_LEFT`           |                              |Left Arrow                            |
    159 |`KC_DOWN`           |                              |Down Arrow                            |
    160 |`KC_UP`             |                              |Up Arrow                              |
    161 |`KC_APPLICATION`    |`KC_APP`                      |Application (Windows Context Menu Key)|
    162 |`KC_KB_POWER`       |                              |System Power                          |
    163 |`KC_EXECUTE`        |`KC_EXEC`                     |Execute                               |
    164 |`KC_HELP`           |                              |Help                                  |
    165 |`KC_MENU`           |                              |Menu                                  |
    166 |`KC_SELECT`         |`KC_SLCT`                     |Select                                |
    167 |`KC_STOP`           |                              |Stop                                  |
    168 |`KC_AGAIN`          |`KC_AGIN`                     |Again                                 |
    169 |`KC_UNDO`           |                              |Undo                                  |
    170 |`KC_CUT`            |                              |Cut                                   |
    171 |`KC_COPY`           |                              |Copy                                  |
    172 |`KC_PASTE`          |`KC_PSTE`                     |Paste                                 |
    173 |`KC_FIND`           |                              |Find                                  |
    174 |`KC_KB_MUTE`        |                              |Mute                                  |
    175 |`KC_KB_VOLUME_UP`   |                              |Volume Up                             |
    176 |`KC_KB_VOLUME_DOWN` |                              |Volume Down                           |
    177 |`KC_ALTERNATE_ERASE`|`KC_ERAS`                     |Alternate Erase                       |
    178 |`KC_SYSTEM_REQUEST` |`KC_SYRQ`                     |SysReq/Attention                      |
    179 |`KC_CANCEL`         |`KC_CNCL`                     |Cancel                                |
    180 |`KC_CLEAR`          |`KC_CLR`                      |Clear                                 |
    181 |`KC_PRIOR`          |`KC_PRIR`                     |Prior                                 |
    182 |`KC_RETURN`         |`KC_RETN`                     |Return                                |
    183 |`KC_SEPARATOR`      |`KC_SEPR`                     |Separator                             |
    184 |`KC_OUT`            |                              |Out                                   |
    185 |`KC_OPER`           |                              |Oper                                  |
    186 |`KC_CLEAR_AGAIN`    |`KC_CLAG`                     |Clear/Again                           |
    187 |`KC_CRSEL`          |`KC_CRSL`                     |CrSel/Props                           |
    188 |`KC_EXSEL`          |`KC_EXSL`                     |ExSel                                 |
    189 
    190 ## Media Keys
    191 
    192 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.
    193 
    194 ::: tip
    195 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.
    196 :::
    197 
    198 |Key                    |Aliases  |Description         |
    199 |-----------------------|---------|--------------------|
    200 |`KC_SYSTEM_POWER`      |`KC_PWR` |System Power Down   |
    201 |`KC_SYSTEM_SLEEP`      |`KC_SLEP`|System Sleep        |
    202 |`KC_SYSTEM_WAKE`       |`KC_WAKE`|System Wake         |
    203 |`KC_AUDIO_MUTE`        |`KC_MUTE`|Mute                |
    204 |`KC_AUDIO_VOL_UP`      |`KC_VOLU`|Volume Up           |
    205 |`KC_AUDIO_VOL_DOWN`    |`KC_VOLD`|Volume Down         |
    206 |`KC_MEDIA_NEXT_TRACK`  |`KC_MNXT`|Next Track          |
    207 |`KC_MEDIA_PREV_TRACK`  |`KC_MPRV`|Previous Track      |
    208 |`KC_MEDIA_STOP`        |`KC_MSTP`|Stop Track          |
    209 |`KC_MEDIA_PLAY_PAUSE`  |`KC_MPLY`|Play/Pause Track    |
    210 |`KC_MEDIA_SELECT`      |`KC_MSEL`|Launch Media Player |
    211 |`KC_MEDIA_EJECT`       |`KC_EJCT`|Eject               |
    212 |`KC_MAIL`              |         |Launch Mail         |
    213 |`KC_CALCULATOR`        |`KC_CALC`|Launch Calculator   |
    214 |`KC_MY_COMPUTER`       |`KC_MYCM`|Launch My Computer  |
    215 |`KC_WWW_SEARCH`        |`KC_WSCH`|Browser Search      |
    216 |`KC_WWW_HOME`          |`KC_WHOM`|Browser Home        |
    217 |`KC_WWW_BACK`          |`KC_WBAK`|Browser Back        |
    218 |`KC_WWW_FORWARD`       |`KC_WFWD`|Browser Forward     |
    219 |`KC_WWW_STOP`          |`KC_WSTP`|Browser Stop        |
    220 |`KC_WWW_REFRESH`       |`KC_WREF`|Browser Refresh     |
    221 |`KC_WWW_FAVORITES`     |`KC_WFAV`|Browser Favorites   |
    222 |`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Fast Forward        |
    223 |`KC_MEDIA_REWIND`      |`KC_MRWD`|Rewind              |
    224 |`KC_BRIGHTNESS_UP`     |`KC_BRIU`|Brightness Up       |
    225 |`KC_BRIGHTNESS_DOWN`   |`KC_BRID`|Brightness Down     |
    226 |`KC_CONTROL_PANEL`     |`KC_CPNL`|Open Control Panel  |
    227 |`KC_ASSISTANT`         |`KC_ASST`|Launch Assistant    |
    228 |`KC_MISSION_CONTROL`   |`KC_MCTL`|Open Mission Control|
    229 |`KC_LAUNCHPAD`         |`KC_LPAD`|Open Launchpad      |
    230 
    231 ## Number Pad
    232 
    233 |Key                |Aliases  |Description                   |
    234 |-------------------|---------|------------------------------|
    235 |`KC_KP_SLASH`      |`KC_PSLS`|Keypad `/`                    |
    236 |`KC_KP_ASTERISK`   |`KC_PAST`|Keypad `*`                    |
    237 |`KC_KP_MINUS`      |`KC_PMNS`|Keypad `-`                    |
    238 |`KC_KP_PLUS`       |`KC_PPLS`|Keypad `+`                    |
    239 |`KC_KP_ENTER`      |`KC_PENT`|Keypad Enter                  |
    240 |`KC_KP_1`          |`KC_P1`  |Keypad `1` and End            |
    241 |`KC_KP_2`          |`KC_P2`  |Keypad `2` and Down Arrow     |
    242 |`KC_KP_3`          |`KC_P3`  |Keypad `3` and Page Down      |
    243 |`KC_KP_4`          |`KC_P4`  |Keypad `4` and Left Arrow     |
    244 |`KC_KP_5`          |`KC_P5`  |Keypad `5`                    |
    245 |`KC_KP_6`          |`KC_P6`  |Keypad `6` and Right Arrow    |
    246 |`KC_KP_7`          |`KC_P7`  |Keypad `7` and Home           |
    247 |`KC_KP_8`          |`KC_P8`  |Keypad `8` and Up Arrow       |
    248 |`KC_KP_9`          |`KC_P9`  |Keypad `9` and Page Up        |
    249 |`KC_KP_0`          |`KC_P0`  |Keypad `0` and Insert         |
    250 |`KC_KP_DOT`        |`KC_PDOT`|Keypad `.` and Delete         |
    251 |`KC_KP_EQUAL`      |`KC_PEQL`|Keypad `=`                    |
    252 |`KC_KP_COMMA`      |`KC_PCMM`|Keypad `,`                    |
    253 |`KC_KP_EQUAL_AS400`|         |Keypad `=` on AS/400 keyboards|
    254 
    255 ## Special Keys
    256 
    257 In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use.
    258 
    259 |Key             |Aliases             |Description                            |
    260 |----------------|--------------------|---------------------------------------|
    261 |`KC_NO`         |`XXXXXXX`           |Ignore this key (NOOP)                 |
    262 |`KC_TRANSPARENT`|`KC_TRNS`, `_______`|Use the next lowest non-transparent key|