f77: Add jackhill's layout
[jackhill/qmk/firmware.git] / docs / keycodes.md
CommitLineData
4c675a83 1# Keycodes Overview
ca01d940 2
4c675a83 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.
ca01d940 4
4c675a83 5This is a reference only. Each group of keys links to the page documenting their functionality in more detail.
ca01d940 6
2939751e 7## Basic Keycodes :id=basic-keycodes
772bacb7
JY
8
9See also: [Basic Keycodes](keycodes_basic.md)
4c675a83 10
ba05f966 11|Key |Aliases |Description |
12|-----------------------|------------------------------|-----------------------------------------------|
13|`KC_NO` |`XXXXXXX` |Ignore this key (NOOP) |
14|`KC_TRANSPARENT` |`KC_TRNS`, `_______` |Use the next lowest non-transparent key |
15|`KC_A` | |`a` and `A` |
16|`KC_B` | |`b` and `B` |
17|`KC_C` | |`c` and `C` |
18|`KC_D` | |`d` and `D` |
19|`KC_E` | |`e` and `E` |
20|`KC_F` | |`f` and `F` |
21|`KC_G` | |`g` and `G` |
22|`KC_H` | |`h` and `H` |
23|`KC_I` | |`i` and `I` |
24|`KC_J` | |`j` and `J` |
25|`KC_K` | |`k` and `K` |
26|`KC_L` | |`l` and `L` |
27|`KC_M` | |`m` and `M` |
28|`KC_N` | |`n` and `N` |
29|`KC_O` | |`o` and `O` |
30|`KC_P` | |`p` and `P` |
31|`KC_Q` | |`q` and `Q` |
32|`KC_R` | |`r` and `R` |
33|`KC_S` | |`s` and `S` |
34|`KC_T` | |`t` and `T` |
35|`KC_U` | |`u` and `U` |
36|`KC_V` | |`v` and `V` |
37|`KC_W` | |`w` and `W` |
38|`KC_X` | |`x` and `X` |
39|`KC_Y` | |`y` and `Y` |
40|`KC_Z` | |`z` and `Z` |
41|`KC_1` | |`1` and `!` |
42|`KC_2` | |`2` and `@` |
43|`KC_3` | |`3` and `#` |
44|`KC_4` | |`4` and `$` |
45|`KC_5` | |`5` and `%` |
46|`KC_6` | |`6` and `^` |
47|`KC_7` | |`7` and `&` |
48|`KC_8` | |`8` and `*` |
49|`KC_9` | |`9` and `(` |
50|`KC_0` | |`0` and `)` |
51|`KC_ENTER` |`KC_ENT` |Return (Enter) |
52|`KC_ESCAPE` |`KC_ESC` |Escape |
53|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
54|`KC_TAB` | |Tab |
55|`KC_SPACE` |`KC_SPC` |Spacebar |
56|`KC_MINUS` |`KC_MINS` |`-` and `_` |
57|`KC_EQUAL` |`KC_EQL` |`=` and `+` |
58|`KC_LBRACKET` |`KC_LBRC` |`[` and `{` |
59|`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
40de65ea 60|`KC_BSLASH` |`KC_BSLS` |`\` and `\|` |
ba05f966 61|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
62|`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
63|`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
64|`KC_GRAVE` |`KC_GRV`, `KC_ZKHK` |<code>&#96;</code> and `~`, JIS Zenkaku/Hankaku|
65|`KC_COMMA` |`KC_COMM` |`,` and `<` |
66|`KC_DOT` | |`.` and `>` |
67|`KC_SLASH` |`KC_SLSH` |`/` and `?` |
68|`KC_CAPSLOCK` |`KC_CLCK`, `KC_CAPS` |Caps Lock |
69|`KC_F1` | |F1 |
70|`KC_F2` | |F2 |
71|`KC_F3` | |F3 |
72|`KC_F4` | |F4 |
73|`KC_F5` | |F5 |
74|`KC_F6` | |F6 |
75|`KC_F7` | |F7 |
76|`KC_F8` | |F8 |
77|`KC_F9` | |F9 |
78|`KC_F10` | |F10 |
79|`KC_F11` | |F11 |
80|`KC_F12` | |F12 |
81|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
82|`KC_SCROLLLOCK` |`KC_SLCK`, `KC_BRMD` |Scroll Lock, Brightness Down (macOS) |
83|`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS) |
84|`KC_INSERT` |`KC_INS` |Insert |
85|`KC_HOME` | |Home |
86|`KC_PGUP` | |Page Up |
87|`KC_DELETE` |`KC_DEL` |Forward Delete |
88|`KC_END` | |End |
89|`KC_PGDOWN` |`KC_PGDN` |Page Down |
90|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
91|`KC_LEFT` | |Left Arrow |
92|`KC_DOWN` | |Down Arrow |
93|`KC_UP` | |Up Arrow |
94|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
95|`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |
96|`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |
97|`KC_KP_MINUS` |`KC_PMNS` |Keypad `-` |
98|`KC_KP_PLUS` |`KC_PPLS` |Keypad `+` |
99|`KC_KP_ENTER` |`KC_PENT` |Keypad Enter |
100|`KC_KP_1` |`KC_P1` |Keypad `1` and End |
101|`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow |
102|`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down |
103|`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow |
104|`KC_KP_5` |`KC_P5` |Keypad `5` |
105|`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow |
106|`KC_KP_7` |`KC_P7` |Keypad `7` and Home |
107|`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow |
108|`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
109|`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
110|`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete |
40de65ea 111|`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and `\|` |
ba05f966 112|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key) |
113|`KC_POWER` | |System Power (macOS) |
114|`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` |
115|`KC_F13` | |F13 |
116|`KC_F14` | |F14 |
117|`KC_F15` | |F15 |
118|`KC_F16` | |F16 |
119|`KC_F17` | |F17 |
120|`KC_F18` | |F18 |
121|`KC_F19` | |F19 |
122|`KC_F20` | |F20 |
123|`KC_F21` | |F21 |
124|`KC_F22` | |F22 |
125|`KC_F23` | |F23 |
126|`KC_F24` | |F24 |
127|`KC_EXECUTE` |`KC_EXEC` |Execute |
128|`KC_HELP` | |Help |
129|`KC_MENU` | |Menu |
130|`KC_SELECT` |`KC_SLCT` |Select |
131|`KC_STOP` | |Stop |
132|`KC_AGAIN` |`KC_AGIN` |Again |
133|`KC_UNDO` | |Undo |
134|`KC_CUT` | |Cut |
135|`KC_COPY` | |Copy |
136|`KC_PASTE` |`KC_PSTE` |Paste |
137|`KC_FIND` | |Find |
138|`KC__MUTE` | |Mute (macOS) |
139|`KC__VOLUP` | |Volume Up (macOS) |
140|`KC__VOLDOWN` | |Volume Down (macOS) |
141|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
142|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
143|`KC_LOCKING_SCROLL` |`KC_LSCR` |Locking Scroll Lock |
144|`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` |
145|`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards |
146|`KC_INT1` |`KC_RO` |JIS `\` and `_` |
147|`KC_INT2` |`KC_KANA` |JIS Katakana/Hiragana |
40de65ea 148|`KC_INT3` |`KC_JYEN` |JIS `¥` and `\|` |
ba05f966 149|`KC_INT4` |`KC_HENK` |JIS Henkan |
150|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
151|`KC_INT6` | |JIS Numpad `,` |
152|`KC_INT7` | |International 7 |
153|`KC_INT8` | |International 8 |
154|`KC_INT9` | |International 9 |
155|`KC_LANG1` |`KC_HAEN` |Hangul/English |
156|`KC_LANG2` |`KC_HANJ` |Hanja |
157|`KC_LANG3` | |JIS Katakana |
158|`KC_LANG4` | |JIS Hiragana |
159|`KC_LANG5` | |JIS Zenkaku/Hankaku |
160|`KC_LANG6` | |Language 6 |
161|`KC_LANG7` | |Language 7 |
162|`KC_LANG8` | |Language 8 |
163|`KC_LANG9` | |Language 9 |
164|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
165|`KC_SYSREQ` | |SysReq/Attention |
166|`KC_CANCEL` | |Cancel |
167|`KC_CLEAR` |`KC_CLR` |Clear |
168|`KC_PRIOR` | |Prior |
169|`KC_RETURN` | |Return |
170|`KC_SEPARATOR` | |Separator |
171|`KC_OUT` | |Out |
172|`KC_OPER` | |Oper |
173|`KC_CLEAR_AGAIN` | |Clear/Again |
174|`KC_CRSEL` | |CrSel/Props |
175|`KC_EXSEL` | |ExSel |
176|`KC_LCTRL` |`KC_LCTL` |Left Control |
177|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
178|`KC_LALT` | |Left Alt |
179|`KC_LGUI` |`KC_LCMD`, `KC_LWIN` |Left GUI (Windows/Command/Meta key) |
180|`KC_RCTRL` |`KC_RCTL` |Right Control |
181|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
182|`KC_RALT` |`KC_ALGR` |Right Alt (AltGr) |
183|`KC_RGUI` |`KC_RCMD`, `KC_RWIN` |Right GUI (Windows/Command/Meta key) |
184|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
185|`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |
186|`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake |
187|`KC_AUDIO_MUTE` |`KC_MUTE` |Mute |
188|`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up |
189|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down |
606813b7
SP
190|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track |
191|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track |
ba05f966 192|`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track (Windows) |
193|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |
194|`KC_MEDIA_SELECT` |`KC_MSEL` |Launch Media Player (Windows) |
195|`KC_MEDIA_EJECT` |`KC_EJCT` |Eject (macOS) |
196|`KC_MAIL` | |Launch Mail (Windows) |
197|`KC_CALCULATOR` |`KC_CALC` |Launch Calculator (Windows) |
198|`KC_MY_COMPUTER` |`KC_MYCM` |Launch My Computer (Windows) |
199|`KC_WWW_SEARCH` |`KC_WSCH` |Browser Search (Windows) |
200|`KC_WWW_HOME` |`KC_WHOM` |Browser Home (Windows) |
201|`KC_WWW_BACK` |`KC_WBAK` |Browser Back (Windows) |
202|`KC_WWW_FORWARD` |`KC_WFWD` |Browser Forward (Windows) |
203|`KC_WWW_STOP` |`KC_WSTP` |Browser Stop (Windows) |
204|`KC_WWW_REFRESH` |`KC_WREF` |Browser Refresh (Windows) |
205|`KC_WWW_FAVORITES` |`KC_WFAV` |Browser Favorites (Windows) |
206|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |Next Track (macOS) |
207|`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track (macOS) |
208|`KC_BRIGHTNESS_UP` |`KC_BRIU` |Brightness Up |
209|`KC_BRIGHTNESS_DOWN` |`KC_BRID` |Brightness Down |
4c675a83 210
2939751e 211## Quantum Keycodes :id=quantum-keycodes
772bacb7
JY
212
213See also: [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes)
4c675a83 214
a73c3811 215|Key |Aliases |Description |
216|--------------|---------|-------------------------------------------------------|
217|`RESET` | |Put the keyboard into bootloader mode for flashing |
218|`DEBUG` | |Toggle debug mode |
219|`EEPROM_RESET`|`EEP_RST`|Reinitializes the keyboard's EEPROM (persistent memory)|
4c675a83 220
2939751e 221## Audio Keys :id=audio-keys
772bacb7
JY
222
223See also: [Audio](feature_audio.md)
8ffeaec3
DJ
224
225|Key |Aliases |Description |
226|----------------|---------|----------------------------------|
9739d6ba
DJ
227|`AU_ON` | |Turns on Audio Feature |
228|`AU_OFF` | |Turns off Audio Feature |
229|`AU_TOG` | |Toggles Audio state |
8ffeaec3
DJ
230|`CLICKY_TOGGLE` |`CK_TOGG`|Toggles Audio clicky mode |
231|`CLICKY_UP` |`CK_UP` |Increases frequency of the clicks |
232|`CLICKY_DOWN` |`CK_DOWN`|Decreases frequency of the clicks |
233|`CLICKY_RESET` |`CK_RST` |Resets frequency to default |
234|`MU_ON` | |Turns on Music Mode |
235|`MU_OFF` | |Turns off Music Mode |
236|`MU_TOG` | |Toggles Music Mode |
237|`MU_MOD` | |Cycles through the music modes |
238
2939751e 239## Backlighting :id=backlighting
772bacb7
JY
240
241See also: [Backlighting](feature_backlight.md)
8ffeaec3
DJ
242
243|Key |Description |
244|---------|------------------------------------------|
245|`BL_TOGG`|Turn the backlight on or off |
246|`BL_STEP`|Cycle through backlight levels |
247|`BL_ON` |Set the backlight to max brightness |
248|`BL_OFF` |Turn the backlight off |
249|`BL_INC` |Increase the backlight level |
250|`BL_DEC` |Decrease the backlight level |
251|`BL_BRTG`|Toggle backlight breathing |
252
2939751e 253## Bootmagic :id=bootmagic
772bacb7
JY
254
255See also: [Bootmagic](feature_bootmagic.md)
4c675a83 256
3ad389de 257|Key |Aliases |Description |
258|----------------------------------|---------|--------------------------------------------------------------------------|
259|`MAGIC_SWAP_CONTROL_CAPSLOCK` |`CL_SWAP`|Swap Caps Lock and Left Control |
260|`MAGIC_UNSWAP_CONTROL_CAPSLOCK` |`CL_NORM`|Unswap Caps Lock and Left Control |
261|`MAGIC_CAPSLOCK_TO_CONTROL` |`CL_CTRL`|Treat Caps Lock as Control |
262|`MAGIC_UNCAPSLOCK_TO_CONTROL` |`CL_CAPS`|Stop treating Caps Lock as Control |
263|`MAGIC_SWAP_LCTL_LGUI` |`LCG_SWP`|Swap Left Control and GUI |
264|`MAGIC_UNSWAP_LCTL_LGUI` |`LCG_NRM`|Unswap Left Control and GUI |
265|`MAGIC_SWAP_RCTL_RGUI` |`RCG_SWP`|Swap Right Control and GUI |
266|`MAGIC_UNSWAP_RCTL_RGUI` |`RCG_NRM`|Unswap Right Control and GUI |
267|`MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Control and GUI on both sides |
268|`MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Control and GUI on both sides |
269|`MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Control and GUI swap on both sides |
270|`MAGIC_SWAP_LALT_LGUI` |`LAG_SWP`|Swap Left Alt and GUI |
271|`MAGIC_UNSWAP_LALT_LGUI` |`LAG_NRM`|Unswap Left Alt and GUI |
272|`MAGIC_SWAP_RALT_RGUI` |`RAG_SWP`|Swap Right Alt and GUI |
273|`MAGIC_UNSWAP_RALT_RGUI` |`RAG_NRM`|Unswap Right Alt and GUI |
274|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides |
275|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides |
276|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap on both sides |
277|`MAGIC_NO_GUI` |`GUI_OFF`|Disable the GUI keys |
278|`MAGIC_UNNO_GUI` |`GUI_ON` |Enable the GUI keys |
279|`MAGIC_SWAP_GRAVE_ESC` |`GE_SWAP`|Swap <code>&#96;</code> and Escape |
280|`MAGIC_UNSWAP_GRAVE_ESC` |`GE_NORM`|Unswap <code>&#96;</code> and Escape |
281|`MAGIC_SWAP_BACKSLASH_BACKSPACE` |`BS_SWAP`|Swap `\` and Backspace |
282|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|`BS_NORM`|Unswap `\` and Backspace |
283|`MAGIC_HOST_NKRO` |`NK_ON` |Enable N-key rollover |
284|`MAGIC_UNHOST_NKRO` |`NK_OFF` |Disable N-key rollover |
285|`MAGIC_TOGGLE_NKRO` |`NK_TOGG`|Toggle N-key rollover |
286|`MAGIC_EE_HANDS_LEFT` |`EH_LEFT`|Set the master half of a split keyboard as the left hand (for `EE_HANDS`) |
287|`MAGIC_EE_HANDS_RIGHT` |`EH_RGHT`|Set the master half of a split keyboard as the right hand (for `EE_HANDS`)|
4c675a83 288
2939751e 289## Bluetooth :id=bluetooth
772bacb7
JY
290
291See also: [Bluetooth](feature_bluetooth.md)
4c675a83 292
8ffeaec3
DJ
293|Key |Description |
294|----------|----------------------------------------------|
295|`OUT_AUTO`|Automatically switch between USB and Bluetooth|
296|`OUT_USB` |USB only |
297|`OUT_BT` |Bluetooth only |
298
2939751e 299## Dynamic Macros :id=dynamic-macros
772bacb7
JY
300
301See also: [Dynamic Macros](feature_dynamic_macros.md)
542cb0a8 302
a73c3811 303|Key |Aliases |Description |
542cb0a8
DJ
304|-----------------|---------|--------------------------------------------------|
305|`DYN_REC_START1` |`DM_REC1`|Start recording Macro 1 |
306|`DYN_REC_START2` |`DM_REC2`|Start recording Macro 2 |
307|`DYN_MACRO_PLAY1`|`DM_PLY1`|Replay Macro 1 |
308|`DYN_MACRO_PLAY2`|`DM_PLY2`|Replay Macro 2 |
309|`DYN_REC_STOP` |`DM_RSTP`|Finish the macro that is currently being recorded.|
310
2939751e 311## Grave Escape :id=grave-escape
772bacb7
JY
312
313See also: [Grave Escape](feature_grave_esc.md)
a73c3811 314
315|Key |Aliases |Description |
316|-----------|---------|------------------------------------------------------------------|
317|`GRAVE_ESC`|`KC_GESC`|Escape when pressed, <code>&#96;</code> when Shift or GUI are held|
318
2939751e 319## Key Lock :id=key-lock
772bacb7
JY
320
321See also: [Key Lock](feature_key_lock.md)
a73c3811 322
323|Key |Description |
324|---------|--------------------------------------------------------------|
325|`KC_LOCK`|Hold down the next key pressed, until the key is pressed again|
326
2939751e 327## Layer Switching :id=layer-switching
772bacb7 328
5df24246 329See also: [Layer Switching](feature_layers.md#switching-and-toggling-layers)
8ffeaec3 330
8c305477
DJ
331|Key |Description |
332|----------------|----------------------------------------------------------------------------------|
333|`DF(layer)` |Set the base (default) layer |
334|`MO(layer)` |Momentarily turn on `layer` when pressed (requires `KC_TRNS` on destination layer)|
54c58ea6 335|`OSL(layer)` |Momentarily activates `layer` until a key is pressed. See [One Shot Keys](one_shot_keys.md) for details. |
336|`LM(layer, mod)`|Momentarily turn on `layer` (like MO) with `mod` active as well. Where `mod` is a mods_bit. Mods can be viewed [here](mod_tap.md). Example Implementation: `LM(LAYER_1, MOD_LALT)`|
8c305477
DJ
337|`LT(layer, kc)` |Turn on `layer` when held, `kc` when tapped |
338|`TG(layer)` |Toggle `layer` on or off |
1a442f99 339|`TO(layer)` |Turns on `layer` and turns off all other layers, except the default layer |
8c305477 340|`TT(layer)` |Normally acts like MO unless it's tapped multiple times, which toggles `layer` on |
8ffeaec3 341
2939751e 342## Leader Key :id=leader-key
772bacb7
JY
343
344See also: [Leader Key](feature_leader_key.md)
a73c3811 345
346|Key |Description |
347|---------|------------------------|
348|`KC_LEAD`|Begins a leader sequence|
349
2939751e 350## Mouse Keys :id=mouse-keys
772bacb7
JY
351
352See also: [Mouse Keys](feature_mouse_keys.md)
8ffeaec3
DJ
353
354|Key |Aliases |Description |
355|----------------|---------|---------------------------|
356|`KC_MS_UP` |`KC_MS_U`|Mouse Cursor Up |
357|`KC_MS_DOWN` |`KC_MS_D`|Mouse Cursor Down |
358|`KC_MS_LEFT` |`KC_MS_L`|Mouse Cursor Left |
359|`KC_MS_RIGHT` |`KC_MS_R`|Mouse Cursor Right |
360|`KC_MS_BTN1` |`KC_BTN1`|Mouse Button 1 |
361|`KC_MS_BTN2` |`KC_BTN2`|Mouse Button 2 |
362|`KC_MS_BTN3` |`KC_BTN3`|Mouse Button 3 |
363|`KC_MS_BTN4` |`KC_BTN4`|Mouse Button 4 |
364|`KC_MS_BTN5` |`KC_BTN5`|Mouse Button 5 |
365|`KC_MS_WH_UP` |`KC_WH_U`|Mouse Wheel Up |
366|`KC_MS_WH_DOWN` |`KC_WH_D`|Mouse Wheel Down |
367|`KC_MS_WH_LEFT` |`KC_WH_L`|Mouse Wheel Left |
368|`KC_MS_WH_RIGHT`|`KC_WH_R`|Mouse Wheel Right |
369|`KC_MS_ACCEL0` |`KC_ACL0`|Set mouse acceleration to 0|
370|`KC_MS_ACCEL1` |`KC_ACL1`|Set mouse acceleration to 1|
371|`KC_MS_ACCEL2` |`KC_ACL2`|Set mouse acceleration to 2|
372
2939751e 373## Modifiers :id=modifiers
772bacb7
JY
374
375See also: [Modifier Keys](feature_advanced_keycodes.md#modifier-keys)
8ffeaec3 376
79b58937 377|Key |Aliases |Description |
378|----------|-------------------------------|----------------------------------------------------|
379|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
380|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
381|`LALT(kc)`|`A(kc)` |Hold Left Alt and press `kc` |
382|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
383|`RCTL(kc)`| |Hold Right Control and press `kc` |
384|`RSFT(kc)`| |Hold Right Shift and press `kc` |
385|`RALT(kc)`|`ALGR(kc)` |Hold Right Alt and press `kc` |
386|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
387|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
388|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
389|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
390|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
391|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
392|`KC_MEH` | |Left Control, Shift and Alt |
393|`KC_HYPR` | |Left Control, Shift, Alt and GUI |
8ffeaec3 394
2939751e 395## Mod-Tap Keys :id=mod-tap-keys
772bacb7
JY
396
397See also: [Mod-Tap](mod_tap.md)
8ffeaec3 398
fe8c2209 399|Key |Aliases |Description |
400|-------------|-----------------------------------------------------------------|-------------------------------------------------------|
401|`MT(mod, kc)`| |`mod` when held, `kc` when tapped |
402|`LCTL_T(kc)` |`CTL_T(kc)` |Left Control when held, `kc` when tapped |
403|`LSFT_T(kc)` |`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
404|`LALT_T(kc)` |`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
405|`LGUI_T(kc)` |`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped |
406|`RCTL_T(kc)` | |Right Control when held, `kc` when tapped |
407|`RSFT_T(kc)` | |Right Shift when held, `kc` when tapped |
408|`RALT_T(kc)` |`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
409|`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
410|`SGUI_T(kc)` |`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
411|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
412|`LCAG_T(kc)` | |Left Control, Alt and GUI when held, `kc` when tapped |
413|`RCAG_T(kc)` | |Right Control, Alt and GUI when held, `kc` when tapped |
414|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
415|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
416|`HYPR_T(kc)` |`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/)|
4c675a83 417
2939751e 418## RGB Lighting :id=rgb-lighting
772bacb7
JY
419
420See also: [RGB Lighting](feature_rgblight.md)
4c675a83 421
422|Key |Aliases |Description |
423|-------------------|----------|--------------------------------------------------------------------|
424|`RGB_TOG` | |Toggle RGB lighting on or off |
425|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
426|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
f9521ffa
MH
427|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
428|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
429|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
430|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
431|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
432|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
4c675a83 433|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
434|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
435|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
436|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode |
437|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode |
438|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode |
439|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode |
440|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode |
52297346 441|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red,Green,Blue test animation mode |
4c675a83 442
2939751e 443## RGB Matrix Lighting :id=rgb-matrix-lighting
772bacb7
JY
444
445See also: [RGB Matrix Lighting](feature_rgb_matrix.md)
470c50dd 446
f9521ffa
MH
447|Key |Aliases |Description |
448|-------------------|----------|--------------------------------------------------------------------------------------|
449|`RGB_TOG` | |Toggle RGB lighting on or off |
450|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
451|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held |
452|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
453|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
454|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
455|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
456|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
457|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
458|`RGB_SPI` | |Increase effect speed (does not support eeprom yet), decrease speed when Shift is held|
459|`RGB_SPD` | |Decrease effect speed (does not support eeprom yet), increase speed when Shift is held|
470c50dd 460
2939751e 461## Thermal Printer :id=thermal-printer
772bacb7
JY
462
463See also: [Thermal Printer](feature_thermal_printer.md)
4c675a83 464
465|Key |Description |
466|-----------|----------------------------------------|
467|`PRINT_ON` |Start printing everything the user types|
468|`PRINT_OFF`|Stop printing everything the user types |
469
2939751e 470## US ANSI Shifted Symbols :id=us-ansi-shifted-symbols
772bacb7
JY
471
472See also: [US ANSI Shifted Symbols](keycodes_us_ansi_shifted.md)
4c675a83 473
40de65ea 474|Key |Aliases |Description|
475|------------------------|-------------------|-----------|
476|`KC_TILDE` |`KC_TILD` |`~` |
477|`KC_EXCLAIM` |`KC_EXLM` |`!` |
478|`KC_AT` | |`@` |
479|`KC_HASH` | |`#` |
480|`KC_DOLLAR` |`KC_DLR` |`$` |
481|`KC_PERCENT` |`KC_PERC` |`%` |
482|`KC_CIRCUMFLEX` |`KC_CIRC` |`^` |
483|`KC_AMPERSAND` |`KC_AMPR` |`&` |
484|`KC_ASTERISK` |`KC_ASTR` |`*` |
485|`KC_LEFT_PAREN` |`KC_LPRN` |`(` |
486|`KC_RIGHT_PAREN` |`KC_RPRN` |`)` |
487|`KC_UNDERSCORE` |`KC_UNDS` |`_` |
488|`KC_PLUS` | |`+` |
489|`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` |
490|`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` |
491|`KC_PIPE` | |`\|` |
492|`KC_COLON` |`KC_COLN` |`:` |
493|`KC_DOUBLE_QUOTE` |`KC_DQUO`, `KC_DQT`|`"` |
494|`KC_LEFT_ANGLE_BRACKET` |`KC_LABK`, `KC_LT` |`<` |
495|`KC_RIGHT_ANGLE_BRACKET`|`KC_RABK`, `KC_GT` |`>` |
496|`KC_QUESTION` |`KC_QUES` |`?` |
4c675a83 497
2939751e 498## One Shot Keys :id=one-shot-keys
772bacb7
JY
499
500See also: [One Shot Keys](one_shot_keys.md)
4c675a83 501
502|Key |Description |
503|------------|----------------------------------|
504|`OSM(mod)` |Hold `mod` for one keypress |
505|`OSL(layer)`|Switch to `layer` for one keypress|
506
2939751e 507## Space Cadet :id=space-cadet
772bacb7
JY
508
509See also: [Space Cadet](feature_space_cadet.md)
c7b2d60a 510
511|Key |Description |
512|-----------|----------------------------------------|
513|`KC_LCPO` |Left Control when held, `(` when tapped |
514|`KC_RCPC` |Right Control when held, `)` when tapped|
515|`KC_LSPO` |Left Shift when held, `(` when tapped |
516|`KC_RSPC` |Right Shift when held, `)` when tapped |
517|`KC_LAPO` |Left Alt when held, `(` when tapped |
518|`KC_RAPC` |Right Alt when held, `)` when tapped |
519|`KC_SFTENT`|Right Shift when held, Enter when tapped|
520
2939751e 521## Swap Hands :id=swap-hands
772bacb7
JY
522
523See also: [Swap Hands](feature_swap_hands.md)
23ac2a02
JW
524
525|Key |Description |
526|-----------|-------------------------------------------------------------------------|
527|`SH_T(key)`|Sends `key` with a tap; momentary swap when held. |
528|`SW_ON` |Turns on swapping and leaves it on. |
529|`SW_OFF` |Turn off swapping and leaves it off. Good for returning to a known state.|
530|`SH_MON` |Swaps hands when pressed, returns to normal when released (momentary). |
531|`SH_MOFF` |Momentarily turns off swap. |
532|`SH_TG` |Toggles swap on and off with every key press. |
533|`SH_TT` |Toggles with a tap; momentary when held. |
f7fcba32 534
2939751e 535## Unicode Support :id=unicode-support
772bacb7
JY
536
537See also: [Unicode Support](feature_unicode.md)
8ffeaec3 538
bdc8d89e
539|Key |Aliases |Description |
540|----------------------|---------|----------------------------------------------------------------|
541|`UC(c)` | |Send Unicode code point `c` |
542|`X(i)` | |Send Unicode code point at index `i` in `unicode_map` |
543|`XP(i, j)` | |Send Unicode code point at index `i`, or `j` if Shift/Caps is on|
544|`UNICODE_MODE_FORWARD`|`UC_MOD` |Cycle through selected input modes |
545|`UNICODE_MODE_REVERSE`|`UC_RMOD`|Cycle through selected input modes in reverse |
546|`UNICODE_MODE_OSX` |`UC_M_OS`|Switch to macOS input |
547|`UNICODE_MODE_LNX` |`UC_M_LN`|Switch to Linux input |
548|`UNICODE_MODE_WIN` |`UC_M_WI`|Switch to Windows input |
549|`UNICODE_MODE_BSD` |`UC_M_BS`|Switch to BSD input (not implemented) |
550|`UNICODE_MODE_WINC` |`UC_M_WC`|Switch to Windows input using WinCompose |