Format keycode tables

pjrc_hid
fauxpark 7 years ago committed by Jack Humbert
parent 7b0356d1d4
commit 4c675a83ba

@ -75,29 +75,29 @@ You can also chain these, like this:
The following shortcuts automatically add `LSFT()` to keycodes to get commonly used symbols. The following shortcuts automatically add `LSFT()` to keycodes to get commonly used symbols.
|Name|Description| |Key |Aliases |Description |
|----|-----------| |------------------------|------------------|-------------------|
| KC_TILD | ~ | |`KC_TILDE` |`KC_TILD` |`~` |
| KC_EXLM | ! | |`KC_EXCLAIM` |`KC_EXLM` |`!` |
| KC_QUES | ? | |`KC_AT` | |`@` |
| KC_AT | @ | |`KC_HASH` | |`#` |
| KC_HASH | # | |`KC_DOLLAR` |`KC_DLR` |`$` |
| KC_DLR | $ | |`KC_PERCENT` |`KC_PERC` |`%` |
| KC_PERC | % | |`KC_CIRCUMFLEX` |`KC_CIRC` |`^` |
| KC_CIRC | ^ | |`KC_AMPERSAND` |`KC_AMPR` |`&` |
| KC_AMPR | & | |`KC_ASTERISK` |`KC_ASTR` |`*` |
| KC_ASTR | * | |`KC_LEFT_PAREN` |`KC_LPRN` |`(` |
| KC_LPRN | ( | |`KC_RIGHT_PAREN` |`KC_RPRN` |`)` |
| KC_RPRN | ) | |`KC_UNDERSCORE` |`KC_UNDS` |`_` |
| KC_UNDS | _ | |`KC_PLUS` | |`+` |
| KC_PLUS | + | |`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` |
| KC_DQUO | " | |`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` |
| KC_LCBR | { | |`KC_PIPE` | |<code>&#124;</code>|
| KC_RCBR | } | |`KC_COLON` |`KC_COLN` |`:` |
| KC_LABK | < | |`KC_DOUBLE_QUOTE` |`KC_DQT`/`KC_DQUO`|`"` |
| KC_RABK | > | |`KC_LEFT_ANGLE_BRACKET` |`KC_LT`/`KC_LABK` |`<` |
| KC_PIPE | &#x7C; | |`KC_RIGHT_ANGLE_BRACKET`|`KC_GT`/`KC_RABK` |`>` |
| KC_COLN | : | |`KC_QUESTION` |`KC_QUES` |`?` |
# Mod Tap # Mod Tap

@ -6,12 +6,12 @@
These keycodes control the backlight. Most keyboards use this for single color in-switch lighting. These keycodes control the backlight. Most keyboards use this for single color in-switch lighting.
|Name|Description| |Key |Description |
|----|-----------| |---------|------------------------------------------|
|`BL_x`|Set a specific backlight level between 0-9| |`BL_TOGG`|Turn the backlight on or off |
|`BL_ON`|An alias for `BL_9`| |`BL_STEP`|Cycle through backlight levels |
|`BL_OFF`|An alias for `BL_0`| |`BL_x` |Set a specific backlight level between 0-9|
|`BL_DEC`|Turn the backlight level down by 1| |`BL_ON` |An alias for `BL_9` |
|`BL_INC`|Turn the backlight level up by 1| |`BL_OFF` |An alias for `BL_0` |
|`BL_TOGG`|Toggle the backlight on or off| |`BL_INC` |Increase backlight level |
|`BL_STEP`|Step through backlight levels, wrapping around to 0 when you reach the top.| |`BL_DEC` |Decrease backlight level |

