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