qmk

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

commit 4c675a83ba1d3561bfd6baad57a250066f5db4d3
parent 7b0356d1d49da6574570e110f61f95692afdb3d0
Author: fauxpark <fauxpark@gmail.com>
Date:   Sat,  9 Dec 2017 16:45:13 +1100

Format keycode tables

Diffstat:
docs/feature_advanced_keycodes.md | 46+++++++++++++++++++++++-----------------------
docs/feature_backlight.md | 18+++++++++---------
docs/feature_bluetooth.md | 10+++++-----
docs/feature_bootmagic.md | 42+++++++++++++++++++++---------------------
docs/feature_grave_esc.md | 6+++---
docs/feature_mouse_keys.md | 36++++++++++++++++++------------------
docs/feature_rgblight.md | 38+++++++++++++++++++-------------------
docs/feature_thermal_printer.md | 8++++----
docs/keycodes.md | 701++++++++++++++++++++++++++++++++++++++++++++-----------------------------------
docs/keycodes_basic.md | 382+++++++++++++++++++++++++++++++++++++++++++------------------------------------
docs/keycodes_us_ansi_shifted.md | 46+++++++++++++++++++++++-----------------------
docs/quantum_keycodes.md | 24++++++++++++------------
12 files changed, 736 insertions(+), 621 deletions(-)

diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md @@ -75,29 +75,29 @@ You can also chain these, like this: The following shortcuts automatically add `LSFT()` to keycodes to get commonly used symbols. -|Name|Description| -|----|-----------| -| KC_TILD | ~ | -| KC_EXLM | ! | -| KC_QUES | ? | -| KC_AT | @ | -| KC_HASH | # | -| KC_DLR | $ | -| KC_PERC | % | -| KC_CIRC | ^ | -| KC_AMPR | & | -| KC_ASTR | * | -| KC_LPRN | ( | -| KC_RPRN | ) | -| KC_UNDS | _ | -| KC_PLUS | + | -| KC_DQUO | " | -| KC_LCBR | { | -| KC_RCBR | } | -| KC_LABK | < | -| KC_RABK | > | -| KC_PIPE | &#x7C; | -| KC_COLN | : | +|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` |`?` | # Mod Tap diff --git a/docs/feature_backlight.md b/docs/feature_backlight.md @@ -6,12 +6,12 @@ These keycodes control the backlight. Most keyboards use this for single color in-switch lighting. -|Name|Description| -|----|-----------| -|`BL_x`|Set a specific backlight level between 0-9| -|`BL_ON`|An alias for `BL_9`| -|`BL_OFF`|An alias for `BL_0`| -|`BL_DEC`|Turn the backlight level down by 1| -|`BL_INC`|Turn the backlight level up by 1| -|`BL_TOGG`|Toggle the backlight on or off| -|`BL_STEP`|Step through backlight levels, wrapping around to 0 when you reach the top.| +|Key |Description | +|---------|------------------------------------------| +|`BL_TOGG`|Turn the backlight on or off | +|`BL_STEP`|Cycle through backlight levels | +|`BL_x` |Set a specific backlight level between 0-9| +|`BL_ON` |An alias for `BL_9` | +|`BL_OFF` |An alias for `BL_0` | +|`BL_INC` |Increase backlight level | +|`BL_DEC` |Decrease backlight level | diff --git a/docs/feature_bluetooth.md b/docs/feature_bluetooth.md @@ -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. -|Name|Description| -|----|-----------| -|`OUT_AUTO`|auto mode| -|`OUT_USB`|usb only| -|`OUT_BT`|bluetooth| +|Name |Description | +|----------|----------------------------------------------| +|`OUT_AUTO`|Automatically switch between USB and Bluetooth| +|`OUT_USB` |USB only | +|`OUT_BT` |Bluetooth only | diff --git a/docs/feature_bootmagic.md b/docs/feature_bootmagic.md @@ -6,24 +6,24 @@ Shortcuts for bootmagic options. You can use these even when bootmagic is off. -|Name|Description| -|----|-----------| -|`MAGIC_SWAP_CONTROL_CAPSLOCK`|Swap Capslock and Left Control| -|`MAGIC_CAPSLOCK_TO_CONTROL`|Treat Capslock like a Control Key| -|`MAGIC_SWAP_LALT_LGUI`|Swap the left Alt and GUI keys| -|`MAGIC_SWAP_RALT_RGUI`|Swap the right Alt and GUI keys| -|`MAGIC_NO_GUI`|Disable the GUI key| -|`MAGIC_SWAP_GRAVE_ESC`|Swap the Grave and Esc key.| -|`MAGIC_SWAP_BACKSLASH_BACKSPACE`|Swap backslash and backspace| -|`MAGIC_HOST_NKRO`|Force NKRO on| -|`MAGIC_SWAP_ALT_GUI`/`AG_SWAP`|Swap Alt and Gui on both sides| -|`MAGIC_UNSWAP_CONTROL_CAPSLOCK`|Disable the Control/Capslock swap| -|`MAGIC_UNCAPSLOCK_TO_CONTROL`|Disable treating Capslock like Control | -|`MAGIC_UNSWAP_LALT_LGUI`|Disable Left Alt and GUI switching| -|`MAGIC_UNSWAP_RALT_RGUI`|Disable Right Alt and GUI switching| -|`MAGIC_UNNO_GUI`|Enable the GUI key | -|`MAGIC_UNSWAP_GRAVE_ESC`|Disable the Grave/Esc swap | -|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|Disable the backslash/backspace swap| -|`MAGIC_UNHOST_NKRO`|Force NKRO off| -|`MAGIC_UNSWAP_ALT_GUI`/`AG_NORM`|Disable the Alt/GUI switching| -|`MAGIC_TOGGLE_NKRO`|Turn NKRO on or off| +|Key |Aliases |Description | +|----------------------------------|---------|------------------------------------| +|`MAGIC_SWAP_CONTROL_CAPSLOCK` | |Swap Left Control and Caps Lock | +|`MAGIC_CAPSLOCK_TO_CONTROL` | |Treat Caps Lock as Control | +|`MAGIC_SWAP_LALT_LGUI` | |Swap Left Alt and GUI | +|`MAGIC_SWAP_RALT_RGUI` | |Swap Right Alt and GUI | +|`MAGIC_NO_GUI` | |Disable the GUI key | +|`MAGIC_SWAP_GRAVE_ESC` | |Swap <code>&#96;</code> and Escape | +|`MAGIC_SWAP_BACKSLASH_BACKSPACE` | |Swap Backslash and Backspace | +|`MAGIC_HOST_NKRO` | |Force NKRO on | +|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides | +|`MAGIC_UNSWAP_CONTROL_CAPSLOCK` | |Unswap Left Control and Caps Lock | +|`MAGIC_UNCAPSLOCK_TO_CONTROL` | |Stop treating CapsLock as Control | +|`MAGIC_UNSWAP_LALT_LGUI` | |Unswap Left Alt and GUI | +|`MAGIC_UNSWAP_RALT_RGUI` | |Unswap Right Alt and GUI | +|`MAGIC_UNNO_GUI` | |Enable the GUI key | +|`MAGIC_UNSWAP_GRAVE_ESC` | |Unswap <code>&#96;</code> and Escape| +|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`| |Unswap Backslash and Backspace | +|`MAGIC_UNHOST_NKRO` | |Force NKRO off | +|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Left Alt and GUI | +|`MAGIC_TOGGLE_NKRO` | |Turn NKRO on or off | diff --git a/docs/feature_grave_esc.md b/docs/feature_grave_esc.md @@ -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`. -| Key | Alias | Description | -|-----|-------|-------------| -| `GRAVE_ESC` | `KC_GESC` | Act as `KC_ESC` normally, or `KC_GRAVE` when GUI or Shift are held. | +|Key |Aliases |Description | +|---------|-----------|------------------------------------------------------------------| +|`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: diff --git a/docs/feature_mouse_keys.md b/docs/feature_mouse_keys.md @@ -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: -|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|Set Mouse Acceleration Speed to 0| -|KC_MS_ACCEL1|KC_ACL1|Set Mouse Acceleration Speed to 1| -|KC_MS_ACCEL2|KC_ACL2|Set Mouse Acceleration Speed to 2| +|Key |Aliases |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`|Set mouse acceleration to 0| +|`KC_MS_ACCEL1` |`KC_ACL1`|Set mouse acceleration to 1| +|`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 diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md @@ -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. -| Long Name | Short Name | Description | -|-----------|------------|-------------| -||`RGB_TOG`|toggle on/off| -|`RGB_MODE_FORWARD`|`RGB_MOD`|cycle through modes, use reverse direction when shift is held| -|`RGB_MODE_REVERSE`|`RGB_RMOD`|cycle through modes in reverse (also suppost shift to go forward)| -||`RGB_HUI`|hue increase| -||`RGB_HUD`|hue decrease| -||`RGB_SAI`|saturation increase| -||`RGB_SAD`|saturation decrease| -||`RGB_VAI`|value (brightness) increase| -||`RGB_VAD`|value (brightness) decrease| -|`RGB_MODE_PLAIN`|`RGB_M_P `| Switch to the static no animation mode | -|`RGB_MODE_BREATHE`|`RGB_M_B`| Switch to the breathing mode | -|`RGB_MODE_RAINBOW`|`RGB_M_R`| Switch to the rainbow mode || -|`RGB_MODE_SWIRL`|`RGB_M_SW`| Switch to the swirl mode | -|`RGB_MODE_SNAKE`|`RGB_M_SN`| Switch to the snake mode | -|`RGB_MODE_KNIGHT`|`RGB_M_K`| Switch to the knight animation | -|`RGB_MODE_XMAS`|`RGB_M_X`| Switch to the Christmas animation | -|`RGB_MODE_GRADIENT`|`RGB_M_G`| Switch to the static gradient mode | +|Key |Aliases |Description | +|-------------------|----------|--------------------------------------------------------------------| +|`RGB_TOG` | |Toggle RGB lighting on or off | +|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held | +|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held| +|`RGB_HUI` | |Increase hue | +|`RGB_HUD` | |Decrease hue | +|`RGB_SAI` | |Increase saturation | +|`RGB_SAD` | |Decrease saturation | +|`RGB_VAI` | |Increase value (brightness) | +|`RGB_VAD` | |Decrease value (brightness) | +|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode | +|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode | +|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode | +|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode | +|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode | +|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode | +|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode | +|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode | note: for backwards compatibility, `RGB_SMOD` is an alias for `RGB_MOD`. diff --git a/docs/feature_thermal_printer.md b/docs/feature_thermal_printer.md @@ -4,7 +4,7 @@ ## Thermal Printer Keycodes -|Name|Description| -|----|-----------| -|`PRINT_ON`|Start printing everything the user types| -|`PRINT_OFF`|Stop printing everything the user types| +|Key |Description | +|-----------|----------------------------------------| +|`PRINT_ON` |Start printing everything the user types| +|`PRINT_OFF`|Stop printing everything the user types | diff --git a/docs/keycodes.md b/docs/keycodes.md @@ -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| -|---------|----------|-----------| -|`KC_1`|||| -|`KC_2`|||| -|`KC_3`|||| -|`KC_4`|||| -|`KC_5`|||| -|`KC_6`|||| -|`KC_7`|||| -|`KC_8`|||| -|`KC_9`|||| -|`KC_0`|||| -|`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`|||| -|`KC_A`|||| -|`KC_B`|||| -|`KC_C`|||| -|`KC_D`|||| -|`KC_E`|||| -|`KC_F`|||| -|`KC_G`|||| -|`KC_H`|||| -|`KC_I`|||| -|`KC_J`|||| -|`KC_K`|||| -|`KC_L`|||| -|`KC_M`|||| -|`KC_N`|||| -|`KC_O`|||| -|`KC_P`|||| -|`KC_Q`|||| -|`KC_R`|||| -|`KC_S`|||| -|`KC_T`|||| -|`KC_U`|||| -|`KC_V`|||| -|`KC_W`|||| -|`KC_X`|||| -|`KC_Y`|||| -|`KC_Z`|||| -|`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>&#124;</code> | -|`KC_NONUS_HASH`|`KC_NUHS`|Non-US `#` and `~`| -|`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>&#124;</code> | -|`KC_INT1`|`KC_RO`|JIS `\` and <code>&#124;</code> | -|`KC_INT2`|`KC_KANA`|International216| -|`KC_INT3`|`KC_JYEN`|Yen Symbol (`¥`)| -|`KC_SCOLON`|`KC_SCLN`|`;` and `:`| -|`KC_QUOTE`|`KC_QUOT`|`‘` and `“`| -|`KC_GRAVE`|`KC_GRV`|Grave Accent and Tilde| -|`KC_COMMA`|`KC_COMM`|`,` and `<`| -|`KC_DOT`||`.` and `>`| -|`KC_SLASH`|`KC_SLSH`|`/` and `?`| -|`KC_CAPSLOCK`|`KC_CAPS`|Caps Lock| -|`KC_LCTRL`|`KC_LCTL`|LeftControl| -|`KC_LSHIFT`|`KC_LSFT`|LeftShift| -|`KC_LALT`||LeftAlt| -|`KC_LGUI`||Left GUI(Windows/Apple/Meta key)| -|`KC_RCTRL`|`KC_RCTL`|RightControl| -|`KC_RSHIFT`|`KC_RSFT`|RightShift| -|`KC_RALT`||RightAlt| -|`KC_RGUI`||Right GUI(Windows/Apple/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 Henken| -|`KC_INT5`|`KC_MHEN`|JIS Muhenken| -|`KC_PSCREEN`|`KC_PSCR`|PrintScreen| -|`KC_SCROLLLOCK`|`KC_SLCK`|Scroll Lock| -|`KC_PAUSE`|`KC_PAUS`|Pause| -|`KC_INSERT`|`KC_INS`|Insert| -|`KC_HOME`||Home| -|`KC_PGUP`||PageUp| -|`KC_DELETE`|`KC_DEL`|Delete Forward| -|`KC_END`||End| -|`KC_PGDOWN`|`KC_PGDN`|PageDown| -|`KC_RIGHT`|`KC_RGHT`|RightArrow| -|`KC_LEFT`||LeftArrow| -|`KC_DOWN`||DownArrow| -|`KC_UP`||UpArrow| -|`KC_APPLICATION`|`KC_APP`|Application| -|`KC_POWER`||Old power button scancode. MS has deprecated this in favor of `KC_SYSTEM_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| -|`KC_SYSTEM_POWER`|`KC_PWR`|System Power Down. Recommended over `KC_POWER`.| -|`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`|| -|`KC_STOP`||Stop| -|`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`|| -|`KC_MEDIA_PLAY_PAUSE`|`KC_MPLY`|| -|`KC_MEDIA_SELECT`|`KC_MSEL`|| -|`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 PageDn| -|`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 PageUp| -|`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 Comma| -|`KC_KP_EQUAL_AS400`||Keypad Equal Sign| -|`KC_NO`||Ignore this key. (NOOP) | -|`KC_TRNS`||Make this key transparent to find the key on a lower layer.| -|[`KC_MS_UP`](feature_mouse_keys.md)|`KC_MS_U`|Mouse Cursor Up| -|[`KC_MS_DOWN`](feature_mouse_keys.md)|`KC_MS_D`|Mouse Cursor Down| -|[`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| -|[`KC_MS_BTN1`](feature_mouse_keys.md)|`KC_BTN1`|Mouse Button 1| -|[`KC_MS_BTN2`](feature_mouse_keys.md)|`KC_BTN2`|Mouse Button 2| -|[`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_BTN5`](feature_mouse_keys.md)|`KC_BTN5`|Mouse Button 5| -|[`KC_MS_WH_UP`](feature_mouse_keys.md)|`KC_WH_U`|Mouse Wheel Up| -|[`KC_MS_WH_DOWN`](feature_mouse_keys.md)|`KC_WH_D`|Mouse Wheel Down| -|[`KC_MS_WH_LEFT`](feature_mouse_keys.md)|`KC_WH_L`|Mouse Wheel Left| -|[`KC_MS_WH_RIGHT`](feature_mouse_keys.md)|`KC_WH_R`|Mouse Wheel Right| -|[`KC_MS_ACCEL0`](feature_mouse_keys.md)|`KC_ACL0`|Mouse Acceleration 0| -|[`KC_MS_ACCEL1`](feature_mouse_keys.md)|`KC_ACL1`|Mouse Acceleration 1| -|[`KC_MS_ACCEL2`](feature_mouse_keys.md)|`KC_ACL2`|Mouse Acceleration 2| -|[`RESET`](quantum_keycodes.md#qmk-keycodes)||Put the keyboard into DFU mode for flashing| -|[`DEBUG`](quantum_keycodes.md#qmk-keycodes)||Toggles debug mode| -|[`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_LSPO`](quantum_keycodes.md#qmk-keycodes)||Left shift when held, open paranthesis when tapped| -|[`KC_RSPC`](quantum_keycodes.md#qmk-keycodes)||Right shift when held, close paranthesis when tapped| -|[`KC_LEAD`](feature_leader_key.md)||The leader key| -|[`FUNC(n)`](quantum_keycodes.md#qmk-keycodes)|`F(n)`|Call `fn_action(n)`| -|[`M(n)`](quantum_keycodes.md#qmk-keycodes)||to call macro n| -|[`MACROTAP(n)`](quantum_keycodes.md#qmk-keycodes)||to macro-tap n idk FIXME`| -|[`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| -|[`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| -|[`MAGIC_NO_GUI`](feature_bootmagic.md)||Disable the GUI key| -|[`MAGIC_SWAP_GRAVE_ESC`](feature_bootmagic.md)||Swap the Grave and Esc key.| -|[`MAGIC_SWAP_BACKSLASH_BACKSPACE`](feature_bootmagic.md)||Swap backslack and backspace| -|[`MAGIC_HOST_NKRO`](feature_bootmagic.md)||Force NKRO on| -|[`MAGIC_SWAP_ALT_GUI`/`AG_SWAP`](feature_bootmagic.md)||Swap Alt and Gui on both sides| -|[`MAGIC_UNSWAP_CONTROL_CAPSLOCK`](feature_bootmagic.md)||Disable the Control/Capslock swap| -|[`MAGIC_UNCAPSLOCK_TO_CONTROL`](feature_bootmagic.md)||Disable treating Capslock like Control | -|[`MAGIC_UNSWAP_LALT_LGUI`](feature_bootmagic.md)||Disable Left Alt and GUI switching| -|[`MAGIC_UNSWAP_RALT_RGUI`](feature_bootmagic.md)||Disable Right Alt and GUI switching| -|[`MAGIC_UNNO_GUI`](feature_bootmagic.md)||Enable the GUI key | -|[`MAGIC_UNSWAP_GRAVE_ESC`](feature_bootmagic.md)||Disable the Grave/Esc swap | -|[`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`](feature_bootmagic.md)||Disable the backslash/backspace swap| -|[`MAGIC_UNHOST_NKRO`](feature_bootmagic.md)||Force NKRO off| -|[`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| -|[`BL_x`](feature_backlight.md)||Set a specific backlight level between 0-9| -|[`BL_ON`](feature_backlight.md)||An alias for `BL_9`| -|[`BL_OFF`](feature_backlight.md)||An alias for `BL_0`| -|[`BL_DEC`](feature_backlight.md)||Turn the backlight level down by 1| -|[`BL_INC`](feature_backlight.md)||Turn the backlight level up by 1| -|[`BL_TOGG`](feature_backlight.md)||Toggle the backlight on or off| -|[`BL_STEP`](feature_backlight.md)||Step through backlight levels, wrapping around to 0 when you reach the top.| -|[`RGB_TOG`](feature_rgblight.md)||toggle on/off| -|[`RGB_MOD`](feature_rgblight.md)||cycle through modes| -|[`RGB_HUI`](feature_rgblight.md)||hue increase| -|[`RGB_HUD`](feature_rgblight.md)||hue decrease| -|[`RGB_SAI`](feature_rgblight.md)||saturation increase| -|[`RGB_SAD`](feature_rgblight.md)||saturation decrease| -|[`RGB_VAI`](feature_rgblight.md)||value increase| -|[`RGB_VAD`](feature_rgblight.md)||value decrease| -|[`PRINT_ON`](feature_thermal_printer.md)||Start printing everything the user types| -|[`PRINT_OFF`](feature_thermal_printer.md)||Stop printing everything the user types| -|[`OUT_AUTO`](feature_bluetooth.md)||auto mode| -|[`OUT_USB`](feature_bluetooth.md)||usb only| -|[`OUT_BT`](feature_bluetooth.md)||bluetooth (when `BLUETOOTH_ENABLE`)| -|[`KC_HYPR`](quantum_keycodes.md#modifiers)||Hold down LCTL + LSFT + LALT + LGUI`| -|[`KC_MEH`](quantum_keycodes.md#modifiers)||Hold down LCTL + LSFT + LALT`| -|[`LCTL(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `kc`| -|[`LSFT(kc)`](quantum_keycodes.md#modifiers)|[`S(kc)`](quantum_keycodes.md#modifiers)|`LSFT` + `kc`| -|[`LALT(kc)`](quantum_keycodes.md#modifiers)||`LALT` + `kc`| -|[`LGUI(kc)`](quantum_keycodes.md#modifiers)||`LGUI` + `kc`| -|[`RCTL(kc)`](quantum_keycodes.md#modifiers)||`RCTL` + `kc`| -|[`RSFT(kc)`](quantum_keycodes.md#modifiers)||`RSFT` + `kc`| -|[`RALT(kc)`](quantum_keycodes.md#modifiers)||`RALT` + `kc`| -|[`RGUI(kc)`](quantum_keycodes.md#modifiers)||`RGUI` + `kc`| -|[`HYPR(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LSFT` + `LALT` + `LGUI` + `kc`| -|[`MEH(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LSFT` + `LALT` + `kc`| -|[`LCAG(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LALT` + `LGUI` + `kc`| -|[`ALTG(kc)`](quantum_keycodes.md#modifiers)||`RCTL` + `RALT` + `kc`| -|[`SCMD(kc)`](quantum_keycodes.md#modifiers)|[`SWIN(kc)`](quantum_keycodes.md#modifiers)|`LGUI` + `LSFT` + `kc`| -|[`LCA(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LALT` + `kc`| -|[`CTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LCTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LCTL` when held, `kc` when tapped| -|[`RCTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)||[`RCTL` when held, `kc` when tapped| -|[`SFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LSFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LSFT` when held, `kc` when tapped| -|[`RSFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)||[`RSFT` when held, `kc` when tapped| -|[`ALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LALT` when held, `kc` when tapped| -|[`RALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`ALGR_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`RALT` when held, `kc` when tapped| -|[`GUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LGUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LGUI` when held, `kc` when tapped| -|[`RGUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`RGUI` when held, `kc` when tapped| -|[`C_S_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LSFT` when held, `kc` when tapped| -|[`MEH_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LSFT` + `LALT` when held, `kc` when tapped| -|[`LCAG_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LALT` + `LGUI` when held, `kc` when tapped| -|[`RCAG_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`RCTL` + `RALT` + `RGUI` when held, `kc` when tapped| -|[`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/)| -|[`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| -|[`LCA_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LALT` when held, `kc` when tapped| -|[`KC_TILD`](keycodes_us_ansi_shifted.md)|`KC_TILDE`|tilde `~`| -|[`KC_EXLM`](keycodes_us_ansi_shifted.md)|`KC_EXCLAIM`|exclamation mark `!`| -|[`KC_AT`](keycodes_us_ansi_shifted.md)||at sign `@`| -|[`KC_HASH`](keycodes_us_ansi_shifted.md)||hash sign `#`| -|[`KC_DLR`](keycodes_us_ansi_shifted.md)|`KC_DOLLAR`|dollar sign `$`| -|[`KC_PERC`](keycodes_us_ansi_shifted.md)|`KC_PERCENT`|percent sign `%`| -|[`KC_CIRC`](keycodes_us_ansi_shifted.md)|`KC_CIRCUMFLEX`|circumflex `^`| -|[`KC_AMPR`](keycodes_us_ansi_shifted.md)|`KC_AMPERSAND`|ampersand `&`| -|[`KC_ASTR`](keycodes_us_ansi_shifted.md)|`KC_ASTERISK`|asterisk `*`| -|[`KC_LPRN`](keycodes_us_ansi_shifted.md)|`KC_LEFT_PAREN`|left parenthesis `(`| -|[`KC_RPRN`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_PAREN`|right parenthesis `)`| -|[`KC_UNDS`](keycodes_us_ansi_shifted.md)|`KC_UNDERSCORE`|underscore `_`| -|[`KC_PLUS`](keycodes_us_ansi_shifted.md)||plus sign `+`| -|[`KC_LCBR`](keycodes_us_ansi_shifted.md)|`KC_LEFT_CURLY_BRACE`|left curly brace `{`| -|[`KC_RCBR`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_CURLY_BRACE`|right curly brace `}`| -|[`KC_LT`/`KC_LABK`](keycodes_us_ansi_shifted.md)|`KC_LEFT_ANGLE_BRACKET`|left angle bracket `<`| -|[`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 `:`| -|[`KC_PIPE`](keycodes_us_ansi_shifted.md)||pipe `\|`| -|[`KC_QUES`](keycodes_us_ansi_shifted.md)|`KC_QUESTION`|question mark `?`| -|[`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| -|[`TO(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||turn on layer when depressed| -|[`MO(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||momentarily turn on layer when depressed (requires `KC_TRNS` on destination layer)| -|[`DF(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||sets the base (default) layer| -|[`TG(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||toggle layer on/off| -|[`TT(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||tap toggle? idk FIXME`| -|[`OSM(mod)`](quantum_keycodes.md#one-shot-keys)||hold mod for one keypress| -|[`OSL(layer)`](quantum_keycodes.md#one-shot-keys)||switch to layer for one keypress| -|[`UNICODE(n)`](feature_unicode.md)|[`UC(n)`](feature_unicode.md)|if `UNICODE_ENABLE`, this will send characters up to `0x7FFF`| -|[`X(n)`](feature_unicode.md)||if `UNICODEMAP_ENABLE`, also sends unicode via a different method| +## [Basic Keycodes](keycodes_basic.md) + +|Key |Aliases |Description | +|-----------------------|----------|-----------------------------------------------| +|`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 `)` | +|`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` | | | +|`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_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>&#124;</code> | +|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` | +|`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and <code>&#124;</code> | +|`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</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>&#96;</code> and `~` | +|`KC_COMMA` |`KC_COMM` |`,` and `<` | +|`KC_DOT` | |`.` and `>` | +|`KC_SLASH` |`KC_SLSH` |`/` and `?` | +|`KC_CAPSLOCK` |`KC_CAPS` |Caps Lock | +|`KC_LCTRL` |`KC_LCTL` |Left Control | +|`KC_LSHIFT` |`KC_LSFT` |Left Shift | +|`KC_LALT` | |Left Alt | +|`KC_LGUI` | |Left GUI (Windows/Command/Meta key) | +|`KC_RCTRL` |`KC_RCTL` |Right Control | +|`KC_RSHIFT` |`KC_RSFT` |Right Shift | +|`KC_RALT` | |Right Alt | +|`KC_RGUI` | |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 | +|`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` | |Deprecated by MS in favor of `KC_SYSTEM_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 | +|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down. Recommended over `KC_POWER`.| +|`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` | | +|`KC_STOP` | |Stop | +|`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_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 | +|`KC_NO` | |Ignore this key (NOOP) | +|`KC_TRANSPARENT` |`KC_TRNS` |Use the next lowest non-transparent key | + +## [Mouse Keys](feature_mouse_keys.md) + +|Key |Aliases |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`|Set mouse acceleration to 0| +|`KC_MS_ACCEL1` |`KC_ACL1`|Set mouse acceleration to 1| +|`KC_MS_ACCEL2` |`KC_ACL2`|Set mouse acceleration to 2| + +## [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes) + +|Key |Aliases |Description | +|-------------|-----------|---------------------------------------------------------------------| +|`RESET` | |Put the keyboard into DFU mode for flashing | +|`DEBUG` | |Toggle debug mode | +|`KC_GESC` |`GRAVE_ESC`|Escape when tapped, <code>&#96;</code> when pressed with Shift or GUI| +|`KC_LSPO` | |Left Shift when held, `(` when tapped | +|`KC_RSPC` | |Right Shift when held, `)` when tapped | +|`KC_LEAD` | |The [Leader key](feature_leader_key.md) | +|`KC_LOCK` | |The [Lock key](feature_key_lock.md) | +|`FUNC(n)` |`F(n)` |Call `fn_action(n)` (deprecated) | +|`M(n)` | |Call macro `n` | +|`MACROTAP(n)`| |Macro-tap `n` idk FIXME | + +## [Bootmagic](feature_bootmagic.md) + +|Key |Aliases |Description | +|----------------------------------|---------|------------------------------------| +|`MAGIC_SWAP_CONTROL_CAPSLOCK` | |Swap Caps Lock and Left Control | +|`MAGIC_CAPSLOCK_TO_CONTROL` | |Treat Caps Lock as Control | +|`MAGIC_SWAP_LALT_LGUI` | |Swap Left Alt and GUI | +|`MAGIC_SWAP_RALT_RGUI` | |Swap Right Alt and GUI | +|`MAGIC_NO_GUI` | |Disable the GUI key | +|`MAGIC_SWAP_GRAVE_ESC` | |Swap <code>&#96;</code> and Escape | +|`MAGIC_SWAP_BACKSLASH_BACKSPACE` | |Swap `\` and Backspace | +|`MAGIC_HOST_NKRO` | |Force NKRO on | +|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides | +|`MAGIC_UNSWAP_CONTROL_CAPSLOCK` | |Unswap Caps Lock and Left Control | +|`MAGIC_UNCAPSLOCK_TO_CONTROL` | |Stop treating Caps Lock as Control | +|`MAGIC_UNSWAP_LALT_LGUI` | |Unswap Left Alt and GUI | +|`MAGIC_UNSWAP_RALT_RGUI` | |Unswap Right Alt and GUI | +|`MAGIC_UNNO_GUI` | |Enable the GUI key | +|`MAGIC_UNSWAP_GRAVE_ESC` | |Unswap <code>&#96;</code> and Escape| +|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`| |Unswap `\` and Backspace | +|`MAGIC_UNHOST_NKRO` | |Force NKRO off | +|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides | +|`MAGIC_TOGGLE_NKRO` | |Turn NKRO on or off | + +## [Backlighting](feature_backlight.md) + +|Key |Description | +|---------|------------------------------------------| +|`BL_TOGG`|Turn the backlight on or off | +|`BL_STEP`|Cycle through backlight levels | +|`BL_x` |Set a specific backlight level between 0-9| +|`BL_ON` |An alias for `BL_9` | +|`BL_OFF` |An alias for `BL_0` | +|`BL_INC` |Increase backlight level | +|`BL_DEC` |Decrease backlight level | + +## [RGB Lighting](feature_rgblight.md) + +|Key |Aliases |Description | +|-------------------|----------|--------------------------------------------------------------------| +|`RGB_TOG` | |Toggle RGB lighting on or off | +|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held | +|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held| +|`RGB_HUI` | |Increase hue | +|`RGB_HUD` | |Decrease hue | +|`RGB_SAI` | |Increase saturation | +|`RGB_SAD` | |Decrease saturation | +|`RGB_VAI` | |Increase value (brightness) | +|`RGB_VAD` | |Decrease value (brightness) | +|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode | +|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode | +|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode | +|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode | +|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode | +|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode | +|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode | +|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode | + +## [Thermal Printer](feature_thermal_printer.md) + +|Key |Description | +|-----------|----------------------------------------| +|`PRINT_ON` |Start printing everything the user types| +|`PRINT_OFF`|Stop printing everything the user types | + +## [Bluetooth](feature_bluetooth.md) + +|Key |Description | +|----------|----------------------------------------------| +|`OUT_AUTO`|Automatically switch between USB and Bluetooth| +|`OUT_USB` |USB only | +|`OUT_BT` |Bluetooth only | + +## [Modifiers](quantum_keycodes.md#modifiers) + +|Key |Aliases |Description | +|----------|----------|----------------------------------------------------| +|`KC_HYPR` | |Hold Left Control, Shift, Alt and GUI | +|`KC_MEH` | |Hold Left Control, Shift and Alt | +|`LCTL(kc)`| |Hold Left Control and press `kc` | +|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | +|`LALT(kc)`| |Hold Left Alt and press `kc` | +|`LGUI(kc)`| |Hold Left GUI and press `kc` | +|`RCTL(kc)`| |Hold Right Control and press `kc` | +|`RSFT(kc)`| |Hold Right Shift and press `kc` | +|`RALT(kc)`| |Hold Right Alt and press `kc` | +|`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| diff --git a/docs/keycodes_basic.md b/docs/keycodes_basic.md @@ -1,192 +1,230 @@ # 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: - -* `KC_NO` = 0 for no action -* `KC_TRNS` = 1 for layer transparency -* internal special keycodes in the `0xA5-DF` range (tmk heritage). +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 -|KC_1|KC_2|KC_3|KC_4|KC_5|KC_6|KC_7|KC_8| -|----|----|----|----|----|----|----|----| -|KC_9|KC_0|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|KC_A|KC_B|KC_C|KC_D|KC_E|KC_F| -|KC_G|KC_H|KC_I|KC_J|KC_K|KC_L|KC_M|KC_N| -|KC_O|KC_P|KC_Q|KC_R|KC_S|KC_T|KC_U|KC_V| -|KC_W|KC_X|KC_Y|KC_Z||||| +|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 -|Long Name|Short Name|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>&#124;</code> | -|KC_NONUS_HASH|KC_NUHS|Non-US `#` and `~`| -|KC_NONUS_BSLASH|KC_NUBS|Non-US `\` and <code>&#124;</code> | -|KC_INT1|KC_RO|JIS `\` and <code>&#124;</code> | -|KC_INT2|KC_KANA|International216| -|KC_INT3|KC_JYEN|Yen Symbol (`¥`)| -|KC_SCOLON|KC_SCLN|`;` and `:`| -|KC_QUOTE|KC_QUOT|`‘` and `“`| -|KC_GRAVE|KC_GRV|Grave Accent and Tilde| -|KC_COMMA|KC_COMM|`,` and `<`| -|KC_DOT||`.` and `>`| -|KC_SLASH|KC_SLSH|`/` and `?`| -|KC_CAPSLOCK|KC_CAPS|Caps Lock| +|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>&#124;</code> | +|`KC_NONUS_HASH` |`KC_NUHS`|Non-US `#` and `~` | +|`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>&#124;</code>| +|`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</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>&#96;</code> and `~` | +|`KC_COMMA` |`KC_COMM`|`,` and `<` | +|`KC_DOT` | |`.` and `>` | +|`KC_SLASH` |`KC_SLSH`|`/` and `?` | +|`KC_CAPSLOCK` |`KC_CAPS`|Caps Lock | ## Modifiers -|Long Name|Short Name|Description| -|---------|----------|-----------| -|KC_LCTRL|KC_LCTL|LeftControl| -|KC_LSHIFT|KC_LSFT|LeftShift| -|KC_LALT||LeftAlt| -|KC_LGUI||Left GUI(Windows/Apple/Meta key)| -|KC_RCTRL|KC_RCTL|RightControl| -|KC_RSHIFT|KC_RSFT|RightShift| -|KC_RALT||RightAlt| -|KC_RGUI||Right GUI(Windows/Apple/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 Henken| -|KC_INT5|KC_MHEN|JIS Muhenken| +|Key |Aliases |Description | +|-------------------|---------|------------------------------------| +|`KC_LCTRL` |`KC_LCTL`|Left Control | +|`KC_LSHIFT` |`KC_LSFT`|Left Shift | +|`KC_LALT` | |Left Alt | +|`KC_LGUI` | |Left GUI (Windows/Command/Meta key) | +|`KC_RCTRL` |`KC_RCTL`|Right Control | +|`KC_RSHIFT` |`KC_RSFT`|Right Shift | +|`KC_RALT` | |Right Alt | +|`KC_RGUI` | |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 -|Long Name|Short Name|Description| -|---------|----------|-----------| -|KC_PSCREEN|KC_PSCR|PrintScreen| -|KC_SCROLLLOCK|KC_SLCK|Scroll Lock| -|KC_PAUSE|KC_PAUS|Pause| -|KC_INSERT|KC_INS|Insert| -|KC_HOME||Home| -|KC_PGUP||PageUp| -|KC_DELETE|KC_DEL|Delete Forward| -|KC_END||End| -|KC_PGDOWN|KC_PGDN|PageDown| -|KC_RIGHT|KC_RGHT|RightArrow| -|KC_LEFT||LeftArrow| -|KC_DOWN||DownArrow| -|KC_UP||UpArrow| -|KC_APPLICATION|KC_APP|Application| -|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| -|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|| +|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 -Windows and Mac use different key codes for next track and previous track. Make sure you choose the keycode that corresponds to your OS. - -|Long Name|Short Name|Description| -|---------|----------|-----------| -|KC_STOP||Stop| -|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|| -|KC_MEDIA_PLAY_PAUSE|KC_MPLY|| -|KC_MEDIA_SELECT|KC_MSEL|| - -## Numpad - -|Long Name|Short Name|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 PageDn| -|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 PageUp| -|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 Comma| -|KC_KP_EQUAL_AS400||Keypad Equal Sign| +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`| | + +## 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 -|Long Name|Short Name|Description| -|---------|----------|-----------| -|KC_NO||Ignore this key. (NOOP) | - -## Mousekey - -|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| +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| diff --git a/docs/keycodes_us_ansi_shifted.md b/docs/keycodes_us_ansi_shifted.md @@ -6,26 +6,26 @@ It's important to remember that all of these keycodes send a left shift - this m ## US ANSI Shifted Keycodes -|Short Name|Long Name|Description| -|----------|---------|-----------| -|`KC_TILD`|`KC_TILDE`|tilde `~`| -|`KC_EXLM`|`KC_EXCLAIM`|exclamation mark `!`| -|`KC_AT`||at sign `@`| -|`KC_HASH`||hash sign `#`| -|`KC_DLR`|`KC_DOLLAR`|dollar sign `$`| -|`KC_PERC`|`KC_PERCENT`|percent sign `%`| -|`KC_CIRC`|`KC_CIRCUMFLEX`|circumflex `^`| -|`KC_AMPR`|`KC_AMPERSAND`|ampersand `&`| -|`KC_ASTR`|`KC_ASTERISK`|asterisk `*`| -|`KC_LPRN`|`KC_LEFT_PAREN`|left parenthesis `(`| -|`KC_RPRN`|`KC_RIGHT_PAREN`|right parenthesis `)`| -|`KC_UNDS`|`KC_UNDERSCORE`|underscore `_`| -|`KC_PLUS`||plus sign `+`| -|`KC_LCBR`|`KC_LEFT_CURLY_BRACE`|left curly brace `{`| -|`KC_RCBR`|`KC_RIGHT_CURLY_BRACE`|right curly brace `}`| -|`KC_LT`/`KC_LABK`|`KC_LEFT_ANGLE_BRACKET`|left angle bracket `<`| -|`KC_GT`/`KC_RABK`|`KC_RIGHT_ANGLE_BRACKET`|right angle bracket `>`| -|`KC_COLN`|`KC_COLON`|colon `:`| -|`KC_PIPE`||pipe `\|`| -|`KC_QUES`|`KC_QUESTION`|question mark `?`| -|`KC_DQT`/`KC_DQUO`|`KC_DOUBLE_QUOTE`|double quote `"`| +|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` |`?` | diff --git a/docs/quantum_keycodes.md b/docs/quantum_keycodes.md @@ -8,15 +8,15 @@ On this page we have documented keycodes between `0x00FF` and `0xFFFF` which are ## QMK Keycodes -|Name|Description| -|----|-----------| -|`RESET`|Put the keyboard into DFU mode for flashing| -|`DEBUG`|Toggles debug mode| -|`KC_GESC`/`GRAVE_ESC`|Acts as escape when pressed normally but when pressed with Shift or GUI will send a ```| -|`KC_LSPO`|Left shift when held, open paranthesis when tapped| -|`KC_RSPC`|Right shift when held, close paranthesis when tapped| -|`KC_LEAD`|The [leader key](feature_leader_key.md)| -|`KC_LOCK`|The [lock key](feature_key_lock.md)| -|`FUNC(n)`/`F(n)`|Call `fn_action(n)` (deprecated)| -|`M(n)`|to call macro n| -|`MACROTAP(n)`|to macro-tap n idk FIXME| +|Key |Aliases |Description | +|-------------|-----------|---------------------------------------------------------------------| +|`RESET` | |Put the keyboard into DFU mode for flashing | +|`DEBUG` | |Toggle debug mode | +|`KC_GESC` |`GRAVE_ESC`|Escape when tapped, <code>&#96;</code> when pressed with Shift or GUI| +|`KC_LSPO` | |Left Shift when held, `(` when tapped | +|`KC_RSPC` | |Right Shift when held, `)` when tapped | +|`KC_LEAD` | |The [Leader key](feature_leader_key.md) | +|`KC_LOCK` | |The [Lock key](feature_key_lock.md) | +|`FUNC(n)` |`F(n)` |Call `fn_action(n)` (deprecated) | +|`M(n)` | |Call macro `n` | +|`MACROTAP(n)`| |Macro-tap `n` idk FIXME |