@ -10,8 +10,8 @@ This requires [some hardware changes](https://www.reddit.com/r/MechanicalKeyboar
This is used when multiple keyboard outputs can be selected. Currently this only allows for switching between USB and Bluetooth on keyboards that support both. This is used when multiple keyboard outputs can be selected. Currently this only allows for switching between USB and Bluetooth on keyboards that support both.
|Name|Description| |Name |Description |
|----|-----------| |----------|----------------------------------------------|
|`OUT_AUTO`|auto mode| |`OUT_AUTO`|Automatically switch between USB and Bluetooth|
|`OUT_USB`|usb only| |`OUT_USB` |USB only |
|`OUT_BT`|bluetooth| |`OUT_BT` |Bluetooth only |

@ -6,24 +6,24 @@
Shortcuts for bootmagic options. You can use these even when bootmagic is off. Shortcuts for bootmagic options. You can use these even when bootmagic is off.
|Name|Description| |Key |Aliases |Description |
|----|-----------| |----------------------------------|---------|------------------------------------|
|`MAGIC_SWAP_CONTROL_CAPSLOCK`|Swap Capslock and Left Control| |`MAGIC_SWAP_CONTROL_CAPSLOCK` | |Swap Left Control and Caps Lock |
|`MAGIC_CAPSLOCK_TO_CONTROL`|Treat Capslock like a Control Key| |`MAGIC_CAPSLOCK_TO_CONTROL` | |Treat Caps Lock as Control |
|`MAGIC_SWAP_LALT_LGUI`|Swap the left Alt and GUI keys| |`MAGIC_SWAP_LALT_LGUI` | |Swap Left Alt and GUI |
|`MAGIC_SWAP_RALT_RGUI`|Swap the right Alt and GUI keys| |`MAGIC_SWAP_RALT_RGUI` | |Swap Right Alt and GUI |
|`MAGIC_NO_GUI`|Disable the GUI key| |`MAGIC_NO_GUI` | |Disable the GUI key |
|`MAGIC_SWAP_GRAVE_ESC`|Swap the Grave and Esc key.| |`MAGIC_SWAP_GRAVE_ESC` | |Swap <code>&#96;</code> and Escape |
|`MAGIC_SWAP_BACKSLASH_BACKSPACE`|Swap backslash and backspace| |`MAGIC_SWAP_BACKSLASH_BACKSPACE` | |Swap Backslash and Backspace |
|`MAGIC_HOST_NKRO`|Force NKRO on| |`MAGIC_HOST_NKRO` | |Force NKRO on |
|`MAGIC_SWAP_ALT_GUI`/`AG_SWAP`|Swap Alt and Gui on both sides| |`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides |
|`MAGIC_UNSWAP_CONTROL_CAPSLOCK`|Disable the Control/Capslock swap| |`MAGIC_UNSWAP_CONTROL_CAPSLOCK` | |Unswap Left Control and Caps Lock |
|`MAGIC_UNCAPSLOCK_TO_CONTROL`|Disable treating Capslock like Control | |`MAGIC_UNCAPSLOCK_TO_CONTROL` | |Stop treating CapsLock as Control |
|`MAGIC_UNSWAP_LALT_LGUI`|Disable Left Alt and GUI switching| |`MAGIC_UNSWAP_LALT_LGUI` | |Unswap Left Alt and GUI |
|`MAGIC_UNSWAP_RALT_RGUI`|Disable Right Alt and GUI switching| |`MAGIC_UNSWAP_RALT_RGUI` | |Unswap Right Alt and GUI |
|`MAGIC_UNNO_GUI`|Enable the GUI key | |`MAGIC_UNNO_GUI` | |Enable the GUI key |
|`MAGIC_UNSWAP_GRAVE_ESC`|Disable the Grave/Esc swap | |`MAGIC_UNSWAP_GRAVE_ESC` | |Unswap <code>&#96;</code> and Escape|
|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|Disable the backslash/backspace swap| |`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`| |Unswap Backslash and Backspace |
|`MAGIC_UNHOST_NKRO`|Force NKRO off| |`MAGIC_UNHOST_NKRO` | |Force NKRO off |
|`MAGIC_UNSWAP_ALT_GUI`/`AG_NORM`|Disable the Alt/GUI switching| |`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Left Alt and GUI |
|`MAGIC_TOGGLE_NKRO`|Turn NKRO on or off| |`MAGIC_TOGGLE_NKRO` | |Turn NKRO on or off |

@ -3,9 +3,9 @@
Grave Escape is a feature that allows you to share the grave key (<code>&#96;</code> and `~`) on the same key as Escape. When `KC_GESC` is used it will act as `KC_ESC`, unless Shift or GUI is pressed, in which case it will act as `KC_GRAVE`. Grave Escape is a feature that allows you to share the grave key (<code>&#96;</code> and `~`) on the same key as Escape. When `KC_GESC` is used it will act as `KC_ESC`, unless Shift or GUI is pressed, in which case it will act as `KC_GRAVE`.
| Key | Alias | Description | |Key |Aliases |Description |
|-----|-------|-------------| |---------|-----------|------------------------------------------------------------------|
| `GRAVE_ESC` | `KC_GESC` | Act as `KC_ESC` normally, or `KC_GRAVE` when GUI or Shift are held. | |`KC_GESC`|`GRAVE_ESC`|Escape when pressed, <code>&#96;</code> when Shift or GUI are held|
There are several possible key combinations this will break, among them Ctrl+Shift+Esc on Windows and Cmd+Opt+Esc on macOS. You can use these options in your `config.h` to work around this: There are several possible key combinations this will break, among them Ctrl+Shift+Esc on Windows and Cmd+Opt+Esc on macOS. You can use these options in your `config.h` to work around this:

@ -21,24 +21,24 @@ You can see an example here: https://github.com/qmk/qmk_firmware/blob/master/key
You can use these keycodes within your keymap to map button presses to mouse actions: You can use these keycodes within your keymap to map button presses to mouse actions:
|Long Name|Short Name|Description| |Key |Aliases |Description |
|---------|----------|-----------| |----------------|---------|---------------------------|
|KC_MS_UP|KC_MS_U|Mouse Cursor Up| |`KC_MS_UP` |`KC_MS_U`|Mouse Cursor Up |
|KC_MS_DOWN|KC_MS_D|Mouse Cursor Down| |`KC_MS_DOWN` |`KC_MS_D`|Mouse Cursor Down |
|KC_MS_LEFT|KC_MS_L|Mouse Cursor Left| |`KC_MS_LEFT` |`KC_MS_L`|Mouse Cursor Left |
|KC_MS_RIGHT|KC_MS_R|Mouse Cursor Right| |`KC_MS_RIGHT` |`KC_MS_R`|Mouse Cursor Right |
|KC_MS_BTN1|KC_BTN1|Mouse Button 1| |`KC_MS_BTN1` |`KC_BTN1`|Mouse Button 1 |
|KC_MS_BTN2|KC_BTN2|Mouse Button 2| |`KC_MS_BTN2` |`KC_BTN2`|Mouse Button 2 |
|KC_MS_BTN3|KC_BTN3|Mouse Button 3| |`KC_MS_BTN3` |`KC_BTN3`|Mouse Button 3 |
|KC_MS_BTN4|KC_BTN4|Mouse Button 4| |`KC_MS_BTN4` |`KC_BTN4`|Mouse Button 4 |
|KC_MS_BTN5|KC_BTN5|Mouse Button 5| |`KC_MS_BTN5` |`KC_BTN5`|Mouse Button 5 |
|KC_MS_WH_UP|KC_WH_U|Mouse Wheel Up| |`KC_MS_WH_UP` |`KC_WH_U`|Mouse Wheel Up |
|KC_MS_WH_DOWN|KC_WH_D|Mouse Wheel Down| |`KC_MS_WH_DOWN` |`KC_WH_D`|Mouse Wheel Down |
|KC_MS_WH_LEFT|KC_WH_L|Mouse Wheel Left| |`KC_MS_WH_LEFT` |`KC_WH_L`|Mouse Wheel Left |
|KC_MS_WH_RIGHT|KC_WH_R|Mouse Wheel Right| |`KC_MS_WH_RIGHT`|`KC_WH_R`|Mouse Wheel Right |
|KC_MS_ACCEL0|KC_ACL0|Set Mouse Acceleration Speed to 0| |`KC_MS_ACCEL0` |`KC_ACL0`|Set mouse acceleration to 0|
|KC_MS_ACCEL1|KC_ACL1|Set Mouse Acceleration Speed to 1| |`KC_MS_ACCEL1` |`KC_ACL1`|Set mouse acceleration to 1|
|KC_MS_ACCEL2|KC_ACL2|Set Mouse Acceleration Speed to 2| |`KC_MS_ACCEL2` |`KC_ACL2`|Set mouse acceleration to 2|
You can see an example in the `_ML` here: https://github.com/qmk/qmk_firmware/blob/master/keyboards/clueboard/keymaps/mouse_keys/keymap.c#L46 You can see an example in the `_ML` here: https://github.com/qmk/qmk_firmware/blob/master/keyboards/clueboard/keymaps/mouse_keys/keymap.c#L46

@ -98,25 +98,25 @@ rgblight_sethsv_at(h,s,v, LED); // control a single LED. 0 <= LED < RGBLED_NUM
These control the RGB Lighting functionality. These control the RGB Lighting functionality.
| Long Name | Short Name | Description | |Key |Aliases |Description |
|-----------|------------|-------------| |-------------------|----------|--------------------------------------------------------------------|
||`RGB_TOG`|toggle on/off| |`RGB_TOG` | |Toggle RGB lighting on or off |
|`RGB_MODE_FORWARD`|`RGB_MOD`|cycle through modes, use reverse direction when shift is held| |`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|`RGB_MODE_REVERSE`|`RGB_RMOD`|cycle through modes in reverse (also suppost shift to go forward)| |`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
||`RGB_HUI`|hue increase| |`RGB_HUI` | |Increase hue |
||`RGB_HUD`|hue decrease| |`RGB_HUD` | |Decrease hue |
||`RGB_SAI`|saturation increase| |`RGB_SAI` | |Increase saturation |
||`RGB_SAD`|saturation decrease| |`RGB_SAD` | |Decrease saturation |
||`RGB_VAI`|value (brightness) increase| |`RGB_VAI` | |Increase value (brightness) |
||`RGB_VAD`|value (brightness) decrease| |`RGB_VAD` | |Decrease value (brightness) |
|`RGB_MODE_PLAIN`|`RGB_M_P `| Switch to the static no animation mode | |`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
|`RGB_MODE_BREATHE`|`RGB_M_B`| Switch to the breathing mode | |`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
|`RGB_MODE_RAINBOW`|`RGB_M_R`| Switch to the rainbow mode || |`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
|`RGB_MODE_SWIRL`|`RGB_M_SW`| Switch to the swirl mode | |`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode |
|`RGB_MODE_SNAKE`|`RGB_M_SN`| Switch to the snake mode | |`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode |
|`RGB_MODE_KNIGHT`|`RGB_M_K`| Switch to the knight animation | |`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode |
|`RGB_MODE_XMAS`|`RGB_M_X`| Switch to the Christmas animation | |`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode |
|`RGB_MODE_GRADIENT`|`RGB_M_G`| Switch to the static gradient mode | |`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode |
note: for backwards compatibility, `RGB_SMOD` is an alias for `RGB_MOD`. note: for backwards compatibility, `RGB_SMOD` is an alias for `RGB_MOD`.

@ -4,7 +4,7 @@
## Thermal Printer Keycodes ## Thermal Printer Keycodes
|Name|Description| |Key |Description |
|----|-----------| |-----------|----------------------------------------|
|`PRINT_ON`|Start printing everything the user types| |`PRINT_ON` |Start printing everything the user types|
|`PRINT_OFF`|Stop printing everything the user types| |`PRINT_OFF`|Stop printing everything the user types |

@ -1,315 +1,392 @@
# Overview # Keycodes Overview
When defining a [keymap](keymap.md) each key needs a valid key definition. This page documents the symbols that correspond to keycodes that are available to you in QMK. This is a reference only. Where possible keys link to the page documenting their functionality. When defining a [keymap](keymap.md) each key needs a valid key definition. This page documents the symbols that correspond to keycodes that are available to you in QMK.
## Keycode Index This is a reference only. Each group of keys links to the page documenting their functionality in more detail.
|Long Name|Short Name|Description| ## [Basic Keycodes](keycodes_basic.md)
|---------|----------|-----------|
|`KC_1`|||| |Key |Aliases |Description |
|`KC_2`|||| |-----------------------|----------|-----------------------------------------------|
|`KC_3`|||| |`KC_1` | |`1` and `!` |
|`KC_4`|||| |`KC_2` | |`2` and `@` |
|`KC_5`|||| |`KC_3` | |`3` and `#` |
|`KC_6`|||| |`KC_4` | |`4` and `$` |
|`KC_7`|||| |`KC_5` | |`5` and `%` |
|`KC_8`|||| |`KC_6` | |`6` and `^` |
|`KC_9`|||| |`KC_7` | |`7` and `&` |
|`KC_0`|||| |`KC_8` | |`8` and `*` |
|`KC_F1`|||| |`KC_9` | |`9` and `(` |
|`KC_F2`|||| |`KC_0` | |`0` and `)` |
|`KC_F3`|||| |`KC_F1` | | |
|`KC_F4`|||| |`KC_F2` | | |
|`KC_F5`|||| |`KC_F3` | | |
|`KC_F6`|||| |`KC_F4` | | |
|`KC_F7`|||| |`KC_F5` | | |
|`KC_F8`|||| |`KC_F6` | | |
|`KC_F9`|||| |`KC_F7` | | |
|`KC_F10`|||| |`KC_F8` | | |
|`KC_F11`|||| |`KC_F9` | | |
|`KC_F12`|||| |`KC_F10` | | |
|`KC_F13`|||| |`KC_F11` | | |
|`KC_F14`|||| |`KC_F12` | | |
|`KC_F15`|||| |`KC_F13` | | |
|`KC_F16`|||| |`KC_F14` | | |
|`KC_F17`|||| |`KC_F15` | | |
|`KC_F18`|||| |`KC_F16` | | |
|`KC_F19`|||| |`KC_F17` | | |
|`KC_F20`|||| |`KC_F18` | | |
|`KC_F21`|||| |`KC_F19` | | |
|`KC_F22`|||| |`KC_F20` | | |
|`KC_F23`|||| |`KC_F21` | | |
|`KC_F24`|||| |`KC_F22` | | |
|`KC_A`|||| |`KC_F23` | | |
|`KC_B`|||| |`KC_F24` | | |
|`KC_C`|||| |`KC_A` | |`a` and `A` |
|`KC_D`|||| |`KC_B` | |`b` and `B` |
|`KC_E`|||| |`KC_C` | |`c` and `C` |
|`KC_F`|||| |`KC_D` | |`d` and `D` |
|`KC_G`|||| |`KC_E` | |`e` and `E` |
|`KC_H`|||| |`KC_F` | |`f` and `F` |
|`KC_I`|||| |`KC_G` | |`g` and `G` |
|`KC_J`|||| |`KC_H` | |`h` and `H` |
|`KC_K`|||| |`KC_I` | |`i` and `I` |
|`KC_L`|||| |`KC_J` | |`j` and `J` |
|`KC_M`|||| |`KC_K` | |`k` and `K` |
|`KC_N`|||| |`KC_L` | |`l` and `L` |
|`KC_O`|||| |`KC_M` | |`m` and `M` |
|`KC_P`|||| |`KC_N` | |`n` and `N` |
|`KC_Q`|||| |`KC_O` | |`o` and `O` |
|`KC_R`|||| |`KC_P` | |`p` and `P` |
|`KC_S`|||| |`KC_Q` | |`q` and `Q` |
|`KC_T`|||| |`KC_R` | |`r` and `R` |
|`KC_U`|||| |`KC_S` | |`s` and `S` |
|`KC_V`|||| |`KC_T` | |`t` and `T` |
|`KC_W`|||| |`KC_U` | |`u` and `U` |
|`KC_X`|||| |`KC_V` | |`v` and `V` |
|`KC_Y`|||| |`KC_W` | |`w` and `W` |
|`KC_Z`|||| |`KC_X` | |`x` and `X` |
|`KC_ENTER`|`KC_ENT`|`Return (ENTER)`| |`KC_Y` | |`y` and `Y` |
|`KC_ESCAPE`|`KC_ESC`|`ESCAPE`| |`KC_Z` | |`z` and `Z` |
|`KC_BSPACE`|`KC_BSPC`|`DELETE (Backspace)`| |`KC_ENTER` |`KC_ENT` |Return (Enter) |
|`KC_TAB`||`Tab`| |`KC_ESCAPE` |`KC_ESC` |Escape |
|`KC_SPACE`|`KC_SPC`|Spacebar| |`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
|`KC_MINUS`|`KC_MINS`|`-` and `_`| |`KC_TAB` | |Tab |
|`KC_EQUAL`|`KC_EQL`|`=` and `+`| |`KC_SPACE` |`KC_SPC` |Spacebar |
|`KC_LBRACKET`|`KC_LBRC`|`[` and `{`| |`KC_MINUS` |`KC_MINS` |`-` and `_` |
|`KC_RBRACKET`|`KC_RBRC`|`]` and `}`| |`KC_EQUAL` |`KC_EQL` |`=` and `+` |
|`KC_BSLASH`|`KC_BSLS`|`\` and <code>&#124;</code> | |`KC_LBRACKET` |`KC_LBRC` |`[` and `{` |
|`KC_NONUS_HASH`|`KC_NUHS`|Non-US `#` and `~`| |`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
|`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>&#124;</code> | |`KC_BSLASH` |`KC_BSLS` |`\` and <code>&#124;</code> |
|`KC_INT1`|`KC_RO`|JIS `\` and <code>&#124;</code> | |`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
|`KC_INT2`|`KC_KANA`|International216| |`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and <code>&#124;</code> |
|`KC_INT3`|`KC_JYEN`|Yen Symbol (`¥`)| |`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</code> |
|`KC_SCOLON`|`KC_SCLN`|`;` and `:`| |`KC_INT2` |`KC_KANA` |JIS Katakana/Hiragana |
|`KC_QUOTE`|`KC_QUOT`|`` and `“`| |`KC_INT3` |`KC_JYEN` |JIS `¥` |
|`KC_GRAVE`|`KC_GRV`|Grave Accent and Tilde| |`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
|`KC_COMMA`|`KC_COMM`|`,` and `<`| |`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
|`KC_DOT`||`.` and `>`| |`KC_GRAVE` |`KC_GRV` |<code>&#96;</code> and `~` |
|`KC_SLASH`|`KC_SLSH`|`/` and `?`| |`KC_COMMA` |`KC_COMM` |`,` and `<` |
|`KC_CAPSLOCK`|`KC_CAPS`|Caps Lock| |`KC_DOT` | |`.` and `>` |
|`KC_LCTRL`|`KC_LCTL`|LeftControl| |`KC_SLASH` |`KC_SLSH` |`/` and `?` |
|`KC_LSHIFT`|`KC_LSFT`|LeftShift| |`KC_CAPSLOCK` |`KC_CAPS` |Caps Lock |
|`KC_LALT`||LeftAlt| |`KC_LCTRL` |`KC_LCTL` |Left Control |
|`KC_LGUI`||Left GUI(Windows/Apple/Meta key)| |`KC_LSHIFT` |`KC_LSFT` |Left Shift |
|`KC_RCTRL`|`KC_RCTL`|RightControl| |`KC_LALT` | |Left Alt |
|`KC_RSHIFT`|`KC_RSFT`|RightShift| |`KC_LGUI` | |Left GUI (Windows/Command/Meta key) |
|`KC_RALT`||RightAlt| |`KC_RCTRL` |`KC_RCTL` |Right Control |
|`KC_RGUI`||Right GUI(Windows/Apple/Meta key)| |`KC_RSHIFT` |`KC_RSFT` |Right Shift |
|`KC_LOCKING_CAPS`|`KC_LCAP`|Locking Caps Lock| |`KC_RALT` | |Right Alt |
|`KC_LOCKING_NUM`|`KC_LNUM`|Locking Num Lock| |`KC_RGUI` | |Right GUI (Windows/Command/Meta key) |
|`KC_LOCKING_SCROLL`|`KC_LSCR`|Locking Scroll Lock| |`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
|`KC_INT4`|`KC_HENK`|JIS Henken| |`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
|`KC_INT5`|`KC_MHEN`|JIS Muhenken| |`KC_LOCKING_SCROLL` |`KC_LSCR` |Locking Scroll Lock |
|`KC_PSCREEN`|`KC_PSCR`|PrintScreen| |`KC_INT4` |`KC_HENK` |JIS Henkan |
|`KC_SCROLLLOCK`|`KC_SLCK`|Scroll Lock| |`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
|`KC_PAUSE`|`KC_PAUS`|Pause| |`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|`KC_INSERT`|`KC_INS`|Insert| |`KC_SCROLLLOCK` |`KC_SLCK` |Scroll Lock |
|`KC_HOME`||Home| |`KC_PAUSE` |`KC_PAUS` |Pause |
|`KC_PGUP`||PageUp| |`KC_INSERT` |`KC_INS` |Insert |
|`KC_DELETE`|`KC_DEL`|Delete Forward| |`KC_HOME` | |Home |
|`KC_END`||End| |`KC_PGUP` | |Page Up |
|`KC_PGDOWN`|`KC_PGDN`|PageDown| |`KC_DELETE` |`KC_DEL` |Forward Delete |
|`KC_RIGHT`|`KC_RGHT`|RightArrow| |`KC_END` | |End |
|`KC_LEFT`||LeftArrow| |`KC_PGDOWN` |`KC_PGDN` |Page Down |
|`KC_DOWN`||DownArrow| |`KC_RIGHT` |`KC_RGHT` |Right Arrow |
|`KC_UP`||UpArrow| |`KC_LEFT` | |Left Arrow |
|`KC_APPLICATION`|`KC_APP`|Application| |`KC_DOWN` | |Down Arrow |
|`KC_POWER`||Old power button scancode. MS has deprecated this in favor of `KC_SYSTEM_POWER`.| |`KC_UP` | |Up Arrow |
|`KC_EXECUTE`||Execute| |`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key) |
|`KC_HELP`||Help| |`KC_POWER` | |Deprecated by MS in favor of `KC_SYSTEM_POWER`.|
|`KC_MENU`||Menu| |`KC_EXECUTE` | |Execute |
|`KC_SELECT`||Select| |`KC_HELP` | |Help |
|`KC_AGAIN`||Again| |`KC_MENU` | |Menu |
|`KC_UNDO`||Undo| |`KC_SELECT` | |Select |
|`KC_CUT`||Cut| |`KC_AGAIN` | |Again |
|`KC_COPY`||Copy| |`KC_UNDO` | |Undo |
|`KC_PASTE`||Paste| |`KC_CUT` | |Cut |
|`KC_FIND`||Find| |`KC_COPY` | |Copy |
|`KC_ALT_ERASE`||Alternate Erase| |`KC_PASTE` | |Paste |
|`KC_SYSREQ`||SysReq/Attention| |`KC_FIND` | |Find |
|`KC_CANCEL`||Cancel| |`KC_ALT_ERASE` | |Alternate Erase |
|`KC_CLEAR`||Clear| |`KC_SYSREQ` | |SysReq/Attention |
|`KC_PRIOR`||Prior| |`KC_CANCEL` | |Cancel |
|`KC_RETURN`||Return| |`KC_CLEAR` | |Clear |
|`KC_SEPARATOR`||Separator| |`KC_PRIOR` | |Prior |
|`KC_OUT`||Out| |`KC_RETURN` | |Return |
|`KC_OPER`||Oper| |`KC_SEPARATOR` | |Separator |
|`KC_CLEAR_AGAIN`||Clear/Again| |`KC_OUT` | |Out |
|`KC_CRSEL`||CrSel/Props| |`KC_OPER` | |Oper |
|`KC_EXSEL`||ExSel| |`KC_CLEAR_AGAIN` | |Clear/Again |
|`KC_SYSTEM_POWER`|`KC_PWR`|System Power Down. Recommended over `KC_POWER`.| |`KC_CRSEL` | |CrSel/Props |
|`KC_SYSTEM_SLEEP`|`KC_SLEP`|System Sleep| |`KC_EXSEL` | |ExSel |
|`KC_SYSTEM_WAKE`|`KC_WAKE`|System Wake| |`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down. Recommended over `KC_POWER`.|
|`KC_MAIL`|`KC_MAIL`|| |`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |
|`KC_CALCULATOR`|`KC_CALC`|| |`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake |
|`KC_MY_COMPUTER`|`KC_MYCM`|| |`KC_MAIL` |`KC_MAIL` | |
|`KC_WWW_SEARCH`|`KC_WSCH`|| |`KC_CALCULATOR` |`KC_CALC` | |
|`KC_WWW_HOME`|`KC_WHOM`|| |`KC_MY_COMPUTER` |`KC_MYCM` | |
|`KC_WWW_BACK`|`KC_WBAK`|| |`KC_WWW_SEARCH` |`KC_WSCH` | |
|`KC_WWW_FORWARD`|`KC_WFWD`|| |`KC_WWW_HOME` |`KC_WHOM` | |
|`KC_WWW_STOP`|`KC_WSTP`|| |`KC_WWW_BACK` |`KC_WBAK` | |
|`KC_WWW_REFRESH`|`KC_WREF`|| |`KC_WWW_FORWARD` |`KC_WFWD` | |
|`KC_WWW_FAVORITES`|`KC_WFAV`|| |`KC_WWW_STOP` |`KC_WSTP` | |
|`KC_STOP`||Stop| |`KC_WWW_REFRESH` |`KC_WREF` | |
|`KC__MUTE`||Mute (macOS)| |`KC_WWW_FAVORITES` |`KC_WFAV` | |
|`KC__VOLUP`||Volume Up (macOS)| |`KC_STOP` | |Stop |
|`KC__VOLDOWN`||Volume Down (macOS)| |`KC__MUTE` | |Mute (macOS) |
|`KC_AUDIO_MUTE`|`KC_MUTE`|Mute (Windows/macOS/Linux)| |`KC__VOLUP` | |Volume Up (macOS) |
|`KC_AUDIO_VOL_UP`|`KC_VOLU`|Volume Up (Windows/macOS/Linux)| |`KC__VOLDOWN` | |Volume Down (macOS) |
|`KC_AUDIO_VOL_DOWN`|`KC_VOLD`|Volume Down (Windows/macOS/Linux)| |`KC_AUDIO_MUTE` |`KC_MUTE` |Mute (Windows/macOS/Linux) |
|`KC_MEDIA_NEXT_TRACK`|`KC_MNXT`|Next Track (Windows)| |`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up (Windows/macOS/Linux) |
|`KC_MEDIA_PREV_TRACK`|`KC_MPRV`|Previous Track (Windows)| |`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down (Windows/macOS/Linux) |
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS)| |`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track (Windows) |
|`KC_MEDIA_REWIND`|`KC_MRWD`|Previous Track (macOS)| |`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track (Windows) |
|`KC_MEDIA_STOP`|`KC_MSTP`|| |`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |Next Track (macOS) |
|`KC_MEDIA_PLAY_PAUSE`|`KC_MPLY`|| |`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track (macOS) |
|`KC_MEDIA_SELECT`|`KC_MSEL`|| |`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track |
|`KC_NUMLOCK`|`KC_NLCK`|Keypad Num Lock and Clear| |`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |
|`KC_KP_SLASH`|`KC_PSLS`|Keypad /| |`KC_MEDIA_SELECT` |`KC_MSEL` | |
|`KC_KP_ASTERISK`|`KC_PAST`|Keypad *| |`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
|`KC_KP_MINUS`|`KC_PMNS`|Keypad -| |`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |
|`KC_KP_PLUS`|`KC_PPLS`|Keypad +| |`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |
|`KC_KP_ENTER`|`KC_PENT`|Keypad ENTER`| |`KC_KP_MINUS` |`KC_PMNS` |Keypad `-` |
|`KC_KP_1`|`KC_P1`|Keypad 1 and End| |`KC_KP_PLUS` |`KC_PPLS` |Keypad `+` |
|`KC_KP_2`|`KC_P2`|Keypad 2 and Down Arrow| |`KC_KP_ENTER` |`KC_PENT` |Keypad Enter |
|`KC_KP_3`|`KC_P3`|Keypad 3 and PageDn| |`KC_KP_1` |`KC_P1` |Keypad `1` and End |
|`KC_KP_4`|`KC_P4`|Keypad 4 and Left Arrow| |`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow |
|`KC_KP_5`|`KC_P5`|Keypad 5| |`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down |
|`KC_KP_6`|`KC_P6`|Keypad 6 and Right Arrow| |`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow |
|`KC_KP_7`|`KC_P7`|Keypad 7 and Home| |`KC_KP_5` |`KC_P5` |Keypad `5` |
|`KC_KP_8`|`KC_P8`|Keypad 8 and Up Arrow| |`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow |
|`KC_KP_9`|`KC_P9`|Keypad 9 and PageUp| |`KC_KP_7` |`KC_P7` |Keypad `7` and Home |
|`KC_KP_0`|`KC_P0`|Keypad 0 and Insert| |`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow |
|`KC_KP_DOT`|`KC_PDOT`|Keypad . and Delete| |`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
|`KC_KP_EQUAL`|`KC_PEQL`|Keypad =| |`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
|`KC_KP_COMMA`|`KC_PCMM`|Keypad Comma| |`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete |
|`KC_KP_EQUAL_AS400`||Keypad Equal Sign| |`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` |
|`KC_NO`||Ignore this key. (NOOP) | |`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` |
|`KC_TRNS`||Make this key transparent to find the key on a lower layer.| |`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards |
|[`KC_MS_UP`](feature_mouse_keys.md)|`KC_MS_U`|Mouse Cursor Up| |`KC_NO` | |Ignore this key (NOOP) |
|[`KC_MS_DOWN`](feature_mouse_keys.md)|`KC_MS_D`|Mouse Cursor Down| |`KC_TRANSPARENT` |`KC_TRNS` |Use the next lowest non-transparent key |
|[`KC_MS_LEFT`](feature_mouse_keys.md)|`KC_MS_L`|Mouse Cursor Left|
|[`KC_MS_RIGHT`](feature_mouse_keys.md)|`KC_MS_R`|Mouse Cursor Right| ## [Mouse Keys](feature_mouse_keys.md)
|[`KC_MS_BTN1`](feature_mouse_keys.md)|`KC_BTN1`|Mouse Button 1|
|[`KC_MS_BTN2`](feature_mouse_keys.md)|`KC_BTN2`|Mouse Button 2| |Key |Aliases |Description |
|[`KC_MS_BTN3`](feature_mouse_keys.md)|`KC_BTN3`|Mouse Button 3| |----------------|---------|---------------------------|
|[`KC_MS_BTN4`](feature_mouse_keys.md)|`KC_BTN4`|Mouse Button 4| |`KC_MS_UP` |`KC_MS_U`|Mouse Cursor Up |
|[`KC_MS_BTN5`](feature_mouse_keys.md)|`KC_BTN5`|Mouse Button 5| |`KC_MS_DOWN` |`KC_MS_D`|Mouse Cursor Down |
|[`KC_MS_WH_UP`](feature_mouse_keys.md)|`KC_WH_U`|Mouse Wheel Up| |`KC_MS_LEFT` |`KC_MS_L`|Mouse Cursor Left |
|[`KC_MS_WH_DOWN`](feature_mouse_keys.md)|`KC_WH_D`|Mouse Wheel Down| |`KC_MS_RIGHT` |`KC_MS_R`|Mouse Cursor Right |
|[`KC_MS_WH_LEFT`](feature_mouse_keys.md)|`KC_WH_L`|Mouse Wheel Left| |`KC_MS_BTN1` |`KC_BTN1`|Mouse Button 1 |
|[`KC_MS_WH_RIGHT`](feature_mouse_keys.md)|`KC_WH_R`|Mouse Wheel Right| |`KC_MS_BTN2` |`KC_BTN2`|Mouse Button 2 |
|[`KC_MS_ACCEL0`](feature_mouse_keys.md)|`KC_ACL0`|Mouse Acceleration 0| |`KC_MS_BTN3` |`KC_BTN3`|Mouse Button 3 |
|[`KC_MS_ACCEL1`](feature_mouse_keys.md)|`KC_ACL1`|Mouse Acceleration 1| |`KC_MS_BTN4` |`KC_BTN4`|Mouse Button 4 |
|[`KC_MS_ACCEL2`](feature_mouse_keys.md)|`KC_ACL2`|Mouse Acceleration 2| |`KC_MS_BTN5` |`KC_BTN5`|Mouse Button 5 |
|[`RESET`](quantum_keycodes.md#qmk-keycodes)||Put the keyboard into DFU mode for flashing| |`KC_MS_WH_UP` |`KC_WH_U`|Mouse Wheel Up |
|[`DEBUG`](quantum_keycodes.md#qmk-keycodes)||Toggles debug mode| |`KC_MS_WH_DOWN` |`KC_WH_D`|Mouse Wheel Down |
|[`KC_GESC`](quantum_keycodes.md#qmk-keycodes)|`GRAVE_ESC`|Acts as escape when pressed normally but when pressed with Shift or GUI will send a `~`| |`KC_MS_WH_LEFT` |`KC_WH_L`|Mouse Wheel Left |
|[`KC_LSPO`](quantum_keycodes.md#qmk-keycodes)||Left shift when held, open paranthesis when tapped| |`KC_MS_WH_RIGHT`|`KC_WH_R`|Mouse Wheel Right |
|[`KC_RSPC`](quantum_keycodes.md#qmk-keycodes)||Right shift when held, close paranthesis when tapped| |`KC_MS_ACCEL0` |`KC_ACL0`|Set mouse acceleration to 0|
|[`KC_LEAD`](feature_leader_key.md)||The leader key| |`KC_MS_ACCEL1` |`KC_ACL1`|Set mouse acceleration to 1|
|[`FUNC(n)`](quantum_keycodes.md#qmk-keycodes)|`F(n)`|Call `fn_action(n)`| |`KC_MS_ACCEL2` |`KC_ACL2`|Set mouse acceleration to 2|
|[`M(n)`](quantum_keycodes.md#qmk-keycodes)||to call macro n|
|[`MACROTAP(n)`](quantum_keycodes.md#qmk-keycodes)||to macro-tap n idk FIXME`| ## [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes)
|[`MAGIC_SWAP_CONTROL_CAPSLOCK`](feature_bootmagic.md)||Swap Capslock and Left Control|
|[`MAGIC_CAPSLOCK_TO_CONTROL`](feature_bootmagic.md)||Treat Capslock like a Control Key| |Key |Aliases |Description |
|[`MAGIC_SWAP_LALT_LGUI`](feature_bootmagic.md)||Swap the left Alt and GUI keys| |-------------|-----------|---------------------------------------------------------------------|
|[`MAGIC_SWAP_RALT_RGUI`](feature_bootmagic.md)||Swap the right Alt and GUI keys| |`RESET` | |Put the keyboard into DFU mode for flashing |
|[`MAGIC_NO_GUI`](feature_bootmagic.md)||Disable the GUI key| |`DEBUG` | |Toggle debug mode |
|[`MAGIC_SWAP_GRAVE_ESC`](feature_bootmagic.md)||Swap the Grave and Esc key.| |`KC_GESC` |`GRAVE_ESC`|Escape when tapped, <code>&#96;</code> when pressed with Shift or GUI|
|[`MAGIC_SWAP_BACKSLASH_BACKSPACE`](feature_bootmagic.md)||Swap backslack and backspace| |`KC_LSPO` | |Left Shift when held, `(` when tapped |
|[`MAGIC_HOST_NKRO`](feature_bootmagic.md)||Force NKRO on| |`KC_RSPC` | |Right Shift when held, `)` when tapped |
|[`MAGIC_SWAP_ALT_GUI`/`AG_SWAP`](feature_bootmagic.md)||Swap Alt and Gui on both sides| |`KC_LEAD` | |The [Leader key](feature_leader_key.md) |
|[`MAGIC_UNSWAP_CONTROL_CAPSLOCK`](feature_bootmagic.md)||Disable the Control/Capslock swap| |`KC_LOCK` | |The [Lock key](feature_key_lock.md) |
|[`MAGIC_UNCAPSLOCK_TO_CONTROL`](feature_bootmagic.md)||Disable treating Capslock like Control | |`FUNC(n)` |`F(n)` |Call `fn_action(n)` (deprecated) |
|[`MAGIC_UNSWAP_LALT_LGUI`](feature_bootmagic.md)||Disable Left Alt and GUI switching| |`M(n)` | |Call macro `n` |
|[`MAGIC_UNSWAP_RALT_RGUI`](feature_bootmagic.md)||Disable Right Alt and GUI switching| |`MACROTAP(n)`| |Macro-tap `n` idk FIXME |
|[`MAGIC_UNNO_GUI`](feature_bootmagic.md)||Enable the GUI key |
|[`MAGIC_UNSWAP_GRAVE_ESC`](feature_bootmagic.md)||Disable the Grave/Esc swap | ## [Bootmagic](feature_bootmagic.md)
|[`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`](feature_bootmagic.md)||Disable the backslash/backspace swap|
|[`MAGIC_UNHOST_NKRO`](feature_bootmagic.md)||Force NKRO off| |Key |Aliases |Description |
|[`MAGIC_UNSWAP_ALT_GUI`/`AG_NORM`](feature_bootmagic.md)||Disable the Alt/GUI switching| |----------------------------------|---------|------------------------------------|
|[`MAGIC_TOGGLE_NKRO`](feature_bootmagic.md)||Turn NKRO on or off| |`MAGIC_SWAP_CONTROL_CAPSLOCK` | |Swap Caps Lock and Left Control |
|[`BL_x`](feature_backlight.md)||Set a specific backlight level between 0-9| |`MAGIC_CAPSLOCK_TO_CONTROL` | |Treat Caps Lock as Control |
|[`BL_ON`](feature_backlight.md)||An alias for `BL_9`| |`MAGIC_SWAP_LALT_LGUI` | |Swap Left Alt and GUI |
|[`BL_OFF`](feature_backlight.md)||An alias for `BL_0`| |`MAGIC_SWAP_RALT_RGUI` | |Swap Right Alt and GUI |
|[`BL_DEC`](feature_backlight.md)||Turn the backlight level down by 1| |`MAGIC_NO_GUI` | |Disable the GUI key |
|[`BL_INC`](feature_backlight.md)||Turn the backlight level up by 1| |`MAGIC_SWAP_GRAVE_ESC` | |Swap <code>&#96;</code> and Escape |
|[`BL_TOGG`](feature_backlight.md)||Toggle the backlight on or off| |`MAGIC_SWAP_BACKSLASH_BACKSPACE` | |Swap `\` and Backspace |
|[`BL_STEP`](feature_backlight.md)||Step through backlight levels, wrapping around to 0 when you reach the top.| |`MAGIC_HOST_NKRO` | |Force NKRO on |
|[`RGB_TOG`](feature_rgblight.md)||toggle on/off| |`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides |
|[`RGB_MOD`](feature_rgblight.md)||cycle through modes| |`MAGIC_UNSWAP_CONTROL_CAPSLOCK` | |Unswap Caps Lock and Left Control |
|[`RGB_HUI`](feature_rgblight.md)||hue increase| |`MAGIC_UNCAPSLOCK_TO_CONTROL` | |Stop treating Caps Lock as Control |
|[`RGB_HUD`](feature_rgblight.md)||hue decrease| |`MAGIC_UNSWAP_LALT_LGUI` | |Unswap Left Alt and GUI |
|[`RGB_SAI`](feature_rgblight.md)||saturation increase| |`MAGIC_UNSWAP_RALT_RGUI` | |Unswap Right Alt and GUI |
|[`RGB_SAD`](feature_rgblight.md)||saturation decrease| |`MAGIC_UNNO_GUI` | |Enable the GUI key |
|[`RGB_VAI`](feature_rgblight.md)||value increase| |`MAGIC_UNSWAP_GRAVE_ESC` | |Unswap <code>&#96;</code> and Escape|
|[`RGB_VAD`](feature_rgblight.md)||value decrease| |`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`| |Unswap `\` and Backspace |
|[`PRINT_ON`](feature_thermal_printer.md)||Start printing everything the user types| |`MAGIC_UNHOST_NKRO` | |Force NKRO off |
|[`PRINT_OFF`](feature_thermal_printer.md)||Stop printing everything the user types| |`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides |
|[`OUT_AUTO`](feature_bluetooth.md)||auto mode| |`MAGIC_TOGGLE_NKRO` | |Turn NKRO on or off |
|[`OUT_USB`](feature_bluetooth.md)||usb only|
|[`OUT_BT`](feature_bluetooth.md)||bluetooth (when `BLUETOOTH_ENABLE`)| ## [Backlighting](feature_backlight.md)
|[`KC_HYPR`](quantum_keycodes.md#modifiers)||Hold down LCTL + LSFT + LALT + LGUI`|
|[`KC_MEH`](quantum_keycodes.md#modifiers)||Hold down LCTL + LSFT + LALT`| |Key |Description |
|[`LCTL(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `kc`| |---------|------------------------------------------|
|[`LSFT(kc)`](quantum_keycodes.md#modifiers)|[`S(kc)`](quantum_keycodes.md#modifiers)|`LSFT` + `kc`| |`BL_TOGG`|Turn the backlight on or off |
|[`LALT(kc)`](quantum_keycodes.md#modifiers)||`LALT` + `kc`| |`BL_STEP`|Cycle through backlight levels |
|[`LGUI(kc)`](quantum_keycodes.md#modifiers)||`LGUI` + `kc`| |`BL_x` |Set a specific backlight level between 0-9|
|[`RCTL(kc)`](quantum_keycodes.md#modifiers)||`RCTL` + `kc`| |`BL_ON` |An alias for `BL_9` |
|[`RSFT(kc)`](quantum_keycodes.md#modifiers)||`RSFT` + `kc`| |`BL_OFF` |An alias for `BL_0` |
|[`RALT(kc)`](quantum_keycodes.md#modifiers)||`RALT` + `kc`| |`BL_INC` |Increase backlight level |
|[`RGUI(kc)`](quantum_keycodes.md#modifiers)||`RGUI` + `kc`| |`BL_DEC` |Decrease backlight level |
|[`HYPR(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LSFT` + `LALT` + `LGUI` + `kc`|
|[`MEH(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LSFT` + `LALT` + `kc`| ## [RGB Lighting](feature_rgblight.md)
|[`LCAG(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LALT` + `LGUI` + `kc`|
|[`ALTG(kc)`](quantum_keycodes.md#modifiers)||`RCTL` + `RALT` + `kc`| |Key |Aliases |Description |
|[`SCMD(kc)`](quantum_keycodes.md#modifiers)|[`SWIN(kc)`](quantum_keycodes.md#modifiers)|`LGUI` + `LSFT` + `kc`| |-------------------|----------|--------------------------------------------------------------------|
|[`LCA(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LALT` + `kc`| |`RGB_TOG` | |Toggle RGB lighting on or off |
|[`CTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LCTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LCTL` when held, `kc` when tapped| |`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|[`RCTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)||[`RCTL` when held, `kc` when tapped| |`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
|[`SFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LSFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LSFT` when held, `kc` when tapped| |`RGB_HUI` | |Increase hue |
|[`RSFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)||[`RSFT` when held, `kc` when tapped| |`RGB_HUD` | |Decrease hue |
|[`ALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LALT` when held, `kc` when tapped| |`RGB_SAI` | |Increase saturation |
|[`RALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`ALGR_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`RALT` when held, `kc` when tapped| |`RGB_SAD` | |Decrease saturation |
|[`GUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LGUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LGUI` when held, `kc` when tapped| |`RGB_VAI` | |Increase value (brightness) |
|[`RGUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`RGUI` when held, `kc` when tapped| |`RGB_VAD` | |Decrease value (brightness) |
|[`C_S_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LSFT` when held, `kc` when tapped| |`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
|[`MEH_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LSFT` + `LALT` when held, `kc` when tapped| |`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
|[`LCAG_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LALT` + `LGUI` when held, `kc` when tapped| |`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
|[`RCAG_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`RCTL` + `RALT` + `RGUI` when held, `kc` when tapped| |`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode |
|[`ALL_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LSFT` + `LALT` + `LGUI` when held, `kc` when tapped [more info](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)| |`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode |
|[`SCMD_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`SWIN_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LGUI` + `LSFT` when held, `kc` when tapped| |`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode |
|[`LCA_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LALT` when held, `kc` when tapped| |`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode |
|[`KC_TILD`](keycodes_us_ansi_shifted.md)|`KC_TILDE`|tilde `~`| |`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode |
|[`KC_EXLM`](keycodes_us_ansi_shifted.md)|`KC_EXCLAIM`|exclamation mark `!`|
|[`KC_AT`](keycodes_us_ansi_shifted.md)||at sign `@`| ## [Thermal Printer](feature_thermal_printer.md)
|[`KC_HASH`](keycodes_us_ansi_shifted.md)||hash sign `#`|
|[`KC_DLR`](keycodes_us_ansi_shifted.md)|`KC_DOLLAR`|dollar sign `$`| |Key |Description |
|[`KC_PERC`](keycodes_us_ansi_shifted.md)|`KC_PERCENT`|percent sign `%`| |-----------|----------------------------------------|
|[`KC_CIRC`](keycodes_us_ansi_shifted.md)|`KC_CIRCUMFLEX`|circumflex `^`| |`PRINT_ON` |Start printing everything the user types|
|[`KC_AMPR`](keycodes_us_ansi_shifted.md)|`KC_AMPERSAND`|ampersand `&`| |`PRINT_OFF`|Stop printing everything the user types |
|[`KC_ASTR`](keycodes_us_ansi_shifted.md)|`KC_ASTERISK`|asterisk `*`|
|[`KC_LPRN`](keycodes_us_ansi_shifted.md)|`KC_LEFT_PAREN`|left parenthesis `(`| ## [Bluetooth](feature_bluetooth.md)
|[`KC_RPRN`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_PAREN`|right parenthesis `)`|
|[`KC_UNDS`](keycodes_us_ansi_shifted.md)|`KC_UNDERSCORE`|underscore `_`| |Key |Description |
|[`KC_PLUS`](keycodes_us_ansi_shifted.md)||plus sign `+`| |----------|----------------------------------------------|
|[`KC_LCBR`](keycodes_us_ansi_shifted.md)|`KC_LEFT_CURLY_BRACE`|left curly brace `{`| |`OUT_AUTO`|Automatically switch between USB and Bluetooth|
|[`KC_RCBR`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_CURLY_BRACE`|right curly brace `}`| |`OUT_USB` |USB only |
|[`KC_LT`/`KC_LABK`](keycodes_us_ansi_shifted.md)|`KC_LEFT_ANGLE_BRACKET`|left angle bracket `<`| |`OUT_BT` |Bluetooth only |
|[`KC_GT`/`KC_RABK`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_ANGLE_BRACKET`|right angle bracket `>`|
|[`KC_COLN`](keycodes_us_ansi_shifted.md)|`KC_COLON`|colon `:`| ## [Modifiers](quantum_keycodes.md#modifiers)
|[`KC_PIPE`](keycodes_us_ansi_shifted.md)||pipe `\|`|
|[`KC_QUES`](keycodes_us_ansi_shifted.md)|`KC_QUESTION`|question mark `?`| |Key |Aliases |Description |
|[`KC_DQT`/`KC_DQUO`](keycodes_us_ansi_shifted.md)|`KC_DOUBLE_QUOTE`|double quote `"`| |----------|----------|----------------------------------------------------|
|[`LT(layer, kc)`](feature_common_shortcuts.md#switching-and-toggling-layers)||turn on layer (0-15) when held, kc ([basic keycodes](keycodes_basic.md)) when tapped| |`KC_HYPR` | |Hold Left Control, Shift, Alt and GUI |
|[`TO(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||turn on layer when depressed| |`KC_MEH` | |Hold Left Control, Shift and Alt |
|[`MO(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||momentarily turn on layer when depressed (requires `KC_TRNS` on destination layer)| |`LCTL(kc)`| |Hold Left Control and press `kc` |
|[`DF(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||sets the base (default) layer| |`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|[`TG(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||toggle layer on/off| |`LALT(kc)`| |Hold Left Alt and press `kc` |
|[`TT(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||tap toggle? idk FIXME`| |`LGUI(kc)`| |Hold Left GUI and press `kc` |
|[`OSM(mod)`](quantum_keycodes.md#one-shot-keys)||hold mod for one keypress| |`RCTL(kc)`| |Hold Right Control and press `kc` |
|[`OSL(layer)`](quantum_keycodes.md#one-shot-keys)||switch to layer for one keypress| |`RSFT(kc)`| |Hold Right Shift and press `kc` |
|[`UNICODE(n)`](feature_unicode.md)|[`UC(n)`](feature_unicode.md)|if `UNICODE_ENABLE`, this will send characters up to `0x7FFF`| |`RALT(kc)`| |Hold Right Alt and press `kc` |
|[`X(n)`](feature_unicode.md)||if `UNICODEMAP_ENABLE`, also sends unicode via a different method| |`RGUI(kc)`| |Hold Right GUI and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`ALTG(kc)`| |Hold Right Control and Alt and press `kc` |
|`SCMD(kc)`|`SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
## [Mod-Tap Keys](quantum_keycodes.md#mod-tap-keys)
|Key |Aliases |Description |
|------------|------------|-------------------------------------------------------|
|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
|`RALT_T(kc)`|`ALGR_T(kc)`|Right Alt when held, `kc` when tapped |
|`LGUI_T(kc)`|`GUI_T(kc)` |Left GUI when held, `kc` when tapped |
|`RGUI_T(kc)`| |Right GUI when held, `kc` when tapped |
|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
|`ALL_T(kc)` | |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
|`SCMD_T(kc)`|`SWIN_T(kc)`|Left Shift and GUI when held, `kc` when tapped |
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
## [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
|Key |Aliases |Description |
|------------------------|------------------|-------------------|
|`KC_TILDE` |`KC_TILD` |`~` |
|`KC_EXCLAIM` |`KC_EXLM` |`!` |
|`KC_AT` | |`@` |
|`KC_HASH` | |`#` |
|`KC_DOLLAR` |`KC_DLR` |`$` |
|`KC_PERCENT` |`KC_PERC` |`%` |
|`KC_CIRCUMFLEX` |`KC_CIRC` |`^` |
|`KC_AMPERSAND` |`KC_AMPR` |`&` |
|`KC_ASTERISK` |`KC_ASTR` |`*` |
|`KC_LEFT_PAREN` |`KC_LPRN` |`(` |
|`KC_RIGHT_PAREN` |`KC_RPRN` |`)` |
|`KC_UNDERSCORE` |`KC_UNDS` |`_` |
|`KC_PLUS` | |`+` |
|`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` |
|`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` |
|`KC_PIPE` | |<code>&#124;</code>|
|`KC_COLON` |`KC_COLN` |`:` |
|`KC_DOUBLE_QUOTE` |`KC_DQT`/`KC_DQUO`|`"` |
|`KC_LEFT_ANGLE_BRACKET` |`KC_LT`/`KC_LABK` |`<` |
|`KC_RIGHT_ANGLE_BRACKET`|`KC_GT`/`KC_RABK` |`>` |
|`KC_QUESTION` |`KC_QUES` |`?` |
## [Switching and Toggling Layers](feature_common_shortcuts.md#switching-and-toggling-layers)
|Key |Description |
|---------------|----------------------------------------------------------------------------------|
|`LT(layer, kc)`|Turn on `layer` when held, `kc` when tapped |
|`TO(layer)` |Turn on `layer` when pressed |
|`MO(layer)` |Momentarily turn on `layer` when pressed (requires `KC_TRNS` on destination layer)|
|`DF(layer)` |Set the base (default) layer |
|`TG(layer)` |Toggle `layer` on or off |
|`TT(layer)` |Tap toggle? idk FIXME |
## [One Shot Keys](quantum_keycodes.md#one-shot-keys)
|Key |Description |
|------------|----------------------------------|
|`OSM(mod)` |Hold `mod` for one keypress |
|`OSL(layer)`|Switch to `layer` for one keypress|
## [Unicode Support](feature_unicode.md)
|Key |Aliases| |
|------------|-------|-------------------------------------------------|
|`UNICODE(n)`|`UC(n)`|Send Unicode character `n` |
|`X(n)` | |Send Unicode character `n` via a different method|

@ -1,192 +1,230 @@
# Basic Keycodes # Basic Keycodes
Basic keycodes are based on [HID Usage Keyboard/Keypad Page(0x07)](http://www.usb.org/developers/hidpage/Hut1_12v2.pdf) with following exceptions: 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.
* `KC_NO` = 0 for no action
* `KC_TRNS` = 1 for layer transparency
* internal special keycodes in the `0xA5-DF` range (tmk heritage).
## Letters and Numbers ## Letters and Numbers
|KC_1|KC_2|KC_3|KC_4|KC_5|KC_6|KC_7|KC_8| |Key |Description|
|----|----|----|----|----|----|----|----| |------|-----------|
|KC_9|KC_0|KC_F1|KC_F2|KC_F3|KC_F4|KC_F5|KC_F6| |`KC_A`|`a` and `A`|
|KC_F7|KC_F8|KC_F9|KC_F10|KC_F11|KC_F12|KC_F13|KC_F14| |`KC_B`|`b` and `B`|
|KC_F15|KC_F16|KC_F17|KC_F18|KC_F19|KC_F20|KC_F21|KC_F22| |`KC_C`|`c` and `C`|
|KC_F23|KC_F24|KC_A|KC_B|KC_C|KC_D|KC_E|KC_F| |`KC_D`|`d` and `D`|
|KC_G|KC_H|KC_I|KC_J|KC_K|KC_L|KC_M|KC_N| |`KC_E`|`e` and `E`|
|KC_O|KC_P|KC_Q|KC_R|KC_S|KC_T|KC_U|KC_V| |`KC_F`|`f` and `F`|
|KC_W|KC_X|KC_Y|KC_Z||||| |`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 ## Punctuation
|Long Name|Short Name|Description| |Key |Aliases |Description |
|---------|----------|-----------| |-----------------|---------|----------------------------------|
|KC_ENTER|KC_ENT|`Return (ENTER)`| |`KC_ENTER` |`KC_ENT` |Return (Enter) |
|KC_ESCAPE|KC_ESC|`ESCAPE`| |`KC_ESCAPE` |`KC_ESC` |Escape |
|KC_BSPACE|KC_BSPC|`DELETE (Backspace)`| |`KC_BSPACE` |`KC_BSPC`|Delete (Backspace) |
|KC_TAB||`Tab`| |`KC_TAB` | |Tab |
|KC_SPACE|KC_SPC|Spacebar| |`KC_SPACE` |`KC_SPC` |Spacebar |
|KC_MINUS|KC_MINS|`-` and `_`| |`KC_MINUS` |`KC_MINS`|`-` and `_` |
|KC_EQUAL|KC_EQL|`=` and `+`| |`KC_EQUAL` |`KC_EQL` |`=` and `+` |
|KC_LBRACKET|KC_LBRC|`[` and `{`| |`KC_LBRACKET` |`KC_LBRC`|`[` and `{` |
|KC_RBRACKET|KC_RBRC|`]` and `}`| |`KC_RBRACKET` |`KC_RBRC`|`]` and `}` |
|KC_BSLASH|KC_BSLS|`\` and <code>&#124;</code> | |`KC_BSLASH` |`KC_BSLS`|`\` and <code>&#124;</code> |
|KC_NONUS_HASH|KC_NUHS|Non-US `#` and `~`| |`KC_NONUS_HASH` |`KC_NUHS`|Non-US `#` and `~` |
|KC_NONUS_BSLASH|KC_NUBS|Non-US `\` and <code>&#124;</code> | |`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>&#124;</code>|
|KC_INT1|KC_RO|JIS `\` and <code>&#124;</code> | |`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</code> |
|KC_INT2|KC_KANA|International216| |`KC_INT2` |`KC_KANA`|JIS Katakana/Hiragana |
|KC_INT3|KC_JYEN|Yen Symbol (`¥`)| |`KC_INT3` |`KC_JYEN`|JIS `¥` |
|KC_SCOLON|KC_SCLN|`;` and `:`| |`KC_SCOLON` |`KC_SCLN`|`;` and `:` |
|KC_QUOTE|KC_QUOT|`` and `“`| |`KC_QUOTE` |`KC_QUOT`|`'` and `"` |
|KC_GRAVE|KC_GRV|Grave Accent and Tilde| |`KC_GRAVE` |`KC_GRV` |<code>&#96;</code> and `~` |
|KC_COMMA|KC_COMM|`,` and `<`| |`KC_COMMA` |`KC_COMM`|`,` and `<` |
|KC_DOT||`.` and `>`| |`KC_DOT` | |`.` and `>` |
|KC_SLASH|KC_SLSH|`/` and `?`| |`KC_SLASH` |`KC_SLSH`|`/` and `?` |
|KC_CAPSLOCK|KC_CAPS|Caps Lock| |`KC_CAPSLOCK` |`KC_CAPS`|Caps Lock |
## Modifiers ## Modifiers
|Long Name|Short Name|Description| |Key |Aliases |Description |
|---------|----------|-----------| |-------------------|---------|------------------------------------|
|KC_LCTRL|KC_LCTL|LeftControl| |`KC_LCTRL` |`KC_LCTL`|Left Control |
|KC_LSHIFT|KC_LSFT|LeftShift| |`KC_LSHIFT` |`KC_LSFT`|Left Shift |
|KC_LALT||LeftAlt| |`KC_LALT` | |Left Alt |
|KC_LGUI||Left GUI(Windows/Apple/Meta key)| |`KC_LGUI` | |Left GUI (Windows/Command/Meta key) |
|KC_RCTRL|KC_RCTL|RightControl| |`KC_RCTRL` |`KC_RCTL`|Right Control |
|KC_RSHIFT|KC_RSFT|RightShift| |`KC_RSHIFT` |`KC_RSFT`|Right Shift |
|KC_RALT||RightAlt| |`KC_RALT` | |Right Alt |
|KC_RGUI||Right GUI(Windows/Apple/Meta key)| |`KC_RGUI` | |Right GUI (Windows/Command/Meta key)|
|KC_LOCKING_CAPS|KC_LCAP|Locking Caps Lock| |`KC_LOCKING_CAPS` |`KC_LCAP`|Locking Caps Lock |
|KC_LOCKING_NUM|KC_LNUM|Locking Num Lock| |`KC_LOCKING_NUM` |`KC_LNUM`|Locking Num Lock |
|KC_LOCKING_SCROLL|KC_LSCR|Locking Scroll Lock| |`KC_LOCKING_SCROLL`|`KC_LSCR`|Locking Scroll Lock |
|KC_INT4|KC_HENK|JIS Henken| |`KC_INT4` |`KC_HENK`|JIS Henkan |
|KC_INT5|KC_MHEN|JIS Muhenken| |`KC_INT5` |`KC_MHEN`|JIS Muhenkan |
## Commands ## Commands
|Long Name|Short Name|Description| |Key |Aliases |Description |
|---------|----------|-----------| |------------------|---------|------------------------------|
|KC_PSCREEN|KC_PSCR|PrintScreen| |`KC_PSCREEN` |`KC_PSCR`|Print Screen |
|KC_SCROLLLOCK|KC_SLCK|Scroll Lock| |`KC_SCROLLLOCK` |`KC_SLCK`|Scroll Lock |
|KC_PAUSE|KC_PAUS|Pause| |`KC_PAUSE` |`KC_PAUS`|Pause |
|KC_INSERT|KC_INS|Insert| |`KC_INSERT` |`KC_INS` |Insert |
|KC_HOME||Home| |`KC_HOME` | |Home |
|KC_PGUP||PageUp| |`KC_PGUP` | |Page Up |
|KC_DELETE|KC_DEL|Delete Forward| |`KC_DELETE` |`KC_DEL` |Forward Delete |
|KC_END||End| |`KC_END` | |End |
|KC_PGDOWN|KC_PGDN|PageDown| |`KC_PGDOWN` |`KC_PGDN`|Page Down |
|KC_RIGHT|KC_RGHT|RightArrow| |`KC_RIGHT` |`KC_RGHT`|Right Arrow |
|KC_LEFT||LeftArrow| |`KC_LEFT` | |Left Arrow |
|KC_DOWN||DownArrow| |`KC_DOWN` | |Down Arrow |
|KC_UP||UpArrow| |`KC_UP` | |Up Arrow |
|KC_APPLICATION|KC_APP|Application| |`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key)|
|KC_POWER||Power| |`KC_POWER` | |Power |
|KC_EXECUTE||Execute| |`KC_EXECUTE` | |Execute |
|KC_HELP||Help| |`KC_HELP` | |Help |
|KC_MENU||Menu| |`KC_MENU` | |Menu |
|KC_SELECT||Select| |`KC_SELECT` | |Select |
|KC_AGAIN||Again| |`KC_AGAIN` | |Again |
|KC_UNDO||Undo| |`KC_UNDO` | |Undo |
|KC_CUT||Cut| |`KC_CUT` | |Cut |
|KC_COPY||Copy| |`KC_COPY` | |Copy |
|KC_PASTE||Paste| |`KC_PASTE` | |Paste |
|KC_FIND||Find| |`KC_FIND` | |Find |
|KC_ALT_ERASE||Alternate Erase| |`KC_ALT_ERASE` | |Alternate Erase |
|KC_SYSREQ||SysReq/Attention| |`KC_SYSREQ` | |SysReq/Attention |
|KC_CANCEL||Cancel| |`KC_CANCEL` | |Cancel |
|KC_CLEAR||Clear| |`KC_CLEAR` | |Clear |
|KC_PRIOR||Prior| |`KC_PRIOR` | |Prior |
|KC_RETURN||Return| |`KC_RETURN` | |Return |
|KC_SEPARATOR||Separator| |`KC_SEPARATOR` | |Separator |
|KC_OUT||Out| |`KC_OUT` | |Out |
|KC_OPER||Oper| |`KC_OPER` | |Oper |
|KC_CLEAR_AGAIN||Clear/Again| |`KC_CLEAR_AGAIN` | |Clear/Again |
|KC_CRSEL||CrSel/Props| |`KC_CRSEL` | |CrSel/Props |
|KC_EXSEL||ExSel| |`KC_EXSEL` | |ExSel |
|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_WWW_FAVORITES|KC_WFAV||
## Media Keys ## Media Keys
Windows and Mac use different key codes for next track and previous track. Make sure you choose the keycode that corresponds to your OS. 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.
|Long Name|Short Name|Description| Windows and macOS use different keycodes for "next track" and "previous track". Make sure you choose the keycode that corresponds to your OS.
|---------|----------|-----------|
|KC_STOP||Stop| |Key |Aliases |Description |
|KC__MUTE||Mute (macOS)| |-----------------------|---------|---------------------------------|
|KC__VOLUP||Volume Up (macOS)| |`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|KC__VOLDOWN||Volume Down (macOS)| |`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
|KC_AUDIO_MUTE|KC_MUTE|Mute (Windows/macOS/Linux)| |`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
|KC_AUDIO_VOL_UP|KC_VOLU|Volume Up (Windows/macOS/Linux)| |`KC_MAIL` |`KC_MAIL`| |
|KC_AUDIO_VOL_DOWN|KC_VOLD|Volume Down (Windows/macOS/Linux)| |`KC_CALCULATOR` |`KC_CALC`| |
|KC_MEDIA_NEXT_TRACK|KC_MNXT|Next Track (Windows)| |`KC_MY_COMPUTER` |`KC_MYCM`| |
|KC_MEDIA_PREV_TRACK|KC_MPRV|Previous Track (Windows)| |`KC_WWW_SEARCH` |`KC_WSCH`| |
|KC_MEDIA_FAST_FORWARD|KC_MFFD|Next Track (macOS)| |`KC_WWW_HOME` |`KC_WHOM`| |
|KC_MEDIA_REWIND|KC_MRWD|Previous Track (macOS)| |`KC_WWW_BACK` |`KC_WBAK`| |
|KC_MEDIA_STOP|KC_MSTP|| |`KC_WWW_FORWARD` |`KC_WFWD`| |
|KC_MEDIA_PLAY_PAUSE|KC_MPLY|| |`KC_WWW_STOP` |`KC_WSTP`| |
|KC_MEDIA_SELECT|KC_MSEL|| |`KC_WWW_REFRESH` |`KC_WREF`| |
|`KC_STOP` | |Stop |
## Numpad |`KC_WWW_FAVORITES` |`KC_WFAV`| |
|`KC__MUTE` | |Mute (macOS) |
|Long Name|Short Name|Description| |`KC__VOLUP` | |Volume Up (macOS) |
|---------|----------|-----------| |`KC__VOLDOWN` | |Volume Down (macOS) |
|KC_NUMLOCK|KC_NLCK|Keypad Num Lock and Clear| |`KC_AUDIO_MUTE` |`KC_MUTE`|Mute (Windows/macOS/Linux) |
|KC_KP_SLASH|KC_PSLS|Keypad /| |`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up (Windows/macOS/Linux) |
|KC_KP_ASTERISK|KC_PAST|Keypad *| |`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down (Windows/macOS/Linux)|
|KC_KP_MINUS|KC_PMNS|Keypad -| |`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track (Windows) |
|KC_KP_PLUS|KC_PPLS|Keypad +| |`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track (Windows) |
|KC_KP_ENTER|KC_PENT|Keypad ENTER| |`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) |
|KC_KP_1|KC_P1|Keypad 1 and End| |`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) |
|KC_KP_2|KC_P2|Keypad 2 and Down Arrow| |`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track |
|KC_KP_3|KC_P3|Keypad 3 and PageDn| |`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|KC_KP_4|KC_P4|Keypad 4 and Left Arrow| |`KC_MEDIA_SELECT` |`KC_MSEL`| |
|KC_KP_5|KC_P5|Keypad 5|
|KC_KP_6|KC_P6|Keypad 6 and Right Arrow| ## Number Pad
|KC_KP_7|KC_P7|Keypad 7 and Home|
|KC_KP_8|KC_P8|Keypad 8 and Up Arrow| |Key |Aliases |Description |
|KC_KP_9|KC_P9|Keypad 9 and PageUp| |-------------------|---------|------------------------------|
|KC_KP_0|KC_P0|Keypad 0 and Insert| |`KC_NUMLOCK` |`KC_NLCK`|Keypad Num Lock and Clear |
|KC_KP_DOT|KC_PDOT|Keypad . and Delete| |`KC_KP_SLASH` |`KC_PSLS`|Keypad `/` |
|KC_KP_EQUAL|KC_PEQL|Keypad =| |`KC_KP_ASTERISK` |`KC_PAST`|Keypad `*` |
|KC_KP_COMMA|KC_PCMM|Keypad Comma| |`KC_KP_MINUS` |`KC_PMNS`|Keypad `-` |
|KC_KP_EQUAL_AS400||Keypad Equal Sign| |`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 ## Special Keys
|Long Name|Short Name|Description| In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use by TMK.
|---------|----------|-----------|
|KC_NO||Ignore this key. (NOOP) | |Key |Aliases |Description |
|----------------|---------|---------------------------------------|
## Mousekey |`KC_NO` | |Ignore this key (NOOP) |
|`KC_TRANSPARENT`|`KC_TRNS`|Use the next lowest non-transparent key|
|Long Name|Short Name|Description|
|---------|----------|-----------|
|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|

@ -6,26 +6,26 @@ It's important to remember that all of these keycodes send a left shift - this m
## US ANSI Shifted Keycodes ## US ANSI Shifted Keycodes
|Short Name|Long Name|Description| |Key |Aliases |Description |
|----------|---------|-----------| |------------------------|------------------|-------------------|
|`KC_TILD`|`KC_TILDE`|tilde `~`| |`KC_TILDE` |`KC_TILD` |`~` |
|`KC_EXLM`|`KC_EXCLAIM`|exclamation mark `!`| |`KC_EXCLAIM` |`KC_EXLM` |`!` |
|`KC_AT`||at sign `@`| |`KC_AT` | |`@` |
|`KC_HASH`||hash sign `#`| |`KC_HASH` | |`#` |
|`KC_DLR`|`KC_DOLLAR`|dollar sign `$`| |`KC_DOLLAR` |`KC_DLR` |`$` |
|`KC_PERC`|`KC_PERCENT`|percent sign `%`| |`KC_PERCENT` |`KC_PERC` |`%` |
|`KC_CIRC`|`KC_CIRCUMFLEX`|circumflex `^`| |`KC_CIRCUMFLEX` |`KC_CIRC` |`^` |
|`KC_AMPR`|`KC_AMPERSAND`|ampersand `&`| |`KC_AMPERSAND` |`KC_AMPR` |`&` |
|`KC_ASTR`|`KC_ASTERISK`|asterisk `*`| |`KC_ASTERISK` |`KC_ASTR` |`*` |
|`KC_LPRN`|`KC_LEFT_PAREN`|left parenthesis `(`| |`KC_LEFT_PAREN` |`KC_LPRN` |`(` |
|`KC_RPRN`|`KC_RIGHT_PAREN`|right parenthesis `)`| |`KC_RIGHT_PAREN` |`KC_RPRN` |`)` |
|`KC_UNDS`|`KC_UNDERSCORE`|underscore `_`| |`KC_UNDERSCORE` |`KC_UNDS` |`_` |
|`KC_PLUS`||plus sign `+`| |`KC_PLUS` | |`+` |
|`KC_LCBR`|`KC_LEFT_CURLY_BRACE`|left curly brace `{`| |`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` |
|`KC_RCBR`|`KC_RIGHT_CURLY_BRACE`|right curly brace `}`| |`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` |
|`KC_LT`/`KC_LABK`|`KC_LEFT_ANGLE_BRACKET`|left angle bracket `<`| |`KC_PIPE` | |<code>&#124;</code>|
|`KC_GT`/`KC_RABK`|`KC_RIGHT_ANGLE_BRACKET`|right angle bracket `>`| |`KC_COLON` |`KC_COLN` |`:` |
|`KC_COLN`|`KC_COLON`|colon `:`| |`KC_DOUBLE_QUOTE` |`KC_DQT`/`KC_DQUO`|`"` |
|`KC_PIPE`||pipe `\|`| |`KC_LEFT_ANGLE_BRACKET` |`KC_LT`/`KC_LABK` |`<` |
|`KC_QUES`|`KC_QUESTION`|question mark `?`| |`KC_RIGHT_ANGLE_BRACKET`|`KC_GT`/`KC_RABK` |`>` |
|`KC_DQT`/`KC_DQUO`|`KC_DOUBLE_QUOTE`|double quote `"`| |`KC_QUESTION` |`KC_QUES` |`?` |

@ -8,15 +8,15 @@ On this page we have documented keycodes between `0x00FF` and `0xFFFF` which are
## QMK Keycodes ## QMK Keycodes
|Name|Description| |Key |Aliases |Description |
|----|-----------| |-------------|-----------|---------------------------------------------------------------------|
|`RESET`|Put the keyboard into DFU mode for flashing| |`RESET` | |Put the keyboard into DFU mode for flashing |
|`DEBUG`|Toggles debug mode| |`DEBUG` | |Toggle debug mode |
|`KC_GESC`/`GRAVE_ESC`|Acts as escape when pressed normally but when pressed with Shift or GUI will send a ```| |`KC_GESC` |`GRAVE_ESC`|Escape when tapped, <code>&#96;</code> when pressed with Shift or GUI|
|`KC_LSPO`|Left shift when held, open paranthesis when tapped| |`KC_LSPO` | |Left Shift when held, `(` when tapped |
|`KC_RSPC`|Right shift when held, close paranthesis when tapped| |`KC_RSPC` | |Right Shift when held, `)` when tapped |
|`KC_LEAD`|The [leader key](feature_leader_key.md)| |`KC_LEAD` | |The [Leader key](feature_leader_key.md) |
|`KC_LOCK`|The [lock key](feature_key_lock.md)| |`KC_LOCK` | |The [Lock key](feature_key_lock.md) |
|`FUNC(n)`/`F(n)`|Call `fn_action(n)` (deprecated)| |`FUNC(n)` |`F(n)` |Call `fn_action(n)` (deprecated) |
|`M(n)`|to call macro n| |`M(n)` | |Call macro `n` |
|`MACROTAP(n)`|to macro-tap n idk FIXME| |`MACROTAP(n)`| |Macro-tap `n` idk FIXME |

Loading…
Cancel
Save