aboutsummaryrefslogtreecommitdiff
path: root/docs/keycodes.md
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2017-12-09 16:45:13 +1100
committerJack Humbert <jack.humb@gmail.com>2017-12-09 10:46:11 -0500
commit4c675a83ba1d3561bfd6baad57a250066f5db4d3 (patch)
treec17e42238c29d0ebf9a3f55b2b13a0ac5f3dbae0 /docs/keycodes.md
parent7b0356d1d49da6574570e110f61f95692afdb3d0 (diff)
downloadqmk_firmware-4c675a83ba1d3561bfd6baad57a250066f5db4d3.tar.gz
qmk_firmware-4c675a83ba1d3561bfd6baad57a250066f5db4d3.zip
Format keycode tables
Diffstat (limited to 'docs/keycodes.md')
-rw-r--r--docs/keycodes.md701
1 files changed, 389 insertions, 312 deletions
diff --git a/docs/keycodes.md b/docs/keycodes.md
index f1da845ca..1dc0e62c2 100644
--- a/docs/keycodes.md
+++ b/docs/keycodes.md
@@ -1,315 +1,392 @@
1# Overview 1# Keycodes Overview
2 2
3When 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. 3When 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.
4 4
5## Keycode Index 5This is a reference only. Each group of keys links to the page documenting their functionality in more detail.
6 6
7|Long Name|Short Name|Description| 7## [Basic Keycodes](keycodes_basic.md)
8|---------|----------|-----------| 8
9|`KC_1`|||| 9|Key |Aliases |Description |
10|`KC_2`|||| 10|-----------------------|----------|-----------------------------------------------|
11|`KC_3`|||| 11|`KC_1` | |`1` and `!` |
12|`KC_4`|||| 12|`KC_2` | |`2` and `@` |
13|`KC_5`|||| 13|`KC_3` | |`3` and `#` |
14|`KC_6`|||| 14|`KC_4` | |`4` and `$` |
15|`KC_7`|||| 15|`KC_5` | |`5` and `%` |
16|`KC_8`|||| 16|`KC_6` | |`6` and `^` |
17|`KC_9`|||| 17|`KC_7` | |`7` and `&` |
18|`KC_0`|||| 18|`KC_8` | |`8` and `*` |
19|`KC_F1`|||| 19|`KC_9` | |`9` and `(` |
20|`KC_F2`|||| 20|`KC_0` | |`0` and `)` |
21|`KC_F3`|||| 21|`KC_F1` | | |
22|`KC_F4`|||| 22|`KC_F2` | | |
23|`KC_F5`|||| 23|`KC_F3` | | |
24|`KC_F6`|||| 24|`KC_F4` | | |
25|`KC_F7`|||| 25|`KC_F5` | | |
26|`KC_F8`|||| 26|`KC_F6` | | |
27|`KC_F9`|||| 27|`KC_F7` | | |
28|`KC_F10`|||| 28|`KC_F8` | | |
29|`KC_F11`|||| 29|`KC_F9` | | |
30|`KC_F12`|||| 30|`KC_F10` | | |
31|`KC_F13`|||| 31|`KC_F11` | | |
32|`KC_F14`|||| 32|`KC_F12` | | |
33|`KC_F15`|||| 33|`KC_F13` | | |
34|`KC_F16`|||| 34|`KC_F14` | | |
35|`KC_F17`|||| 35|`KC_F15` | | |
36|`KC_F18`|||| 36|`KC_F16` | | |
37|`KC_F19`|||| 37|`KC_F17` | | |
38|`KC_F20`|||| 38|`KC_F18` | | |
39|`KC_F21`|||| 39|`KC_F19` | | |
40|`KC_F22`|||| 40|`KC_F20` | | |
41|`KC_F23`|||| 41|`KC_F21` | | |
42|`KC_F24`|||| 42|`KC_F22` | | |
43|`KC_A`|||| 43|`KC_F23` | | |
44|`KC_B`|||| 44|`KC_F24` | | |
45|`KC_C`|||| 45|`KC_A` | |`a` and `A` |
46|`KC_D`|||| 46|`KC_B` | |`b` and `B` |
47|`KC_E`|||| 47|`KC_C` | |`c` and `C` |
48|`KC_F`|||| 48|`KC_D` | |`d` and `D` |
49|`KC_G`|||| 49|`KC_E` | |`e` and `E` |
50|`KC_H`|||| 50|`KC_F` | |`f` and `F` |
51|`KC_I`|||| 51|`KC_G` | |`g` and `G` |
52|`KC_J`|||| 52|`KC_H` | |`h` and `H` |
53|`KC_K`|||| 53|`KC_I` | |`i` and `I` |
54|`KC_L`|||| 54|`KC_J` | |`j` and `J` |
55|`KC_M`|||| 55|`KC_K` | |`k` and `K` |
56|`KC_N`|||| 56|`KC_L` | |`l` and `L` |
57|`KC_O`|||| 57|`KC_M` | |`m` and `M` |
58|`KC_P`|||| 58|`KC_N` | |`n` and `N` |
59|`KC_Q`|||| 59|`KC_O` | |`o` and `O` |
60|`KC_R`|||| 60|`KC_P` | |`p` and `P` |
61|`KC_S`|||| 61|`KC_Q` | |`q` and `Q` |
62|`KC_T`|||| 62|`KC_R` | |`r` and `R` |
63|`KC_U`|||| 63|`KC_S` | |`s` and `S` |
64|`KC_V`|||| 64|`KC_T` | |`t` and `T` |
65|`KC_W`|||| 65|`KC_U` | |`u` and `U` |
66|`KC_X`|||| 66|`KC_V` | |`v` and `V` |
67|`KC_Y`|||| 67|`KC_W` | |`w` and `W` |
68|`KC_Z`|||| 68|`KC_X` | |`x` and `X` |
69|`KC_ENTER`|`KC_ENT`|`Return (ENTER)`| 69|`KC_Y` | |`y` and `Y` |
70|`KC_ESCAPE`|`KC_ESC`|`ESCAPE`| 70|`KC_Z` | |`z` and `Z` |
71|`KC_BSPACE`|`KC_BSPC`|`DELETE (Backspace)`| 71|`KC_ENTER` |`KC_ENT` |Return (Enter) |
72|`KC_TAB`||`Tab`| 72|`KC_ESCAPE` |`KC_ESC` |Escape |
73|`KC_SPACE`|`KC_SPC`|Spacebar| 73|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
74|`KC_MINUS`|`KC_MINS`|`-` and `_`| 74|`KC_TAB` | |Tab |
75|`KC_EQUAL`|`KC_EQL`|`=` and `+`| 75|`KC_SPACE` |`KC_SPC` |Spacebar |
76|`KC_LBRACKET`|`KC_LBRC`|`[` and `{`| 76|`KC_MINUS` |`KC_MINS` |`-` and `_` |
77|`KC_RBRACKET`|`KC_RBRC`|`]` and `}`| 77|`KC_EQUAL` |`KC_EQL` |`=` and `+` |
78|`KC_BSLASH`|`KC_BSLS`|`\` and <code>&#124;</code> | 78|`KC_LBRACKET` |`KC_LBRC` |`[` and `{` |
79|`KC_NONUS_HASH`|`KC_NUHS`|Non-US `#` and `~`| 79|`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
80|`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>&#124;</code> | 80|`KC_BSLASH` |`KC_BSLS` |`\` and <code>&#124;</code> |
81|`KC_INT1`|`KC_RO`|JIS `\` and <code>&#124;</code> | 81|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
82|`KC_INT2`|`KC_KANA`|International216| 82|`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and <code>&#124;</code> |
83|`KC_INT3`|`KC_JYEN`|Yen Symbol (`¥`)| 83|`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</code> |
84|`KC_SCOLON`|`KC_SCLN`|`;` and `:`| 84|`KC_INT2` |`KC_KANA` |JIS Katakana/Hiragana |
85|`KC_QUOTE`|`KC_QUOT`|`‘` and `“`| 85|`KC_INT3` |`KC_JYEN` |JIS `¥` |
86|`KC_GRAVE`|`KC_GRV`|Grave Accent and Tilde| 86|`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
87|`KC_COMMA`|`KC_COMM`|`,` and `<`| 87|`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
88|`KC_DOT`||`.` and `>`| 88|`KC_GRAVE` |`KC_GRV` |<code>&#96;</code> and `~` |
89|`KC_SLASH`|`KC_SLSH`|`/` and `?`| 89|`KC_COMMA` |`KC_COMM` |`,` and `<` |
90|`KC_CAPSLOCK`|`KC_CAPS`|Caps Lock| 90|`KC_DOT` | |`.` and `>` |
91|`KC_LCTRL`|`KC_LCTL`|LeftControl| 91|`KC_SLASH` |`KC_SLSH` |`/` and `?` |
92|`KC_LSHIFT`|`KC_LSFT`|LeftShift| 92|`KC_CAPSLOCK` |`KC_CAPS` |Caps Lock |
93|`KC_LALT`||LeftAlt| 93|`KC_LCTRL` |`KC_LCTL` |Left Control |
94|`KC_LGUI`||Left GUI(Windows/Apple/Meta key)| 94|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
95|`KC_RCTRL`|`KC_RCTL`|RightControl| 95|`KC_LALT` | |Left Alt |
96|`KC_RSHIFT`|`KC_RSFT`|RightShift| 96|`KC_LGUI` | |Left GUI (Windows/Command/Meta key) |
97|`KC_RALT`||RightAlt| 97|`KC_RCTRL` |`KC_RCTL` |Right Control |
98|`KC_RGUI`||Right GUI(Windows/Apple/Meta key)| 98|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
99|`KC_LOCKING_CAPS`|`KC_LCAP`|Locking Caps Lock| 99|`KC_RALT` | |Right Alt |
100|`KC_LOCKING_NUM`|`KC_LNUM`|Locking Num Lock| 100|`KC_RGUI` | |Right GUI (Windows/Command/Meta key) |
101|`KC_LOCKING_SCROLL`|`KC_LSCR`|Locking Scroll Lock| 101|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
102|`KC_INT4`|`KC_HENK`|JIS Henken| 102|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
103|`KC_INT5`|`KC_MHEN`|JIS Muhenken| 103|`KC_LOCKING_SCROLL` |`KC_LSCR` |Locking Scroll Lock |
104|`KC_PSCREEN`|`KC_PSCR`|PrintScreen| 104|`KC_INT4` |`KC_HENK` |JIS Henkan |
105|`KC_SCROLLLOCK`|`KC_SLCK`|Scroll Lock| 105|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
106|`KC_PAUSE`|`KC_PAUS`|Pause| 106|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
107|`KC_INSERT`|`KC_INS`|Insert| 107|`KC_SCROLLLOCK` |`KC_SLCK` |Scroll Lock |
108|`KC_HOME`||Home| 108|`KC_PAUSE` |`KC_PAUS` |Pause |
109|`KC_PGUP`||PageUp| 109|`KC_INSERT` |`KC_INS` |Insert |
110|`KC_DELETE`|`KC_DEL`|Delete Forward| 110|`KC_HOME` | |Home |
111|`KC_END`||End| 111|`KC_PGUP` | |Page Up |
112|`KC_PGDOWN`|`KC_PGDN`|PageDown| 112|`KC_DELETE` |`KC_DEL` |Forward Delete |
113|`KC_RIGHT`|`KC_RGHT`|RightArrow| 113|`KC_END` | |End |
114|`KC_LEFT`||LeftArrow| 114|`KC_PGDOWN` |`KC_PGDN` |Page Down |
115|`KC_DOWN`||DownArrow| 115|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
116|`KC_UP`||UpArrow| 116|`KC_LEFT` | |Left Arrow |
117|`KC_APPLICATION`|`KC_APP`|Application| 117|`KC_DOWN` | |Down Arrow |
118|`KC_POWER`||Old power button scancode. MS has deprecated this in favor of `KC_SYSTEM_POWER`.| 118|`KC_UP` | |Up Arrow |
119|`KC_EXECUTE`||Execute| 119|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key) |
120|`KC_HELP`||Help| 120|`KC_POWER` | |Deprecated by MS in favor of `KC_SYSTEM_POWER`.|
121|`KC_MENU`||Menu| 121|`KC_EXECUTE` | |Execute |
122|`KC_SELECT`||Select| 122|`KC_HELP` | |Help |
123|`KC_AGAIN`||Again| 123|`KC_MENU` | |Menu |
124|`KC_UNDO`||Undo| 124|`KC_SELECT` | |Select |
125|`KC_CUT`||Cut| 125|`KC_AGAIN` | |Again |
126|`KC_COPY`||Copy| 126|`KC_UNDO` | |Undo |
127|`KC_PASTE`||Paste| 127|`KC_CUT` | |Cut |
128|`KC_FIND`||Find| 128|`KC_COPY` | |Copy |
129|`KC_ALT_ERASE`||Alternate Erase| 129|`KC_PASTE` | |Paste |
130|`KC_SYSREQ`||SysReq/Attention| 130|`KC_FIND` | |Find |
131|`KC_CANCEL`||Cancel| 131|`KC_ALT_ERASE` | |Alternate Erase |
132|`KC_CLEAR`||Clear| 132|`KC_SYSREQ` | |SysReq/Attention |
133|`KC_PRIOR`||Prior| 133|`KC_CANCEL` | |Cancel |
134|`KC_RETURN`||Return| 134|`KC_CLEAR` | |Clear |
135|`KC_SEPARATOR`||Separator| 135|`KC_PRIOR` | |Prior |
136|`KC_OUT`||Out| 136|`KC_RETURN` | |Return |
137|`KC_OPER`||Oper| 137|`KC_SEPARATOR` | |Separator |
138|`KC_CLEAR_AGAIN`||Clear/Again| 138|`KC_OUT` | |Out |
139|`KC_CRSEL`||CrSel/Props| 139|`KC_OPER` | |Oper |
140|`KC_EXSEL`||ExSel| 140|`KC_CLEAR_AGAIN` | |Clear/Again |
141|`KC_SYSTEM_POWER`|`KC_PWR`|System Power Down. Recommended over `KC_POWER`.| 141|`KC_CRSEL` | |CrSel/Props |
142|`KC_SYSTEM_SLEEP`|`KC_SLEP`|System Sleep| 142|`KC_EXSEL` | |ExSel |
143|`KC_SYSTEM_WAKE`|`KC_WAKE`|System Wake| 143|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down. Recommended over `KC_POWER`.|
144|`KC_MAIL`|`KC_MAIL`|| 144|`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |
145|`KC_CALCULATOR`|`KC_CALC`|| 145|`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake |
146|`KC_MY_COMPUTER`|`KC_MYCM`|| 146|`KC_MAIL` |`KC_MAIL` | |
147|`KC_WWW_SEARCH`|`KC_WSCH`|| 147|`KC_CALCULATOR` |`KC_CALC` | |
148|`KC_WWW_HOME`|`KC_WHOM`|| 148|`KC_MY_COMPUTER` |`KC_MYCM` | |
149|`KC_WWW_BACK`|`KC_WBAK`|| 149|`KC_WWW_SEARCH` |`KC_WSCH` | |
150|`KC_WWW_FORWARD`|`KC_WFWD`|| 150|`KC_WWW_HOME` |`KC_WHOM` | |
151|`KC_WWW_STOP`|`KC_WSTP`|| 151|`KC_WWW_BACK` |`KC_WBAK` | |
152|`KC_WWW_REFRESH`|`KC_WREF`|| 152|`KC_WWW_FORWARD` |`KC_WFWD` | |
153|`KC_WWW_FAVORITES`|`KC_WFAV`|| 153|`KC_WWW_STOP` |`KC_WSTP` | |
154|`KC_STOP`||Stop| 154|`KC_WWW_REFRESH` |`KC_WREF` | |
155|`KC__MUTE`||Mute (macOS)| 155|`KC_WWW_FAVORITES` |`KC_WFAV` | |
156|`KC__VOLUP`||Volume Up (macOS)| 156|`KC_STOP` | |Stop |
157|`KC__VOLDOWN`||Volume Down (macOS)| 157|`KC__MUTE` | |Mute (macOS) |
158|`KC_AUDIO_MUTE`|`KC_MUTE`|Mute (Windows/macOS/Linux)| 158|`KC__VOLUP` | |Volume Up (macOS) |
159|`KC_AUDIO_VOL_UP`|`KC_VOLU`|Volume Up (Windows/macOS/Linux)| 159|`KC__VOLDOWN` | |Volume Down (macOS) |
160|`KC_AUDIO_VOL_DOWN`|`KC_VOLD`|Volume Down (Windows/macOS/Linux)| 160|`KC_AUDIO_MUTE` |`KC_MUTE` |Mute (Windows/macOS/Linux) |
161|`KC_MEDIA_NEXT_TRACK`|`KC_MNXT`|Next Track (Windows)| 161|`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up (Windows/macOS/Linux) |
162|`KC_MEDIA_PREV_TRACK`|`KC_MPRV`|Previous Track (Windows)| 162|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down (Windows/macOS/Linux) |
163|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS)| 163|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track (Windows) |
164|`KC_MEDIA_REWIND`|`KC_MRWD`|Previous Track (macOS)| 164|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track (Windows) |
165|`KC_MEDIA_STOP`|`KC_MSTP`|| 165|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |Next Track (macOS) |
166|`KC_MEDIA_PLAY_PAUSE`|`KC_MPLY`|| 166|`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track (macOS) |
167|`KC_MEDIA_SELECT`|`KC_MSEL`|| 167|`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track |
168|`KC_NUMLOCK`|`KC_NLCK`|Keypad Num Lock and Clear| 168|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |
169|`KC_KP_SLASH`|`KC_PSLS`|Keypad /| 169|`KC_MEDIA_SELECT` |`KC_MSEL` | |
170|`KC_KP_ASTERISK`|`KC_PAST`|Keypad *| 170|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
171|`KC_KP_MINUS`|`KC_PMNS`|Keypad -| 171|`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |
172|`KC_KP_PLUS`|`KC_PPLS`|Keypad +| 172|`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |
173|`KC_KP_ENTER`|`KC_PENT`|Keypad ENTER`| 173|`KC_KP_MINUS` |`KC_PMNS` |Keypad `-` |
174|`KC_KP_1`|`KC_P1`|Keypad 1 and End| 174|`KC_KP_PLUS` |`KC_PPLS` |Keypad `+` |
175|`KC_KP_2`|`KC_P2`|Keypad 2 and Down Arrow| 175|`KC_KP_ENTER` |`KC_PENT` |Keypad Enter |
176|`KC_KP_3`|`KC_P3`|Keypad 3 and PageDn| 176|`KC_KP_1` |`KC_P1` |Keypad `1` and End |
177|`KC_KP_4`|`KC_P4`|Keypad 4 and Left Arrow| 177|`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow |
178|`KC_KP_5`|`KC_P5`|Keypad 5| 178|`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down |
179|`KC_KP_6`|`KC_P6`|Keypad 6 and Right Arrow| 179|`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow |
180|`KC_KP_7`|`KC_P7`|Keypad 7 and Home| 180|`KC_KP_5` |`KC_P5` |Keypad `5` |
181|`KC_KP_8`|`KC_P8`|Keypad 8 and Up Arrow| 181|`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow |
182|`KC_KP_9`|`KC_P9`|Keypad 9 and PageUp| 182|`KC_KP_7` |`KC_P7` |Keypad `7` and Home |
183|`KC_KP_0`|`KC_P0`|Keypad 0 and Insert| 183|`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow |
184|`KC_KP_DOT`|`KC_PDOT`|Keypad . and Delete| 184|`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
185|`KC_KP_EQUAL`|`KC_PEQL`|Keypad =| 185|`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
186|`KC_KP_COMMA`|`KC_PCMM`|Keypad Comma| 186|`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete |
187|`KC_KP_EQUAL_AS400`||Keypad Equal Sign| 187|`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` |
188|`KC_NO`||Ignore this key. (NOOP) | 188|`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` |
189|`KC_TRNS`||Make this key transparent to find the key on a lower layer.| 189|`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards |
190|[`KC_MS_UP`](feature_mouse_keys.md)|`KC_MS_U`|Mouse Cursor Up| 190|`KC_NO` | |Ignore this key (NOOP) |
191|[`KC_MS_DOWN`](feature_mouse_keys.md)|`KC_MS_D`|Mouse Cursor Down| 191|`KC_TRANSPARENT` |`KC_TRNS` |Use the next lowest non-transparent key |
192|[`KC_MS_LEFT`](feature_mouse_keys.md)|`KC_MS_L`|Mouse Cursor Left| 192
193|[`KC_MS_RIGHT`](feature_mouse_keys.md)|`KC_MS_R`|Mouse Cursor Right| 193## [Mouse Keys](feature_mouse_keys.md)
194|[`KC_MS_BTN1`](feature_mouse_keys.md)|`KC_BTN1`|Mouse Button 1| 194
195|[`KC_MS_BTN2`](feature_mouse_keys.md)|`KC_BTN2`|Mouse Button 2| 195|Key |Aliases |Description |
196|[`KC_MS_BTN3`](feature_mouse_keys.md)|`KC_BTN3`|Mouse Button 3| 196|----------------|---------|---------------------------|
197|[`KC_MS_BTN4`](feature_mouse_keys.md)|`KC_BTN4`|Mouse Button 4| 197|`KC_MS_UP` |`KC_MS_U`|Mouse Cursor Up |
198|[`KC_MS_BTN5`](feature_mouse_keys.md)|`KC_BTN5`|Mouse Button 5| 198|`KC_MS_DOWN` |`KC_MS_D`|Mouse Cursor Down |
199|[`KC_MS_WH_UP`](feature_mouse_keys.md)|`KC_WH_U`|Mouse Wheel Up| 199|`KC_MS_LEFT` |`KC_MS_L`|Mouse Cursor Left |
200|[`KC_MS_WH_DOWN`](feature_mouse_keys.md)|`KC_WH_D`|Mouse Wheel Down| 200|`KC_MS_RIGHT` |`KC_MS_R`|Mouse Cursor Right |
201|[`KC_MS_WH_LEFT`](feature_mouse_keys.md)|`KC_WH_L`|Mouse Wheel Left| 201|`KC_MS_BTN1` |`KC_BTN1`|Mouse Button 1 |
202|[`KC_MS_WH_RIGHT`](feature_mouse_keys.md)|`KC_WH_R`|Mouse Wheel Right| 202|`KC_MS_BTN2` |`KC_BTN2`|Mouse Button 2 |
203|[`KC_MS_ACCEL0`](feature_mouse_keys.md)|`KC_ACL0`|Mouse Acceleration 0| 203|`KC_MS_BTN3` |`KC_BTN3`|Mouse Button 3 |
204|[`KC_MS_ACCEL1`](feature_mouse_keys.md)|`KC_ACL1`|Mouse Acceleration 1| 204|`KC_MS_BTN4` |`KC_BTN4`|Mouse Button 4 |
205|[`KC_MS_ACCEL2`](feature_mouse_keys.md)|`KC_ACL2`|Mouse Acceleration 2| 205|`KC_MS_BTN5` |`KC_BTN5`|Mouse Button 5 |
206|[`RESET`](quantum_keycodes.md#qmk-keycodes)||Put the keyboard into DFU mode for flashing| 206|`KC_MS_WH_UP` |`KC_WH_U`|Mouse Wheel Up |
207|[`DEBUG`](quantum_keycodes.md#qmk-keycodes)||Toggles debug mode| 207|`KC_MS_WH_DOWN` |`KC_WH_D`|Mouse Wheel Down |
208|[`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 `~`| 208|`KC_MS_WH_LEFT` |`KC_WH_L`|Mouse Wheel Left |
209|[`KC_LSPO`](quantum_keycodes.md#qmk-keycodes)||Left shift when held, open paranthesis when tapped| 209|`KC_MS_WH_RIGHT`|`KC_WH_R`|Mouse Wheel Right |
210|[`KC_RSPC`](quantum_keycodes.md#qmk-keycodes)||Right shift when held, close paranthesis when tapped| 210|`KC_MS_ACCEL0` |`KC_ACL0`|Set mouse acceleration to 0|
211|[`KC_LEAD`](feature_leader_key.md)||The leader key| 211|`KC_MS_ACCEL1` |`KC_ACL1`|Set mouse acceleration to 1|
212|[`FUNC(n)`](quantum_keycodes.md#qmk-keycodes)|`F(n)`|Call `fn_action(n)`| 212|`KC_MS_ACCEL2` |`KC_ACL2`|Set mouse acceleration to 2|
213|[`M(n)`](quantum_keycodes.md#qmk-keycodes)||to call macro n| 213
214|[`MACROTAP(n)`](quantum_keycodes.md#qmk-keycodes)||to macro-tap n idk FIXME`| 214## [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes)
215|[`MAGIC_SWAP_CONTROL_CAPSLOCK`](feature_bootmagic.md)||Swap Capslock and Left Control| 215
216|[`MAGIC_CAPSLOCK_TO_CONTROL`](feature_bootmagic.md)||Treat Capslock like a Control Key| 216|Key |Aliases |Description |
217|[`MAGIC_SWAP_LALT_LGUI`](feature_bootmagic.md)||Swap the left Alt and GUI keys| 217|-------------|-----------|---------------------------------------------------------------------|
218|[`MAGIC_SWAP_RALT_RGUI`](feature_bootmagic.md)||Swap the right Alt and GUI keys| 218|`RESET` | |Put the keyboard into DFU mode for flashing |
219|[`MAGIC_NO_GUI`](feature_bootmagic.md)||Disable the GUI key| 219|`DEBUG` | |Toggle debug mode |
220|[`MAGIC_SWAP_GRAVE_ESC`](feature_bootmagic.md)||Swap the Grave and Esc key.| 220|`KC_GESC` |`GRAVE_ESC`|Escape when tapped, <code>&#96;</code> when pressed with Shift or GUI|
221|[`MAGIC_SWAP_BACKSLASH_BACKSPACE`](feature_bootmagic.md)||Swap backslack and backspace| 221|`KC_LSPO` | |Left Shift when held, `(` when tapped |
222|[`MAGIC_HOST_NKRO`](feature_bootmagic.md)||Force NKRO on| 222|`KC_RSPC` | |Right Shift when held, `)` when tapped |
223|[`MAGIC_SWAP_ALT_GUI`/`AG_SWAP`](feature_bootmagic.md)||Swap Alt and Gui on both sides| 223|`KC_LEAD` | |The [Leader key](feature_leader_key.md) |
224|[`MAGIC_UNSWAP_CONTROL_CAPSLOCK`](feature_bootmagic.md)||Disable the Control/Capslock swap| 224|`KC_LOCK` | |The [Lock key](feature_key_lock.md) |
225|[`MAGIC_UNCAPSLOCK_TO_CONTROL`](feature_bootmagic.md)||Disable treating Capslock like Control | 225|`FUNC(n)` |`F(n)` |Call `fn_action(n)` (deprecated) |
226|[`MAGIC_UNSWAP_LALT_LGUI`](feature_bootmagic.md)||Disable Left Alt and GUI switching| 226|`M(n)` | |Call macro `n` |
227|[`MAGIC_UNSWAP_RALT_RGUI`](feature_bootmagic.md)||Disable Right Alt and GUI switching| 227|`MACROTAP(n)`| |Macro-tap `n` idk FIXME |
228|[`MAGIC_UNNO_GUI`](feature_bootmagic.md)||Enable the GUI key | 228
229|[`MAGIC_UNSWAP_GRAVE_ESC`](feature_bootmagic.md)||Disable the Grave/Esc swap | 229## [Bootmagic](feature_bootmagic.md)
230|[`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`](feature_bootmagic.md)||Disable the backslash/backspace swap| 230
231|[`MAGIC_UNHOST_NKRO`](feature_bootmagic.md)||Force NKRO off| 231|Key |Aliases |Description |
232|[`MAGIC_UNSWAP_ALT_GUI`/`AG_NORM`](feature_bootmagic.md)||Disable the Alt/GUI switching| 232|----------------------------------|---------|------------------------------------|
233|[`MAGIC_TOGGLE_NKRO`](feature_bootmagic.md)||Turn NKRO on or off| 233|`MAGIC_SWAP_CONTROL_CAPSLOCK` | |Swap Caps Lock and Left Control |
234|[`BL_x`](feature_backlight.md)||Set a specific backlight level between 0-9| 234|`MAGIC_CAPSLOCK_TO_CONTROL` | |Treat Caps Lock as Control |
235|[`BL_ON`](feature_backlight.md)||An alias for `BL_9`| 235|`MAGIC_SWAP_LALT_LGUI` | |Swap Left Alt and GUI |
236|[`BL_OFF`](feature_backlight.md)||An alias for `BL_0`| 236|`MAGIC_SWAP_RALT_RGUI` | |Swap Right Alt and GUI |
237|[`BL_DEC`](feature_backlight.md)||Turn the backlight level down by 1| 237|`MAGIC_NO_GUI` | |Disable the GUI key |
238|[`BL_INC`](feature_backlight.md)||Turn the backlight level up by 1| 238|`MAGIC_SWAP_GRAVE_ESC` | |Swap <code>&#96;</code> and Escape |
239|[`BL_TOGG`](feature_backlight.md)||Toggle the backlight on or off| 239|`MAGIC_SWAP_BACKSLASH_BACKSPACE` | |Swap `\` and Backspace |
240|[`BL_STEP`](feature_backlight.md)||Step through backlight levels, wrapping around to 0 when you reach the top.| 240|`MAGIC_HOST_NKRO` | |Force NKRO on |
241|[`RGB_TOG`](feature_rgblight.md)||toggle on/off| 241|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides |
242|[`RGB_MOD`](feature_rgblight.md)||cycle through modes| 242|`MAGIC_UNSWAP_CONTROL_CAPSLOCK` | |Unswap Caps Lock and Left Control |
243|[`RGB_HUI`](feature_rgblight.md)||hue increase| 243|`MAGIC_UNCAPSLOCK_TO_CONTROL` | |Stop treating Caps Lock as Control |
244|[`RGB_HUD`](feature_rgblight.md)||hue decrease| 244|`MAGIC_UNSWAP_LALT_LGUI` | |Unswap Left Alt and GUI |
245|[`RGB_SAI`](feature_rgblight.md)||saturation increase| 245|`MAGIC_UNSWAP_RALT_RGUI` | |Unswap Right Alt and GUI |
246|[`RGB_SAD`](feature_rgblight.md)||saturation decrease| 246|`MAGIC_UNNO_GUI` | |Enable the GUI key |
247|[`RGB_VAI`](feature_rgblight.md)||value increase| 247|`MAGIC_UNSWAP_GRAVE_ESC` | |Unswap <code>&#96;</code> and Escape|
248|[`RGB_VAD`](feature_rgblight.md)||value decrease| 248|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`| |Unswap `\` and Backspace |
249|[`PRINT_ON`](feature_thermal_printer.md)||Start printing everything the user types| 249|`MAGIC_UNHOST_NKRO` | |Force NKRO off |
250|[`PRINT_OFF`](feature_thermal_printer.md)||Stop printing everything the user types| 250|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides |
251|[`OUT_AUTO`](feature_bluetooth.md)||auto mode| 251|`MAGIC_TOGGLE_NKRO` | |Turn NKRO on or off |
252|[`OUT_USB`](feature_bluetooth.md)||usb only| 252
253|[`OUT_BT`](feature_bluetooth.md)||bluetooth (when `BLUETOOTH_ENABLE`)| 253## [Backlighting](feature_backlight.md)
254|[`KC_HYPR`](quantum_keycodes.md#modifiers)||Hold down LCTL + LSFT + LALT + LGUI`| 254
255|[`KC_MEH`](quantum_keycodes.md#modifiers)||Hold down LCTL + LSFT + LALT`| 255|Key |Description |
256|[`LCTL(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `kc`| 256|---------|------------------------------------------|
257|[`LSFT(kc)`](quantum_keycodes.md#modifiers)|[`S(kc)`](quantum_keycodes.md#modifiers)|`LSFT` + `kc`| 257|`BL_TOGG`|Turn the backlight on or off |
258|[`LALT(kc)`](quantum_keycodes.md#modifiers)||`LALT` + `kc`| 258|`BL_STEP`|Cycle through backlight levels |
259|[`LGUI(kc)`](quantum_keycodes.md#modifiers)||`LGUI` + `kc`| 259|`BL_x` |Set a specific backlight level between 0-9|
260|[`RCTL(kc)`](quantum_keycodes.md#modifiers)||`RCTL` + `kc`| 260|`BL_ON` |An alias for `BL_9` |
261|[`RSFT(kc)`](quantum_keycodes.md#modifiers)||`RSFT` + `kc`| 261|`BL_OFF` |An alias for `BL_0` |
262|[`RALT(kc)`](quantum_keycodes.md#modifiers)||`RALT` + `kc`| 262|`BL_INC` |Increase backlight level |
263|[`RGUI(kc)`](quantum_keycodes.md#modifiers)||`RGUI` + `kc`| 263|`BL_DEC` |Decrease backlight level |
264|[`HYPR(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LSFT` + `LALT` + `LGUI` + `kc`| 264
265|[`MEH(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LSFT` + `LALT` + `kc`| 265## [RGB Lighting](feature_rgblight.md)
266|[`LCAG(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LALT` + `LGUI` + `kc`| 266
267|[`ALTG(kc)`](quantum_keycodes.md#modifiers)||`RCTL` + `RALT` + `kc`| 267|Key |Aliases |Description |
268|[`SCMD(kc)`](quantum_keycodes.md#modifiers)|[`SWIN(kc)`](quantum_keycodes.md#modifiers)|`LGUI` + `LSFT` + `kc`| 268|-------------------|----------|--------------------------------------------------------------------|
269|[`LCA(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LALT` + `kc`| 269|`RGB_TOG` | |Toggle RGB lighting on or off |
270|[`CTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LCTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LCTL` when held, `kc` when tapped| 270|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
271|[`RCTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)||[`RCTL` when held, `kc` when tapped| 271|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
272|[`SFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LSFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LSFT` when held, `kc` when tapped| 272|`RGB_HUI` | |Increase hue |
273|[`RSFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)||[`RSFT` when held, `kc` when tapped| 273|`RGB_HUD` | |Decrease hue |
274|[`ALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LALT` when held, `kc` when tapped| 274|`RGB_SAI` | |Increase saturation |
275|[`RALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`ALGR_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`RALT` when held, `kc` when tapped| 275|`RGB_SAD` | |Decrease saturation |
276|[`GUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LGUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LGUI` when held, `kc` when tapped| 276|`RGB_VAI` | |Increase value (brightness) |
277|[`RGUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`RGUI` when held, `kc` when tapped| 277|`RGB_VAD` | |Decrease value (brightness) |
278|[`C_S_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LSFT` when held, `kc` when tapped| 278|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
279|[`MEH_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LSFT` + `LALT` when held, `kc` when tapped| 279|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
280|[`LCAG_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LALT` + `LGUI` when held, `kc` when tapped| 280|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
281|[`RCAG_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`RCTL` + `RALT` + `RGUI` when held, `kc` when tapped| 281|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode |
282|[`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/)| 282|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode |
283|[`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| 283|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode |
284|[`LCA_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LALT` when held, `kc` when tapped| 284|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode |
285|[`KC_TILD`](keycodes_us_ansi_shifted.md)|`KC_TILDE`|tilde `~`| 285|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode |
286|[`KC_EXLM`](keycodes_us_ansi_shifted.md)|`KC_EXCLAIM`|exclamation mark `!`| 286
287|[`KC_AT`](keycodes_us_ansi_shifted.md)||at sign `@`| 287## [Thermal Printer](feature_thermal_printer.md)
288|[`KC_HASH`](keycodes_us_ansi_shifted.md)||hash sign `#`| 288
289|[`KC_DLR`](keycodes_us_ansi_shifted.md)|`KC_DOLLAR`|dollar sign `$`| 289|Key |Description |
290|[`KC_PERC`](keycodes_us_ansi_shifted.md)|`KC_PERCENT`|percent sign `%`| 290|-----------|----------------------------------------|
291|[`KC_CIRC`](keycodes_us_ansi_shifted.md)|`KC_CIRCUMFLEX`|circumflex `^`| 291|`PRINT_ON` |Start printing everything the user types|
292|[`KC_AMPR`](keycodes_us_ansi_shifted.md)|`KC_AMPERSAND`|ampersand `&`| 292|`PRINT_OFF`|Stop printing everything the user types |
293|[`KC_ASTR`](keycodes_us_ansi_shifted.md)|`KC_ASTERISK`|asterisk `*`| 293
294|[`KC_LPRN`](keycodes_us_ansi_shifted.md)|`KC_LEFT_PAREN`|left parenthesis `(`| 294## [Bluetooth](feature_bluetooth.md)
295|[`KC_RPRN`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_PAREN`|right parenthesis `)`| 295
296|[`KC_UNDS`](keycodes_us_ansi_shifted.md)|`KC_UNDERSCORE`|underscore `_`| 296|Key |Description |
297|[`KC_PLUS`](keycodes_us_ansi_shifted.md)||plus sign `+`| 297|----------|----------------------------------------------|
298|[`KC_LCBR`](keycodes_us_ansi_shifted.md)|`KC_LEFT_CURLY_BRACE`|left curly brace `{`| 298|`OUT_AUTO`|Automatically switch between USB and Bluetooth|
299|[`KC_RCBR`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_CURLY_BRACE`|right curly brace `}`| 299|`OUT_USB` |USB only |
300|[`KC_LT`/`KC_LABK`](keycodes_us_ansi_shifted.md)|`KC_LEFT_ANGLE_BRACKET`|left angle bracket `<`| 300|`OUT_BT` |Bluetooth only |
301|[`KC_GT`/`KC_RABK`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_ANGLE_BRACKET`|right angle bracket `>`| 301
302|[`KC_COLN`](keycodes_us_ansi_shifted.md)|`KC_COLON`|colon `:`| 302## [Modifiers](quantum_keycodes.md#modifiers)
303|[`KC_PIPE`](keycodes_us_ansi_shifted.md)||pipe `\|`| 303
304|[`KC_QUES`](keycodes_us_ansi_shifted.md)|`KC_QUESTION`|question mark `?`| 304|Key |Aliases |Description |
305|[`KC_DQT`/`KC_DQUO`](keycodes_us_ansi_shifted.md)|`KC_DOUBLE_QUOTE`|double quote `"`| 305|----------|----------|----------------------------------------------------|
306|[`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| 306|`KC_HYPR` | |Hold Left Control, Shift, Alt and GUI |
307|[`TO(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||turn on layer when depressed| 307|`KC_MEH` | |Hold Left Control, Shift and Alt |
308|[`MO(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||momentarily turn on layer when depressed (requires `KC_TRNS` on destination layer)| 308|`LCTL(kc)`| |Hold Left Control and press `kc` |
309|[`DF(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||sets the base (default) layer| 309|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
310|[`TG(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||toggle layer on/off| 310|`LALT(kc)`| |Hold Left Alt and press `kc` |
311|[`TT(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||tap toggle? idk FIXME`| 311|`LGUI(kc)`| |Hold Left GUI and press `kc` |
312|[`OSM(mod)`](quantum_keycodes.md#one-shot-keys)||hold mod for one keypress| 312|`RCTL(kc)`| |Hold Right Control and press `kc` |
313|[`OSL(layer)`](quantum_keycodes.md#one-shot-keys)||switch to layer for one keypress| 313|`RSFT(kc)`| |Hold Right Shift and press `kc` |
314|[`UNICODE(n)`](feature_unicode.md)|[`UC(n)`](feature_unicode.md)|if `UNICODE_ENABLE`, this will send characters up to `0x7FFF`| 314|`RALT(kc)`| |Hold Right Alt and press `kc` |
315|[`X(n)`](feature_unicode.md)||if `UNICODEMAP_ENABLE`, also sends unicode via a different method| 315|`RGUI(kc)`| |Hold Right GUI and press `kc` |
316|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
317|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
318|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
319|`ALTG(kc)`| |Hold Right Control and Alt and press `kc` |
320|`SCMD(kc)`|`SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
321|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
322
323## [Mod-Tap Keys](quantum_keycodes.md#mod-tap-keys)
324
325|Key |Aliases |Description |
326|------------|------------|-------------------------------------------------------|
327|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
328|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
329|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
330|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
331|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
332|`RALT_T(kc)`|`ALGR_T(kc)`|Right Alt when held, `kc` when tapped |
333|`LGUI_T(kc)`|`GUI_T(kc)` |Left GUI when held, `kc` when tapped |
334|`RGUI_T(kc)`| |Right GUI when held, `kc` when tapped |
335|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
336|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
337|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
338|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
339|`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/)|
340|`SCMD_T(kc)`|`SWIN_T(kc)`|Left Shift and GUI when held, `kc` when tapped |
341|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
342
343## [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
344
345|Key |Aliases |Description |
346|------------------------|------------------|-------------------|
347|`KC_TILDE` |`KC_TILD` |`~` |
348|`KC_EXCLAIM` |`KC_EXLM` |`!` |
349|`KC_AT` | |`@` |
350|`KC_HASH` | |`#` |
351|`KC_DOLLAR` |`KC_DLR` |`$` |
352|`KC_PERCENT` |`KC_PERC` |`%` |
353|`KC_CIRCUMFLEX` |`KC_CIRC` |`^` |
354|`KC_AMPERSAND` |`KC_AMPR` |`&` |
355|`KC_ASTERISK` |`KC_ASTR` |`*` |
356|`KC_LEFT_PAREN` |`KC_LPRN` |`(` |
357|`KC_RIGHT_PAREN` |`KC_RPRN` |`)` |
358|`KC_UNDERSCORE` |`KC_UNDS` |`_` |
359|`KC_PLUS` | |`+` |
360|`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` |
361|`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` |
362|`KC_PIPE` | |<code>&#124;</code>|
363|`KC_COLON` |`KC_COLN` |`:` |
364|`KC_DOUBLE_QUOTE` |`KC_DQT`/`KC_DQUO`|`"` |
365|`KC_LEFT_ANGLE_BRACKET` |`KC_LT`/`KC_LABK` |`<` |
366|`KC_RIGHT_ANGLE_BRACKET`|`KC_GT`/`KC_RABK` |`>` |
367|`KC_QUESTION` |`KC_QUES` |`?` |
368
369## [Switching and Toggling Layers](feature_common_shortcuts.md#switching-and-toggling-layers)
370
371|Key |Description |
372|---------------|----------------------------------------------------------------------------------|
373|`LT(layer, kc)`|Turn on `layer` when held, `kc` when tapped |
374|`TO(layer)` |Turn on `layer` when pressed |
375|`MO(layer)` |Momentarily turn on `layer` when pressed (requires `KC_TRNS` on destination layer)|
376|`DF(layer)` |Set the base (default) layer |
377|`TG(layer)` |Toggle `layer` on or off |
378|`TT(layer)` |Tap toggle? idk FIXME |
379
380## [One Shot Keys](quantum_keycodes.md#one-shot-keys)
381
382|Key |Description |
383|------------|----------------------------------|
384|`OSM(mod)` |Hold `mod` for one keypress |
385|`OSL(layer)`|Switch to `layer` for one keypress|
386
387## [Unicode Support](feature_unicode.md)
388
389|Key |Aliases| |
390|------------|-------|-------------------------------------------------|
391|`UNICODE(n)`|`UC(n)`|Send Unicode character `n` |
392|`X(n)` | |Send Unicode character `n` via a different method|