aboutsummaryrefslogtreecommitdiff
path: root/docs/keycodes.md
diff options
context:
space:
mode:
authorskullY <skullydazed@gmail.com>2017-08-06 17:51:42 -0700
committerJack Humbert <jack.humb@gmail.com>2017-08-16 15:47:20 -0400
commit9b879b1267cd5cbebf4d73595c7ca4ed52fe5ef4 (patch)
treee47cc787fcb7745d83d6e645b21c00e498b55100 /docs/keycodes.md
parent2709744cdda808121ae91e8467659f715e68a540 (diff)
downloadqmk_firmware-9b879b1267cd5cbebf4d73595c7ca4ed52fe5ef4.tar.gz
qmk_firmware-9b879b1267cd5cbebf4d73595c7ca4ed52fe5ef4.zip
break up keymaps and quantum keycodes into files by feature
Diffstat (limited to 'docs/keycodes.md')
-rw-r--r--docs/keycodes.md360
1 files changed, 347 insertions, 13 deletions
diff --git a/docs/keycodes.md b/docs/keycodes.md
index 7c5cae8b3..b9e1f42f7 100644
--- a/docs/keycodes.md
+++ b/docs/keycodes.md
@@ -1,17 +1,351 @@
1# Overview 1# Overview
2 2
3When defining a [keymap](keymap.md) each key needs a valid key definition. 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.
4 4
5This page documents the symbols that correspond to keycodes that are available to you in QMK. 5## Keycode Index
6 6
7## Basic keycodes (`0x00` - `0xFF`) 7|Long Name|Short Name|Description|
8 8|---------|----------|-----------|
9[Basic keycodes](basic_keycodes.md) in QMK are based on [HID Usage Keyboard/Keypad Page(0x07)](http://www.usb.org/developers/hidpage/Hut1_12v2.pdf) with following exceptions: 9|`KC_1`||||
10 10|`KC_2`||||
11* `KC_NO` = 0 for no action 11|`KC_3`||||
12* `KC_TRNS` = 1 for layer transparency 12|`KC_4`||||
13* internal special keycodes in the `0xA5-DF` range (tmk heritage). 13|`KC_5`||||
14 14|`KC_6`||||
15## Quantum keycodes (`0x0100` - `0xFFFF`) 15|`KC_7`||||
16 16|`KC_8`||||
17[Quantum keycodes](quantum_keycodes.md) allow for easier customisation of your keymap than the basic ones provide, without having to define custom actions. 17|`KC_9`||||
18|`KC_0`||||
19|`KC_F1`||||
20|`KC_F2`||||
21|`KC_F3`||||
22|`KC_F4`||||
23|`KC_F5`||||
24|`KC_F6`||||
25|`KC_F7`||||
26|`KC_F8`||||
27|`KC_F9`||||
28|`KC_F10`||||
29|`KC_F11`||||
30|`KC_F12`||||
31|`KC_F13`||||
32|`KC_F14`||||
33|`KC_F15`||||
34|`KC_F16`||||
35|`KC_F17`||||
36|`KC_F18`||||
37|`KC_F19`||||
38|`KC_F20`||||
39|`KC_F21`||||
40|`KC_F22`||||
41|`KC_F23`||||
42|`KC_F24`||||
43|`KC_A`||||
44|`KC_B`||||
45|`KC_C`||||
46|`KC_D`||||
47|`KC_E`||||
48|`KC_F`||||
49|`KC_G`||||
50|`KC_H`||||
51|`KC_I`||||
52|`KC_J`||||
53|`KC_K`||||
54|`KC_L`||||
55|`KC_M`||||
56|`KC_N`||||
57|`KC_O`||||
58|`KC_P`||||
59|`KC_Q`||||
60|`KC_R`||||
61|`KC_S`||||
62|`KC_T`||||
63|`KC_U`||||
64|`KC_V`||||
65|`KC_W`||||
66|`KC_X`||||
67|`KC_Y`||||
68|`KC_Z`||||
69|Long Name|Short Name|Description|
70|---------|----------|-----------|
71|`KC_ENTER`|`KC_ENT`|`Return (ENTER)`|
72|`KC_ESCAPE`|`KC_ESC`|`ESCAPE`|
73|`KC_BSPACE`|`KC_BSPC`|`DELETE (Backspace)`|
74|`KC_TAB`||`Tab`|
75|`KC_SPACE`|`KC_SPC`|Spacebar|
76|`KC_MINUS`|`KC_MINS`|`-` and `_`|
77|`KC_EQUAL`|`KC_EQL`|`=` and `+`|
78|`KC_LBRACKET`|`KC_LBRC`|`[` and `{`|
79|`KC_RBRACKET`|`KC_RBRC`|`]` and `}`|
80|`KC_BSLASH`|`KC_BSLS`|`\` and <code>&#124;</code> |
81|`KC_NONUS_HASH`|`KC_NUHS`|Non-US `#` and `~`|
82|`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>&#124;</code> |
83|`KC_INT1`|`KC_RO`|JIS `\` and <code>&#124;</code> |
84|`KC_INT2`|`KC_KANA`|International216|
85|`KC_INT3`|`KC_JYEN`|Yen Symbol (`¥`)|
86|`KC_SCOLON`|`KC_SCLN`|`;` and `:`|
87|`KC_QUOTE`|`KC_QUOT`|`‘` and `“`|
88|`KC_GRAVE`|`KC_GRV`|Grave Accent and Tilde|
89|`KC_COMMA`|`KC_COMM`|`,` and `<`|
90|`KC_DOT`||`.` and `>`|
91|`KC_SLASH`|`KC_SLSH`|`/` and `?`|
92|`KC_CAPSLOCK`|`KC_CAPS`|Caps Lock|
93|Long Name|Short Name|Description|
94|---------|----------|-----------|
95|`KC_LCTRL`|`KC_LCTL`|LeftControl|
96|`KC_LSHIFT`|`KC_LSFT`|LeftShift|
97|`KC_LALT`||LeftAlt|
98|`KC_LGUI`||Left GUI(Windows/Apple/Meta key)|
99|`KC_RCTRL`|`KC_RCTL`|RightControl|
100|`KC_RSHIFT`|`KC_RSFT`|RightShift|
101|`KC_RALT`||RightAlt|
102|`KC_RGUI`||Right GUI(Windows/Apple/Meta key)|
103|`KC_LOCKING_CAPS`|`KC_LCAP`|Locking Caps Lock|
104|`KC_LOCKING_NUM`|`KC_LNUM`|Locking Num Lock|
105|`KC_LOCKING_SCROLL`|`KC_LSCR`|Locking Scroll Lock|
106|`KC_INT4`|`KC_HENK`|JIS Henken|
107|`KC_INT5`|`KC_MHEN`|JIS Muhenken|
108|Long Name|Short Name|Description|
109|---------|----------|-----------|
110|`KC_PSCREEN`|`KC_PSCR`|PrintScreen|
111|`KC_SCROLLLOCK`|`KC_SLCK`|Scroll Lock|
112|`KC_PAUSE`|`KC_PAUS`|Pause|
113|`KC_INSERT`|`KC_INS`|Insert|
114|`KC_HOME`||Home|
115|`KC_PGUP`||PageUp|
116|`KC_DELETE`|`KC_DEL`|Delete Forward|
117|`KC_END`||End|
118|`KC_PGDOWN`|`KC_PGDN`|PageDown|
119|`KC_RIGHT`|`KC_RGHT`|RightArrow|
120|`KC_LEFT`||LeftArrow|
121|`KC_DOWN`||DownArrow|
122|`KC_UP`||UpArrow|
123|`KC_APPLICATION`|`KC_APP`|Application|
124|`KC_POWER`||Power|
125|`KC_EXECUTE`||Execute|
126|`KC_HELP`||Help|
127|`KC_MENU`||Menu|
128|`KC_SELECT`||Select|
129|`KC_AGAIN`||Again|
130|`KC_UNDO`||Undo|
131|`KC_CUT`||Cut|
132|`KC_COPY`||Copy|
133|`KC_PASTE`||Paste|
134|`KC_FIND`||Find|
135|`KC_ALT_ERASE`||Alternate Erase|
136|`KC_SYSREQ`||SysReq/Attention|
137|`KC_CANCEL`||Cancel|
138|`KC_CLEAR`||Clear|
139|`KC_PRIOR`||Prior|
140|`KC_RETURN`||Return|
141|`KC_SEPARATOR`||Separator|
142|`KC_OUT`||Out|
143|`KC_OPER`||Oper|
144|`KC_CLEAR_AGAIN`||Clear/Again|
145|`KC_CRSEL`||CrSel/Props|
146|`KC_EXSEL`||ExSel|
147|`KC_SYSTEM_POWER`|`KC_PWR`|System Power Down|
148|`KC_SYSTEM_SLEEP`|`KC_SLEP`|System Sleep|
149|`KC_SYSTEM_WAKE`|`KC_WAKE`|System Wake|
150|`KC_MAIL`|`KC_MAIL`||
151|`KC_CALCULATOR`|`KC_CALC`||
152|`KC_MY_COMPUTER`|`KC_MYCM`||
153|`KC_WWW_SEARCH`|`KC_WSCH`||
154|`KC_WWW_HOME`|`KC_WHOM`||
155|`KC_WWW_BACK`|`KC_WBAK`||
156|`KC_WWW_FORWARD`|`KC_WFWD`||
157|`KC_WWW_STOP`|`KC_WSTP`||
158|`KC_WWW_REFRESH`|`KC_WREF`||
159|`KC_WWW_FAVORITES`|`KC_WFAV`||
160|Long Name|Short Name|Description|
161|---------|----------|-----------|
162|`KC_STOP`||Stop|
163|`KC__MUTE`||Mute|
164|`KC__VOLUP`||Volume Up|
165|`KC__VOLDOWN`||Volume Down|
166|`KC_AUDIO_MUTE`|`KC_MUTE`||
167|`KC_AUDIO_VOL_UP`|`KC_VOLU`||
168|`KC_AUDIO_VOL_DOWN`|`KC_VOLD`||
169|`KC_MEDIA_NEXT_TRACK`|`KC_MNXT`|Next Track (Windows)|
170|`KC_MEDIA_PREV_TRACK`|`KC_MPRV`|Previous Track (Windows)|
171|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS)|
172|`KC_MEDIA_REWIND`|`KC_MRWD`|Previous Track (macOS)|
173|`KC_MEDIA_STOP`|`KC_MSTP`||
174|`KC_MEDIA_PLAY_PAUSE`|`KC_MPLY`||
175|`KC_MEDIA_SELECT`|`KC_MSEL`||
176|Long Name|Short Name|Description|
177|---------|----------|-----------|
178|`KC_NUMLOCK`|`KC_NLCK`|Keypad Num Lock and Clear|
179|`KC_KP_SLASH`|`KC_PSLS`|Keypad /|
180|`KC_KP_ASTERISK`|`KC_PAST`|Keypad *|
181|`KC_KP_MINUS`|`KC_PMNS`|Keypad -|
182|`KC_KP_PLUS`|`KC_PPLS`|Keypad +|
183|`KC_KP_ENTER`|`KC_PENT`|Keypad ENTER`|
184|`KC_KP_1`|`KC_P1`|Keypad 1 and End|
185|`KC_KP_2`|`KC_P2`|Keypad 2 and Down Arrow|
186|`KC_KP_3`|`KC_P3`|Keypad 3 and PageDn|
187|`KC_KP_4`|`KC_P4`|Keypad 4 and Left Arrow|
188|`KC_KP_5`|`KC_P5`|Keypad 5|
189|`KC_KP_6`|`KC_P6`|Keypad 6 and Right Arrow|
190|`KC_KP_7`|`KC_P7`|Keypad 7 and Home|
191|`KC_KP_8`|`KC_P8`|Keypad 8 and Up Arrow|
192|`KC_KP_9`|`KC_P9`|Keypad 9 and PageUp|
193|`KC_KP_0`|`KC_P0`|Keypad 0 and Insert|
194|`KC_KP_DOT`|`KC_PDOT`|Keypad . and Delete|
195|`KC_KP_EQUAL`|`KC_PEQL`|Keypad =|
196|`KC_KP_COMMA`|`KC_PCMM`|Keypad Comma|
197|`KC_KP_EQUAL_AS400`||Keypad Equal Sign|
198|Long Name|Short Name|Description|
199|---------|----------|-----------|
200|`KC_NO`||Ignore this key. (NOOP) |
201|`KC_TRNS`||Make this key transparent to find the key on a lower layer.|
202|Long Name|Short Name|Description|
203|---------|----------|-----------|
204|[`KC_MS_UP`](mouse_keys.md)|`KC_MS_U`|Mouse Cursor Up|
205|[`KC_MS_DOWN`](mouse_keys.md)|`KC_MS_D`|Mouse Cursor Down|
206|[`KC_MS_LEFT`](mouse_keys.md)|`KC_MS_L`|Mouse Cursor Left|
207|[`KC_MS_RIGHT`](mouse_keys.md)|`KC_MS_R`|Mouse Cursor Right|
208|[`KC_MS_BTN1`](mouse_keys.md)|`KC_BTN1`|Mouse Button 1|
209|[`KC_MS_BTN2`](mouse_keys.md)|`KC_BTN2`|Mouse Button 2|
210|[`KC_MS_BTN3`](mouse_keys.md)|`KC_BTN3`|Mouse Button 3|
211|[`KC_MS_BTN4`](mouse_keys.md)|`KC_BTN4`|Mouse Button 4|
212|[`KC_MS_BTN5`](mouse_keys.md)|`KC_BTN5`|Mouse Button 5|
213|[`KC_MS_WH_UP`](mouse_keys.md)|`KC_WH_U`|Mouse Wheel Up|
214|[`KC_MS_WH_DOWN`](mouse_keys.md)|`KC_WH_D`|Mouse Wheel Down|
215|[`KC_MS_WH_LEFT`](mouse_keys.md)|`KC_WH_L`|Mouse Wheel Left|
216|[`KC_MS_WH_RIGHT`](mouse_keys.md)|`KC_WH_R`|Mouse Wheel Right|
217|[`KC_MS_ACCEL0`](mouse_keys.md)|`KC_ACL0`|Mouse Acceleration 0|
218|[`KC_MS_ACCEL1`](mouse_keys.md)|`KC_ACL1`|Mouse Acceleration 1|
219|[`KC_MS_ACCEL2`](mouse_keys.md)|`KC_ACL2`|Mouse Acceleration 2|
220|Long Name|Short Name|Description|
221|---------|----------|-----------|
222|[`RESET`](quantum_keycodes.md#qmk-keycodes)||Put the keyboard into DFU mode for flashing|
223|[`DEBUG`](quantum_keycodes.md#qmk-keycodes)||Toggles debug mode|
224|[`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 `~`|
225|[`KC_LSPO`](quantum_keycodes.md#qmk-keycodes)||Left shift when held, open paranthesis when tapped|
226|[`KC_RSPC`](quantum_keycodes.md#qmk-keycodes)||Right shift when held, close paranthesis when tapped|
227|[`KC_LEAD`](quantum_keycodes.md#qmk-keycodes)||The [leader key](leader_key.md)|
228|[`FUNC(n)`](quantum_keycodes.md#qmk-keycodes)|`F(n)`|Call `fn_action(n)`|
229|[`M(n)`](quantum_keycodes.md#qmk-keycodes)||to call macro n|
230|[`MACROTAP(n)`](quantum_keycodes.md#qmk-keycodes)||to macro-tap n idk FIXME`|
231|Long Name|Short Name|Description|
232|---------|----------|-----------|
233|[`MAGIC_SWAP_CONTROL_CAPSLOCK`](feature_bootmagic.md)||Swap Capslock and Left Control|
234|[`MAGIC_CAPSLOCK_TO_CONTROL`](feature_bootmagic.md)||Treat Capslock like a Control Key|
235|[`MAGIC_SWAP_LALT_LGUI`](feature_bootmagic.md)||Swap the left Alt and GUI keys|
236|[`MAGIC_SWAP_RALT_RGUI`](feature_bootmagic.md)||Swap the right Alt and GUI keys|
237|[`MAGIC_NO_GUI`](feature_bootmagic.md)||Disable the GUI key|
238|[`MAGIC_SWAP_GRAVE_ESC`](feature_bootmagic.md)||Swap the Grave and Esc key.|
239|[`MAGIC_SWAP_BACKSLASH_BACKSPACE`](feature_bootmagic.md)||Swap backslack and backspace|
240|[`MAGIC_HOST_NKRO`](feature_bootmagic.md)||Force NKRO on|
241|[`MAGIC_SWAP_ALT_GUI`/`AG_SWAP`](feature_bootmagic.md)||Swap Alt and Gui on both sides|
242|[`MAGIC_UNSWAP_CONTROL_CAPSLOCK`](feature_bootmagic.md)||Disable the Control/Capslock swap|
243|[`MAGIC_UNCAPSLOCK_TO_CONTROL`](feature_bootmagic.md)||Disable treating Capslock like Control |
244|[`MAGIC_UNSWAP_LALT_LGUI`](feature_bootmagic.md)||Disable Left Alt and GUI switching|
245|[`MAGIC_UNSWAP_RALT_RGUI`](feature_bootmagic.md)||Disable Right Alt and GUI switching|
246|[`MAGIC_UNNO_GUI`](feature_bootmagic.md)||Enable the GUI key |
247|[`MAGIC_UNSWAP_GRAVE_ESC`](feature_bootmagic.md)||Disable the Grave/Esc swap |
248|[`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`](feature_bootmagic.md)||Disable the backslash/backspace swap|
249|[`MAGIC_UNHOST_NKRO`](feature_bootmagic.md)||Force NKRO off|
250|[`MAGIC_UNSWAP_ALT_GUI`/`AG_NORM`](feature_bootmagic.md)||Disable the Alt/GUI switching|
251|[`MAGIC_TOGGLE_NKRO`](feature_bootmagic.md)||Turn NKRO on or off|
252|Long Name|Short Name|Description|
253|---------|----------|-----------|
254|[`BL_x`](feature_backlight.md)||Set a specific backlight level between 0-9|
255|[`BL_ON`](feature_backlight.md)||An alias for `BL_9`|
256|[`BL_OFF`](feature_backlight.md)||An alias for `BL_0`|
257|[`BL_DEC`](feature_backlight.md)||Turn the backlight level down by 1|
258|[`BL_INC`](feature_backlight.md)||Turn the backlight level up by 1|
259|[`BL_TOGG`](feature_backlight.md)||Toggle the backlight on or off|
260|[`BL_STEP`](feature_backlight.md)||Step through backlight levels, wrapping around to 0 when you reach the top.|
261|Long Name|Short Name|Description|
262|---------|----------|-----------|
263|[`RGB_TOG`](feature_rgblight.md)||toggle on/off|
264|[`RGB_MOD`](feature_rgblight.md)||cycle through modes|
265|[`RGB_HUI`](feature_rgblight.md)||hue increase|
266|[`RGB_HUD`](feature_rgblight.md)||hue decrease|
267|[`RGB_SAI`](feature_rgblight.md)||saturation increase|
268|[`RGB_SAD`](feature_rgblight.md)||saturation decrease|
269|[`RGB_VAI`](feature_rgblight.md)||value increase|
270|[`RGB_VAD`](feature_rgblight.md)||value decrease|
271|Long Name|Short Name|Description|
272|---------|----------|-----------|
273|[`PRINT_ON`](feature_thermal_printer.md)||Start printing everything the user types|
274|[`PRINT_OFF`](feature_thermal_printer.md)||Stop printing everything the user types|
275|Long Name|Short Name|Description|
276|---------|----------|-----------|
277|[`OUT_AUTO`](feature_bluetooth.md)||auto mode|
278|[`OUT_USB`](feature_bluetooth.md)||usb only|
279|[`OUT_BT`](feature_bluetooth.md)||bluetooth (when `BLUETOOTH_ENABLE`)|
280|Long Name|Short Name|Description|
281|---------|----------|-----------|
282|[`KC_HYPR`](quantum_keycodes.md#modifiers)||Hold down LCTL + LSFT + LALT + LGUI`|
283|[`KC_MEH`](quantum_keycodes.md#modifiers)||Hold down LCTL + LSFT + LALT`|
284|[`LCTL(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `kc`|
285|[`LSFT(kc)`](quantum_keycodes.md#modifiers)|[`S(kc)`](quantum_keycodes.md#modifiers)|`LSFT` + `kc`|
286|[`LALT(kc)`](quantum_keycodes.md#modifiers)||`LALT` + `kc`|
287|[`LGUI(kc)`](quantum_keycodes.md#modifiers)||`LGUI` + `kc`|
288|[`RCTL(kc)`](quantum_keycodes.md#modifiers)||`RCTL` + `kc`|
289|[`RSFT(kc)`](quantum_keycodes.md#modifiers)||`RSFT` + `kc`|
290|[`RALT(kc)`](quantum_keycodes.md#modifiers)||`RALT` + `kc`|
291|[`RGUI(kc)`](quantum_keycodes.md#modifiers)||`RGUI` + `kc`|
292|[`HYPR(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LSFT` + `LALT` + `LGUI` + `kc`|
293|[`MEH(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LSFT` + `LALT` + `kc`|
294|[`LCAG(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LALT` + `LGUI` + `kc`|
295|[`ALTG(kc)`](quantum_keycodes.md#modifiers)||`RCTL` + `RALT` + `kc`|
296|[`SCMD(kc)`](quantum_keycodes.md#modifiers)|[`SWIN(kc)`](quantum_keycodes.md#modifiers)|`LGUI` + `LSFT` + `kc`|
297|[`LCA(kc)`](quantum_keycodes.md#modifiers)||`LCTL` + `LALT` + `kc`|
298|Long Name|Short Name|Description|
299|---------|----------|-----------|
300|[`CTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LCTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LCTL` when held, `kc` when tapped|
301|[`RCTL_T(kc)`](quantum_keycodes.md#mod-tap-keys)||[`RCTL` when held, `kc` when tapped|
302|[`SFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LSFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LSFT` when held, `kc` when tapped|
303|[`RSFT_T(kc)`](quantum_keycodes.md#mod-tap-keys)||[`RSFT` when held, `kc` when tapped|
304|[`ALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LALT` when held, `kc` when tapped|
305|[`RALT_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`ALGR_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`RALT` when held, `kc` when tapped|
306|[`GUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)|[`LGUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)|`LGUI` when held, `kc` when tapped|
307|[`RGUI_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`RGUI` when held, `kc` when tapped|
308|[`C_S_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LSFT` when held, `kc` when tapped|
309|[`MEH_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LSFT` + `LALT` when held, `kc` when tapped|
310|[`LCAG_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LALT` + `LGUI` when held, `kc` when tapped|
311|[`RCAG_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`RCTL` + `RALT` + `RGUI` when held, `kc` when tapped|
312|[`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/)|
313|[`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|
314|[`LCA_T(kc)`](quantum_keycodes.md#mod-tap-keys)||`LCTL` + `LALT` when held, `kc` when tapped|
315|Short Name|Long Name|Description|
316|----------|---------|-----------|
317|[`KC_TILD`](keycodes_us_ansi_shifted.md)|`KC_TILDE`|tilde `~`|
318|[`KC_EXLM`](keycodes_us_ansi_shifted.md)|`KC_EXCLAIM`|exclamation mark `!`|
319|[`KC_AT`](keycodes_us_ansi_shifted.md)||at sign `@`|
320|[`KC_HASH`](keycodes_us_ansi_shifted.md)||hash sign `#`|
321|[`KC_DLR`](keycodes_us_ansi_shifted.md)|`KC_DOLLAR`|dollar sign `$`|
322|[`KC_PERC`](keycodes_us_ansi_shifted.md)|`KC_PERCENT`|percent sign `%`|
323|[`KC_CIRC`](keycodes_us_ansi_shifted.md)|`KC_CIRCUMFLEX`|circumflex `^`|
324|[`KC_AMPR`](keycodes_us_ansi_shifted.md)|`KC_AMPERSAND`|ampersand `&`|
325|[`KC_ASTR`](keycodes_us_ansi_shifted.md)|`KC_ASTERISK`|asterisk `*`|
326|[`KC_LPRN`](keycodes_us_ansi_shifted.md)|`KC_LEFT_PAREN`|left parenthesis `(`|
327|[`KC_RPRN`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_PAREN`|right parenthesis `)`|
328|[`KC_UNDS`](keycodes_us_ansi_shifted.md)|`KC_UNDERSCORE`|underscore `_`|
329|[`KC_PLUS`](keycodes_us_ansi_shifted.md)||plus sign `+`|
330|[`KC_LCBR`](keycodes_us_ansi_shifted.md)|`KC_LEFT_CURLY_BRACE`|left curly brace `{`|
331|[`KC_RCBR`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_CURLY_BRACE`|right curly brace `}`|
332|[`KC_LT`/`KC_LABK`](keycodes_us_ansi_shifted.md)|`KC_LEFT_ANGLE_BRACKET`|left angle bracket `<`|
333|[`KC_GT`/`KC_RABK`](keycodes_us_ansi_shifted.md)|`KC_RIGHT_ANGLE_BRACKET`|right angle bracket `>`|
334|[`KC_COLN`](keycodes_us_ansi_shifted.md)|`KC_COLON`|colon `:`|
335|[`KC_PIPE`](keycodes_us_ansi_shifted.md)||pipe `\|`|
336|[`KC_QUES`](keycodes_us_ansi_shifted.md)|`KC_QUESTION`|question mark `?`|
337|[`KC_DQT`/`KC_DQUO`](keycodes_us_ansi_shifted.md)|`KC_DOUBLE_QUOTE`|double quote `"`|
338|Long Name|Short Name|Description|
339|---------|----------|-----------|
340|[`LT(layer, kc)`](feature_common_shortcuts.md#switching-and-toggling-layers)||turn on layer (0-15) when held, kc ([basic keycodes](basic_keycodes.md)) when tapped|
341|[`TO(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||turn on layer when depressed|
342|[`MO(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||momentarily turn on layer when depressed (requires `KC_TRNS` on destination layer)|
343|[`DF(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||sets the base (default) layer|
344|[`TG(layer)`](feature_common_shortcuts.md#switching-and-toggling-layers)||toggle layer on/off|
345|[`TT(layer)](feature_common_shortcuts.md#switching-and-toggling-layers)`||tap toggle? idk FIXME`|
346|[`OSM(mod)`](quantum_keycodes.md#one-shot-keys)||hold mod for one keypress|
347|[`OSL(layer)`](quantum_keycodes.md#one-shot-keys)||switch to layer for one keypress|
348|Long Name|Short Name|Description|
349|---------|----------|-----------|
350|[`UNICODE(n)`](unicode.md)|[`UC(n)`](unicode.md)|if `UNICODE_ENABLE`, this will send characters up to `0x7FFF`|
351|[`X(n)`](unicode.md)||if `UNICODEMAP_ENABLE`, also sends unicode via a different method|