aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2018-03-15 13:23:33 +1100
committerJack Humbert <jack.humb@gmail.com>2018-03-16 16:37:44 -0400
commita2e12faa198961ee865230dcba679061889cdb96 (patch)
tree959a55e87f34d12441702b72af25543d9ae7636e
parent729e99961cb0df9ea172e4dd159a9889e9988ab4 (diff)
downloadqmk_firmware-a2e12faa198961ee865230dcba679061889cdb96.tar.gz
qmk_firmware-a2e12faa198961ee865230dcba679061889cdb96.zip
Add CMD and WIN aliases for KC_GUI, GUI(kc), GUI_T(kc), etc.
-rw-r--r--docs/keycodes.md436
-rw-r--r--docs/keycodes_basic.md30
-rw-r--r--quantum/quantum.h2
-rw-r--r--quantum/quantum_keycodes.h10
-rw-r--r--tmk_core/common/keycode.h5
5 files changed, 250 insertions, 233 deletions
diff --git a/docs/keycodes.md b/docs/keycodes.md
index 21a722250..0f7968e7d 100644
--- a/docs/keycodes.md
+++ b/docs/keycodes.md
@@ -6,189 +6,189 @@ This is a reference only. Each group of keys links to the page documenting their
6 6
7## [Basic Keycodes](keycodes_basic.md) 7## [Basic Keycodes](keycodes_basic.md)
8 8
9|Key |Aliases |Description | 9|Key |Aliases |Description |
10|-----------------------|----------|-----------------------------------------------| 10|-----------------------|--------------------|-----------------------------------------------|
11|`KC_1` | |`1` and `!` | 11|`KC_1` | |`1` and `!` |
12|`KC_2` | |`2` and `@` | 12|`KC_2` | |`2` and `@` |
13|`KC_3` | |`3` and `#` | 13|`KC_3` | |`3` and `#` |
14|`KC_4` | |`4` and `$` | 14|`KC_4` | |`4` and `$` |
15|`KC_5` | |`5` and `%` | 15|`KC_5` | |`5` and `%` |
16|`KC_6` | |`6` and `^` | 16|`KC_6` | |`6` and `^` |
17|`KC_7` | |`7` and `&` | 17|`KC_7` | |`7` and `&` |
18|`KC_8` | |`8` and `*` | 18|`KC_8` | |`8` and `*` |
19|`KC_9` | |`9` and `(` | 19|`KC_9` | |`9` and `(` |
20|`KC_0` | |`0` and `)` | 20|`KC_0` | |`0` and `)` |
21|`KC_F1` | | | 21|`KC_F1` | | |
22|`KC_F2` | | | 22|`KC_F2` | | |
23|`KC_F3` | | | 23|`KC_F3` | | |
24|`KC_F4` | | | 24|`KC_F4` | | |
25|`KC_F5` | | | 25|`KC_F5` | | |
26|`KC_F6` | | | 26|`KC_F6` | | |
27|`KC_F7` | | | 27|`KC_F7` | | |
28|`KC_F8` | | | 28|`KC_F8` | | |
29|`KC_F9` | | | 29|`KC_F9` | | |
30|`KC_F10` | | | 30|`KC_F10` | | |
31|`KC_F11` | | | 31|`KC_F11` | | |
32|`KC_F12` | | | 32|`KC_F12` | | |
33|`KC_F13` | | | 33|`KC_F13` | | |
34|`KC_F14` | | | 34|`KC_F14` | | |
35|`KC_F15` | | | 35|`KC_F15` | | |
36|`KC_F16` | | | 36|`KC_F16` | | |
37|`KC_F17` | | | 37|`KC_F17` | | |
38|`KC_F18` | | | 38|`KC_F18` | | |
39|`KC_F19` | | | 39|`KC_F19` | | |
40|`KC_F20` | | | 40|`KC_F20` | | |
41|`KC_F21` | | | 41|`KC_F21` | | |
42|`KC_F22` | | | 42|`KC_F22` | | |
43|`KC_F23` | | | 43|`KC_F23` | | |
44|`KC_F24` | | | 44|`KC_F24` | | |
45|`KC_A` | |`a` and `A` | 45|`KC_A` | |`a` and `A` |
46|`KC_B` | |`b` and `B` | 46|`KC_B` | |`b` and `B` |
47|`KC_C` | |`c` and `C` | 47|`KC_C` | |`c` and `C` |
48|`KC_D` | |`d` and `D` | 48|`KC_D` | |`d` and `D` |
49|`KC_E` | |`e` and `E` | 49|`KC_E` | |`e` and `E` |
50|`KC_F` | |`f` and `F` | 50|`KC_F` | |`f` and `F` |
51|`KC_G` | |`g` and `G` | 51|`KC_G` | |`g` and `G` |
52|`KC_H` | |`h` and `H` | 52|`KC_H` | |`h` and `H` |
53|`KC_I` | |`i` and `I` | 53|`KC_I` | |`i` and `I` |
54|`KC_J` | |`j` and `J` | 54|`KC_J` | |`j` and `J` |
55|`KC_K` | |`k` and `K` | 55|`KC_K` | |`k` and `K` |
56|`KC_L` | |`l` and `L` | 56|`KC_L` | |`l` and `L` |
57|`KC_M` | |`m` and `M` | 57|`KC_M` | |`m` and `M` |
58|`KC_N` | |`n` and `N` | 58|`KC_N` | |`n` and `N` |
59|`KC_O` | |`o` and `O` | 59|`KC_O` | |`o` and `O` |
60|`KC_P` | |`p` and `P` | 60|`KC_P` | |`p` and `P` |
61|`KC_Q` | |`q` and `Q` | 61|`KC_Q` | |`q` and `Q` |
62|`KC_R` | |`r` and `R` | 62|`KC_R` | |`r` and `R` |
63|`KC_S` | |`s` and `S` | 63|`KC_S` | |`s` and `S` |
64|`KC_T` | |`t` and `T` | 64|`KC_T` | |`t` and `T` |
65|`KC_U` | |`u` and `U` | 65|`KC_U` | |`u` and `U` |
66|`KC_V` | |`v` and `V` | 66|`KC_V` | |`v` and `V` |
67|`KC_W` | |`w` and `W` | 67|`KC_W` | |`w` and `W` |
68|`KC_X` | |`x` and `X` | 68|`KC_X` | |`x` and `X` |
69|`KC_Y` | |`y` and `Y` | 69|`KC_Y` | |`y` and `Y` |
70|`KC_Z` | |`z` and `Z` | 70|`KC_Z` | |`z` and `Z` |
71|`KC_ENTER` |`KC_ENT` |Return (Enter) | 71|`KC_ENTER` |`KC_ENT` |Return (Enter) |
72|`KC_ESCAPE` |`KC_ESC` |Escape | 72|`KC_ESCAPE` |`KC_ESC` |Escape |
73|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) | 73|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
74|`KC_TAB` | |Tab | 74|`KC_TAB` | |Tab |
75|`KC_SPACE` |`KC_SPC` |Spacebar | 75|`KC_SPACE` |`KC_SPC` |Spacebar |
76|`KC_MINUS` |`KC_MINS` |`-` and `_` | 76|`KC_MINUS` |`KC_MINS` |`-` and `_` |
77|`KC_EQUAL` |`KC_EQL` |`=` and `+` | 77|`KC_EQUAL` |`KC_EQL` |`=` and `+` |
78|`KC_LBRACKET` |`KC_LBRC` |`[` and `{` | 78|`KC_LBRACKET` |`KC_LBRC` |`[` and `{` |
79|`KC_RBRACKET` |`KC_RBRC` |`]` and `}` | 79|`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
80|`KC_BSLASH` |`KC_BSLS` |`\` and <code>&#124;</code> | 80|`KC_BSLASH` |`KC_BSLS` |`\` and <code>&#124;</code> |
81|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` | 81|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
82|`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and <code>&#124;</code> | 82|`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and <code>&#124;</code> |
83|`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</code> | 83|`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</code> |
84|`KC_INT2` |`KC_KANA` |JIS Katakana/Hiragana | 84|`KC_INT2` |`KC_KANA` |JIS Katakana/Hiragana |
85|`KC_INT3` |`KC_JYEN` |JIS `¥` | 85|`KC_INT3` |`KC_JYEN` |JIS `¥` |
86|`KC_SCOLON` |`KC_SCLN` |`;` and `:` | 86|`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
87|`KC_QUOTE` |`KC_QUOT` |`'` and `"` | 87|`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
88|`KC_GRAVE` |`KC_GRV` |<code>&#96;</code> and `~` | 88|`KC_GRAVE` |`KC_GRV` |<code>&#96;</code> and `~` |
89|`KC_COMMA` |`KC_COMM` |`,` and `<` | 89|`KC_COMMA` |`KC_COMM` |`,` and `<` |
90|`KC_DOT` | |`.` and `>` | 90|`KC_DOT` | |`.` and `>` |
91|`KC_SLASH` |`KC_SLSH` |`/` and `?` | 91|`KC_SLASH` |`KC_SLSH` |`/` and `?` |
92|`KC_CAPSLOCK` |`KC_CAPS` |Caps Lock | 92|`KC_CAPSLOCK` |`KC_CAPS` |Caps Lock |
93|`KC_LCTRL` |`KC_LCTL` |Left Control | 93|`KC_LCTRL` |`KC_LCTL` |Left Control |
94|`KC_LSHIFT` |`KC_LSFT` |Left Shift | 94|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
95|`KC_LALT` | |Left Alt | 95|`KC_LALT` | |Left Alt |
96|`KC_LGUI` | |Left GUI (Windows/Command/Meta key) | 96|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
97|`KC_RCTRL` |`KC_RCTL` |Right Control | 97|`KC_RCTRL` |`KC_RCTL` |Right Control |
98|`KC_RSHIFT` |`KC_RSFT` |Right Shift | 98|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
99|`KC_RALT` | |Right Alt | 99|`KC_RALT` | |Right Alt |
100|`KC_RGUI` | |Right GUI (Windows/Command/Meta key) | 100|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key) |
101|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock | 101|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
102|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock | 102|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
103|`KC_LOCKING_SCROLL` |`KC_LSCR` |Locking Scroll Lock | 103|`KC_LOCKING_SCROLL` |`KC_LSCR` |Locking Scroll Lock |
104|`KC_INT4` |`KC_HENK` |JIS Henkan | 104|`KC_INT4` |`KC_HENK` |JIS Henkan |
105|`KC_INT5` |`KC_MHEN` |JIS Muhenkan | 105|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
106|`KC_PSCREEN` |`KC_PSCR` |Print Screen | 106|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
107|`KC_SCROLLLOCK` |`KC_SLCK` |Scroll Lock | 107|`KC_SCROLLLOCK` |`KC_SLCK` |Scroll Lock |
108|`KC_PAUSE` |`KC_PAUS` |Pause | 108|`KC_PAUSE` |`KC_PAUS` |Pause |
109|`KC_INSERT` |`KC_INS` |Insert | 109|`KC_INSERT` |`KC_INS` |Insert |
110|`KC_HOME` | |Home | 110|`KC_HOME` | |Home |
111|`KC_PGUP` | |Page Up | 111|`KC_PGUP` | |Page Up |
112|`KC_DELETE` |`KC_DEL` |Forward Delete | 112|`KC_DELETE` |`KC_DEL` |Forward Delete |
113|`KC_END` | |End | 113|`KC_END` | |End |
114|`KC_PGDOWN` |`KC_PGDN` |Page Down | 114|`KC_PGDOWN` |`KC_PGDN` |Page Down |
115|`KC_RIGHT` |`KC_RGHT` |Right Arrow | 115|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
116|`KC_LEFT` | |Left Arrow | 116|`KC_LEFT` | |Left Arrow |
117|`KC_DOWN` | |Down Arrow | 117|`KC_DOWN` | |Down Arrow |
118|`KC_UP` | |Up Arrow | 118|`KC_UP` | |Up Arrow |
119|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key) | 119|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key) |
120|`KC_POWER` | |Deprecated by MS in favor of `KC_SYSTEM_POWER`.| 120|`KC_POWER` | |Deprecated by MS in favor of `KC_SYSTEM_POWER`.|
121|`KC_EXECUTE` | |Execute | 121|`KC_EXECUTE` | |Execute |
122|`KC_HELP` | |Help | 122|`KC_HELP` | |Help |
123|`KC_MENU` | |Menu | 123|`KC_MENU` | |Menu |
124|`KC_SELECT` | |Select | 124|`KC_SELECT` | |Select |
125|`KC_AGAIN` | |Again | 125|`KC_AGAIN` | |Again |
126|`KC_UNDO` | |Undo | 126|`KC_UNDO` | |Undo |
127|`KC_CUT` | |Cut | 127|`KC_CUT` | |Cut |
128|`KC_COPY` | |Copy | 128|`KC_COPY` | |Copy |
129|`KC_PASTE` | |Paste | 129|`KC_PASTE` | |Paste |
130|`KC_FIND` | |Find | 130|`KC_FIND` | |Find |
131|`KC_ALT_ERASE` | |Alternate Erase | 131|`KC_ALT_ERASE` | |Alternate Erase |
132|`KC_SYSREQ` | |SysReq/Attention | 132|`KC_SYSREQ` | |SysReq/Attention |
133|`KC_CANCEL` | |Cancel | 133|`KC_CANCEL` | |Cancel |
134|`KC_CLEAR` | |Clear | 134|`KC_CLEAR` | |Clear |
135|`KC_PRIOR` | |Prior | 135|`KC_PRIOR` | |Prior |
136|`KC_RETURN` | |Return | 136|`KC_RETURN` | |Return |
137|`KC_SEPARATOR` | |Separator | 137|`KC_SEPARATOR` | |Separator |
138|`KC_OUT` | |Out | 138|`KC_OUT` | |Out |
139|`KC_OPER` | |Oper | 139|`KC_OPER` | |Oper |
140|`KC_CLEAR_AGAIN` | |Clear/Again | 140|`KC_CLEAR_AGAIN` | |Clear/Again |
141|`KC_CRSEL` | |CrSel/Props | 141|`KC_CRSEL` | |CrSel/Props |
142|`KC_EXSEL` | |ExSel | 142|`KC_EXSEL` | |ExSel |
143|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down. Recommended over `KC_POWER`.| 143|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down. Recommended over `KC_POWER`.|
144|`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep | 144|`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |
145|`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake | 145|`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake |
146|`KC_MAIL` |`KC_MAIL` | | 146|`KC_MAIL` |`KC_MAIL` | |
147|`KC_CALCULATOR` |`KC_CALC` | | 147|`KC_CALCULATOR` |`KC_CALC` | |
148|`KC_MY_COMPUTER` |`KC_MYCM` | | 148|`KC_MY_COMPUTER` |`KC_MYCM` | |
149|`KC_WWW_SEARCH` |`KC_WSCH` | | 149|`KC_WWW_SEARCH` |`KC_WSCH` | |
150|`KC_WWW_HOME` |`KC_WHOM` | | 150|`KC_WWW_HOME` |`KC_WHOM` | |
151|`KC_WWW_BACK` |`KC_WBAK` | | 151|`KC_WWW_BACK` |`KC_WBAK` | |
152|`KC_WWW_FORWARD` |`KC_WFWD` | | 152|`KC_WWW_FORWARD` |`KC_WFWD` | |
153|`KC_WWW_STOP` |`KC_WSTP` | | 153|`KC_WWW_STOP` |`KC_WSTP` | |
154|`KC_WWW_REFRESH` |`KC_WREF` | | 154|`KC_WWW_REFRESH` |`KC_WREF` | |
155|`KC_WWW_FAVORITES` |`KC_WFAV` | | 155|`KC_WWW_FAVORITES` |`KC_WFAV` | |
156|`KC_STOP` | |Stop | 156|`KC_STOP` | |Stop |
157|`KC__MUTE` | |Mute (macOS) | 157|`KC__MUTE` | |Mute (macOS) |
158|`KC__VOLUP` | |Volume Up (macOS) | 158|`KC__VOLUP` | |Volume Up (macOS) |
159|`KC__VOLDOWN` | |Volume Down (macOS) | 159|`KC__VOLDOWN` | |Volume Down (macOS) |
160|`KC_AUDIO_MUTE` |`KC_MUTE` |Mute (Windows/macOS/Linux) | 160|`KC_AUDIO_MUTE` |`KC_MUTE` |Mute (Windows/macOS/Linux) |
161|`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up (Windows/macOS/Linux) | 161|`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up (Windows/macOS/Linux) |
162|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down (Windows/macOS/Linux) | 162|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down (Windows/macOS/Linux) |
163|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track (Windows) | 163|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track (Windows) |
164|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track (Windows) | 164|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track (Windows) |
165|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |Next Track (macOS) | 165|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |Next Track (macOS) |
166|`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track (macOS) | 166|`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track (macOS) |
167|`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track | 167|`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track |
168|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track | 168|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |
169|`KC_MEDIA_SELECT` |`KC_MSEL` | | 169|`KC_MEDIA_SELECT` |`KC_MSEL` | |
170|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear | 170|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
171|`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` | 171|`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |
172|`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` | 172|`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |
173|`KC_KP_MINUS` |`KC_PMNS` |Keypad `-` | 173|`KC_KP_MINUS` |`KC_PMNS` |Keypad `-` |
174|`KC_KP_PLUS` |`KC_PPLS` |Keypad `+` | 174|`KC_KP_PLUS` |`KC_PPLS` |Keypad `+` |
175|`KC_KP_ENTER` |`KC_PENT` |Keypad Enter | 175|`KC_KP_ENTER` |`KC_PENT` |Keypad Enter |
176|`KC_KP_1` |`KC_P1` |Keypad `1` and End | 176|`KC_KP_1` |`KC_P1` |Keypad `1` and End |
177|`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow | 177|`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow |
178|`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down | 178|`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down |
179|`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow | 179|`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow |
180|`KC_KP_5` |`KC_P5` |Keypad `5` | 180|`KC_KP_5` |`KC_P5` |Keypad `5` |
181|`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow | 181|`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow |
182|`KC_KP_7` |`KC_P7` |Keypad `7` and Home | 182|`KC_KP_7` |`KC_P7` |Keypad `7` and Home |
183|`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow | 183|`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow |
184|`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up | 184|`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
185|`KC_KP_0` |`KC_P0` |Keypad `0` and Insert | 185|`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
186|`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete | 186|`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete |
187|`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` | 187|`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` |
188|`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` | 188|`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` |
189|`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards | 189|`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards |
190|`KC_NO` | |Ignore this key (NOOP) | 190|`KC_NO` | |Ignore this key (NOOP) |
191|`KC_TRANSPARENT` |`KC_TRNS` |Use the next lowest non-transparent key | 191|`KC_TRANSPARENT` |`KC_TRNS` |Use the next lowest non-transparent key |
192 192
193## [Mouse Keys](feature_mouse_keys.md) 193## [Mouse Keys](feature_mouse_keys.md)
194 194
@@ -301,44 +301,44 @@ This is a reference only. Each group of keys links to the page documenting their
301 301
302## [Modifiers](quantum_keycodes.md#modifiers) 302## [Modifiers](quantum_keycodes.md#modifiers)
303 303
304|Key |Aliases |Description | 304|Key |Aliases |Description |
305|----------|----------|----------------------------------------------------| 305|----------|---------- |----------------------------------------------------|
306|`KC_HYPR` | |Hold Left Control, Shift, Alt and GUI | 306|`KC_HYPR` | |Hold Left Control, Shift, Alt and GUI |
307|`KC_MEH` | |Hold Left Control, Shift and Alt | 307|`KC_MEH` | |Hold Left Control, Shift and Alt |
308|`LCTL(kc)`| |Hold Left Control and press `kc` | 308|`LCTL(kc)`| |Hold Left Control and press `kc` |
309|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | 309|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
310|`LALT(kc)`| |Hold Left Alt and press `kc` | 310|`LALT(kc)`| |Hold Left Alt and press `kc` |
311|`LGUI(kc)`| |Hold Left GUI and press `kc` | 311|`LGUI(kc)`|`LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
312|`RCTL(kc)`| |Hold Right Control and press `kc` | 312|`RCTL(kc)`| |Hold Right Control and press `kc` |
313|`RSFT(kc)`| |Hold Right Shift and press `kc` | 313|`RSFT(kc)`| |Hold Right Shift and press `kc` |
314|`RALT(kc)`| |Hold Right Alt and press `kc` | 314|`RALT(kc)`| |Hold Right Alt and press `kc` |
315|`RGUI(kc)`| |Hold Right GUI and press `kc` | 315|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`|Hold Right GUI and press `kc` |
316|`HYPR(kc)`| |Hold Left Control, Shift, Alt and 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` | 317|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
318|`LCAG(kc)`| |Hold Left Control, Alt and GUI 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` | 319|`ALTG(kc)`| |Hold Right Control and Alt and press `kc` |
320|`SCMD(kc)`|`SWIN(kc)`|Hold Left Shift and GUI and press `kc` | 320|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
321|`LCA(kc)` | |Hold Left Control and Alt and press `kc` | 321|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
322 322
323## [Mod-Tap Keys](quantum_keycodes.md#mod-tap-keys) 323## [Mod-Tap Keys](quantum_keycodes.md#mod-tap-keys)
324 324
325|Key |Aliases |Description | 325|Key |Aliases |Description |
326|------------|------------|-------------------------------------------------------| 326|------------|---------------------------------------|-------------------------------------------------------|
327|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped | 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 | 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 | 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 | 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 | 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 | 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 | 333|`LGUI_T(kc)`|`LCMD_T(kc)`, `RWIN_T(kc)`, `GUI_T(kc)`|Left GUI when held, `kc` when tapped |
334|`RGUI_T(kc)`| |Right GUI when held, `kc` when tapped | 334|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
335|`C_S_T(kc)` | |Left Control and Shift 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| 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 | 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 | 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/)| 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 | 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 | 341|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
342 342
343## [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md) 343## [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
344 344
diff --git a/docs/keycodes_basic.md b/docs/keycodes_basic.md
index d4719ed4d..57b0f9228 100644
--- a/docs/keycodes_basic.md
+++ b/docs/keycodes_basic.md
@@ -101,21 +101,21 @@ The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07
101 101
102## Modifiers 102## Modifiers
103 103
104|Key |Aliases |Description | 104|Key |Aliases |Description |
105|-------------------|---------|------------------------------------| 105|-------------------|--------------------|------------------------------------|
106|`KC_LCTRL` |`KC_LCTL`|Left Control | 106|`KC_LCTRL` |`KC_LCTL` |Left Control |
107|`KC_LSHIFT` |`KC_LSFT`|Left Shift | 107|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
108|`KC_LALT` | |Left Alt | 108|`KC_LALT` | |Left Alt |
109|`KC_LGUI` | |Left GUI (Windows/Command/Meta key) | 109|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
110|`KC_RCTRL` |`KC_RCTL`|Right Control | 110|`KC_RCTRL` |`KC_RCTL` |Right Control |
111|`KC_RSHIFT` |`KC_RSFT`|Right Shift | 111|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
112|`KC_RALT` | |Right Alt | 112|`KC_RALT` | |Right Alt |
113|`KC_RGUI` | |Right GUI (Windows/Command/Meta key)| 113|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)|
114|`KC_LOCKING_CAPS` |`KC_LCAP`|Locking Caps Lock | 114|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
115|`KC_LOCKING_NUM` |`KC_LNUM`|Locking Num Lock | 115|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
116|`KC_LOCKING_SCROLL`|`KC_LSCR`|Locking Scroll Lock | 116|`KC_LOCKING_SCROLL`|`KC_LSCR` |Locking Scroll Lock |
117|`KC_INT4` |`KC_HENK`|JIS Henkan | 117|`KC_INT4` |`KC_HENK` |JIS Henkan |
118|`KC_INT5` |`KC_MHEN`|JIS Muhenkan | 118|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
119 119
120## Commands 120## Commands
121 121
diff --git a/quantum/quantum.h b/quantum/quantum.h
index e6d76015b..b9424d5cd 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -122,6 +122,8 @@ extern uint32_t default_layer_state;
122 122
123#define SS_LCTRL(string) SS_DOWN(X_LCTRL) string SS_UP(X_LCTRL) 123#define SS_LCTRL(string) SS_DOWN(X_LCTRL) string SS_UP(X_LCTRL)
124#define SS_LGUI(string) SS_DOWN(X_LGUI) string SS_UP(X_LGUI) 124#define SS_LGUI(string) SS_DOWN(X_LGUI) string SS_UP(X_LGUI)
125#define SS_LCMD(string) SS_LGUI(string)
126#define SS_LWIN(string) SS_LGUI(string)
125#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT) 127#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT)
126#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT) 128#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT)
127#define SS_RALT(string) SS_DOWN(X_RALT) string SS_UP(X_RALT) 129#define SS_RALT(string) SS_DOWN(X_RALT) string SS_UP(X_RALT)
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index 9040299a7..4a5681c7e 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -449,10 +449,14 @@ enum quantum_keycodes {
449#define LSFT(kc) (kc | QK_LSFT) 449#define LSFT(kc) (kc | QK_LSFT)
450#define LALT(kc) (kc | QK_LALT) 450#define LALT(kc) (kc | QK_LALT)
451#define LGUI(kc) (kc | QK_LGUI) 451#define LGUI(kc) (kc | QK_LGUI)
452#define LCMD(kc) LGUI(kc)
453#define LWIN(kc) LGUI(kc)
452#define RCTL(kc) (kc | QK_RCTL) 454#define RCTL(kc) (kc | QK_RCTL)
453#define RSFT(kc) (kc | QK_RSFT) 455#define RSFT(kc) (kc | QK_RSFT)
454#define RALT(kc) (kc | QK_RALT) 456#define RALT(kc) (kc | QK_RALT)
455#define RGUI(kc) (kc | QK_RGUI) 457#define RGUI(kc) (kc | QK_RGUI)
458#define RCMD(kc) RGUI(kc)
459#define RWIN(kc) RGUI(kc)
456 460
457#define HYPR(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI) 461#define HYPR(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI)
458#define MEH(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT) 462#define MEH(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT)
@@ -616,8 +620,14 @@ enum quantum_keycodes {
616#define ALGR_T(kc) MT(MOD_RALT, kc) // dual-function AltGR 620#define ALGR_T(kc) MT(MOD_RALT, kc) // dual-function AltGR
617 621
618#define GUI_T(kc) MT(MOD_LGUI, kc) 622#define GUI_T(kc) MT(MOD_LGUI, kc)
623#define CMD_T(kc) GUI_T(kc)
624#define WIN_T(kc) GUI_T(kc)
619#define LGUI_T(kc) MT(MOD_LGUI, kc) 625#define LGUI_T(kc) MT(MOD_LGUI, kc)
626#define LCMD_T(kc) LGUI_T(kc)
627#define LWIN_T(kc) LGUI_T(kc)
620#define RGUI_T(kc) MT(MOD_RGUI, kc) 628#define RGUI_T(kc) MT(MOD_RGUI, kc)
629#define RCMD_T(kc) RGUI_T(kc)
630#define RWIN_T(kc) RGUI_T(kc)
621 631
622#define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc) // Control + Shift e.g. for gnome-terminal 632#define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc) // Control + Shift e.g. for gnome-terminal
623#define MEH_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT), kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl 633#define MEH_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT), kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl
diff --git a/tmk_core/common/keycode.h b/tmk_core/common/keycode.h
index a1e0bc9a4..e7e09e098 100644
--- a/tmk_core/common/keycode.h
+++ b/tmk_core/common/keycode.h
@@ -167,6 +167,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
167/* Transparent */ 167/* Transparent */
168#define KC_TRANSPARENT 1 168#define KC_TRANSPARENT 1
169#define KC_TRNS KC_TRANSPARENT 169#define KC_TRNS KC_TRANSPARENT
170/* GUI key aliases */
171#define KC_LCMD KC_LGUI
172#define KC_LWIN KC_LGUI
173#define KC_RCMD KC_RGUI
174#define KC_RWIN KC_RGUI
170 175
171 176
172 177