summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
## [Basic Keycodes](keycodes_basic.md)
-|Key |Aliases |Description |
-|-----------------------|----------|-----------------------------------------------|
-|`KC_1` | |`1` and `!` |
-|`KC_2` | |`2` and `@` |
-|`KC_3` | |`3` and `#` |
-|`KC_4` | |`4` and `$` |
-|`KC_5` | |`5` and `%` |
-|`KC_6` | |`6` and `^` |
-|`KC_7` | |`7` and `&` |
-|`KC_8` | |`8` and `*` |
-|`KC_9` | |`9` and `(` |
-|`KC_0` | |`0` and `)` |
-|`KC_F1` | | |
-|`KC_F2` | | |
-|`KC_F3` | | |
-|`KC_F4` | | |
-|`KC_F5` | | |
-|`KC_F6` | | |
-|`KC_F7` | | |
-|`KC_F8` | | |
-|`KC_F9` | | |
-|`KC_F10` | | |
-|`KC_F11` | | |
-|`KC_F12` | | |
-|`KC_F13` | | |
-|`KC_F14` | | |
-|`KC_F15` | | |
-|`KC_F16` | | |
-|`KC_F17` | | |
-|`KC_F18` | | |
-|`KC_F19` | | |
-|`KC_F20` | | |
-|`KC_F21` | | |
-|`KC_F22` | | |
-|`KC_F23` | | |
-|`KC_F24` | | |
-|`KC_A` | |`a` and `A` |
-|`KC_B` | |`b` and `B` |
-|`KC_C` | |`c` and `C` |
-|`KC_D` | |`d` and `D` |
-|`KC_E` | |`e` and `E` |
-|`KC_F` | |`f` and `F` |
-|`KC_G` | |`g` and `G` |
-|`KC_H` | |`h` and `H` |
-|`KC_I` | |`i` and `I` |
-|`KC_J` | |`j` and `J` |
-|`KC_K` | |`k` and `K` |
-|`KC_L` | |`l` and `L` |
-|`KC_M` | |`m` and `M` |
-|`KC_N` | |`n` and `N` |
-|`KC_O` | |`o` and `O` |
-|`KC_P` | |`p` and `P` |
-|`KC_Q` | |`q` and `Q` |
-|`KC_R` | |`r` and `R` |
-|`KC_S` | |`s` and `S` |
-|`KC_T` | |`t` and `T` |
-|`KC_U` | |`u` and `U` |
-|`KC_V` | |`v` and `V` |
-|`KC_W` | |`w` and `W` |
-|`KC_X` | |`x` and `X` |
-|`KC_Y` | |`y` and `Y` |
-|`KC_Z` | |`z` and `Z` |
-|`KC_ENTER` |`KC_ENT` |Return (Enter) |
-|`KC_ESCAPE` |`KC_ESC` |Escape |
-|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
-|`KC_TAB` | |Tab |
-|`KC_SPACE` |`KC_SPC` |Spacebar |
-|`KC_MINUS` |`KC_MINS` |`-` and `_` |
-|`KC_EQUAL` |`KC_EQL` |`=` and `+` |
-|`KC_LBRACKET` |`KC_LBRC` |`[` and `{` |
-|`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
-|`KC_BSLASH` |`KC_BSLS` |`\` and <code>&#124;</code> |
-|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
-|`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and <code>&#124;</code> |
-|`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</code> |
-|`KC_INT2` |`KC_KANA` |JIS Katakana/Hiragana |
-|`KC_INT3` |`KC_JYEN` |JIS `¥` |
-|`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
-|`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
-|`KC_GRAVE` |`KC_GRV` |<code>&#96;</code> and `~` |
-|`KC_COMMA` |`KC_COMM` |`,` and `<` |
-|`KC_DOT` | |`.` and `>` |
-|`KC_SLASH` |`KC_SLSH` |`/` and `?` |
-|`KC_CAPSLOCK` |`KC_CAPS` |Caps Lock |
-|`KC_LCTRL` |`KC_LCTL` |Left Control |
-|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
-|`KC_LALT` | |Left Alt |
-|`KC_LGUI` | |Left GUI (Windows/Command/Meta key) |
-|`KC_RCTRL` |`KC_RCTL` |Right Control |
-|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
-|`KC_RALT` | |Right Alt |
-|`KC_RGUI` | |Right GUI (Windows/Command/Meta key) |
-|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
-|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
-|`KC_LOCKING_SCROLL` |`KC_LSCR` |Locking Scroll Lock |
-|`KC_INT4` |`KC_HENK` |JIS Henkan |
-|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
-|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
-|`KC_SCROLLLOCK` |`KC_SLCK` |Scroll Lock |
-|`KC_PAUSE` |`KC_PAUS` |Pause |
-|`KC_INSERT` |`KC_INS` |Insert |
-|`KC_HOME` | |Home |
-|`KC_PGUP` | |Page Up |
-|`KC_DELETE` |`KC_DEL` |Forward Delete |
-|`KC_END` | |End |
-|`KC_PGDOWN` |`KC_PGDN` |Page Down |
-|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
-|`KC_LEFT` | |Left Arrow |
-|`KC_DOWN` | |Down Arrow |
-|`KC_UP` | |Up Arrow |
-|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key) |
-|`KC_POWER` | |Deprecated by MS in favor of `KC_SYSTEM_POWER`.|
-|`KC_EXECUTE` | |Execute |
-|`KC_HELP` | |Help |
-|`KC_MENU` | |Menu |
-|`KC_SELECT` | |Select |
-|`KC_AGAIN` | |Again |
-|`KC_UNDO` | |Undo |
-|`KC_CUT` | |Cut |
-|`KC_COPY` | |Copy |
-|`KC_PASTE` | |Paste |
-|`KC_FIND` | |Find |
-|`KC_ALT_ERASE` | |Alternate Erase |
-|`KC_SYSREQ` | |SysReq/Attention |
-|`KC_CANCEL` | |Cancel |
-|`KC_CLEAR` | |Clear |
-|`KC_PRIOR` | |Prior |
-|`KC_RETURN` | |Return |
-|`KC_SEPARATOR` | |Separator |
-|`KC_OUT` | |Out |
-|`KC_OPER` | |Oper |
-|`KC_CLEAR_AGAIN` | |Clear/Again |
-|`KC_CRSEL` | |CrSel/Props |
-|`KC_EXSEL` | |ExSel |
-|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down. Recommended over `KC_POWER`.|
-|`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |
-|`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake |
-|`KC_MAIL` |`KC_MAIL` | |
-|`KC_CALCULATOR` |`KC_CALC` | |
-|`KC_MY_COMPUTER` |`KC_MYCM` | |
-|`KC_WWW_SEARCH` |`KC_WSCH` | |
-|`KC_WWW_HOME` |`KC_WHOM` | |
-|`KC_WWW_BACK` |`KC_WBAK` | |
-|`KC_WWW_FORWARD` |`KC_WFWD` | |
-|`KC_WWW_STOP` |`KC_WSTP` | |
-|`KC_WWW_REFRESH` |`KC_WREF` | |
-|`KC_WWW_FAVORITES` |`KC_WFAV` | |
-|`KC_STOP` | |Stop |
-|`KC__MUTE` | |Mute (macOS) |
-|`KC__VOLUP` | |Volume Up (macOS) |
-|`KC__VOLDOWN` | |Volume Down (macOS) |
-|`KC_AUDIO_MUTE` |`KC_MUTE` |Mute (Windows/macOS/Linux) |
-|`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up (Windows/macOS/Linux) |
-|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down (Windows/macOS/Linux) |
-|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track (Windows) |
-|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track (Windows) |
-|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |Next Track (macOS) |
-|`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track (macOS) |
-|`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track |
-|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |
-|`KC_MEDIA_SELECT` |`KC_MSEL` | |
-|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
-|`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |
-|`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |
-|`KC_KP_MINUS` |`KC_PMNS` |Keypad `-` |
-|`KC_KP_PLUS` |`KC_PPLS` |Keypad `+` |
-|`KC_KP_ENTER` |`KC_PENT` |Keypad Enter |
-|`KC_KP_1` |`KC_P1` |Keypad `1` and End |
-|`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow |
-|`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down |
-|`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow |
-|`KC_KP_5` |`KC_P5` |Keypad `5` |
-|`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow |
-|`KC_KP_7` |`KC_P7` |Keypad `7` and Home |
-|`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow |
-|`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
-|`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
-|`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete |
-|`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` |
-|`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` |
-|`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards |
-|`KC_NO` | |Ignore this key (NOOP) |
-|`KC_TRANSPARENT` |`KC_TRNS` |Use the next lowest non-transparent key |
+|Key |Aliases |Description |
+|-----------------------|--------------------|-----------------------------------------------|
+|`KC_1` | |`1` and `!` |
+|`KC_2` | |`2` and `@` |
+|`KC_3` | |`3` and `#` |
+|`KC_4` | |`4` and `$` |
+|`KC_5` | |`5` and `%` |
+|`KC_6` | |`6` and `^` |
+|`KC_7` | |`7` and `&` |
+|`KC_8` | |`8` and `*` |
+|`KC_9` | |`9` and `(` |
+|`KC_0` | |`0` and `)` |
+|`KC_F1` | | |
+|`KC_F2` | | |
+|`KC_F3` | | |
+|`KC_F4` | | |
+|`KC_F5` | | |
+|`KC_F6` | | |
+|`KC_F7` | | |
+|`KC_F8` | | |
+|`KC_F9` | | |
+|`KC_F10` | | |
+|`KC_F11` | | |
+|`KC_F12` | | |
+|`KC_F13` | | |
+|`KC_F14` | | |
+|`KC_F15` | | |
+|`KC_F16` | | |
+|`KC_F17` | | |
+|`KC_F18` | | |
+|`KC_F19` | | |
+|`KC_F20` | | |
+|`KC_F21` | | |
+|`KC_F22` | | |
+|`KC_F23` | | |
+|`KC_F24` | | |
+|`KC_A` | |`a` and `A` |
+|`KC_B` | |`b` and `B` |
+|`KC_C` | |`c` and `C` |
+|`KC_D` | |`d` and `D` |
+|`KC_E` | |`e` and `E` |
+|`KC_F` | |`f` and `F` |
+|`KC_G` | |`g` and `G` |
+|`KC_H` | |`h` and `H` |
+|`KC_I` | |`i` and `I` |
+|`KC_J` | |`j` and `J` |
+|`KC_K` | |`k` and `K` |
+|`KC_L` | |`l` and `L` |
+|`KC_M` | |`m` and `M` |
+|`KC_N` | |`n` and `N` |
+|`KC_O` | |`o` and `O` |
+|`KC_P` | |`p` and `P` |
+|`KC_Q` | |`q` and `Q` |
+|`KC_R` | |`r` and `R` |
+|`KC_S` | |`s` and `S` |
+|`KC_T` | |`t` and `T` |
+|`KC_U` | |`u` and `U` |
+|`KC_V` | |`v` and `V` |
+|`KC_W` | |`w` and `W` |
+|`KC_X` | |`x` and `X` |
+|`KC_Y` | |`y` and `Y` |
+|`KC_Z` | |`z` and `Z` |
+|`KC_ENTER` |`KC_ENT` |Return (Enter) |
+|`KC_ESCAPE` |`KC_ESC` |Escape |
+|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
+|`KC_TAB` | |Tab |
+|`KC_SPACE` |`KC_SPC` |Spacebar |
+|`KC_MINUS` |`KC_MINS` |`-` and `_` |
+|`KC_EQUAL` |`KC_EQL` |`=` and `+` |
+|`KC_LBRACKET` |`KC_LBRC` |`[` and `{` |
+|`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
+|`KC_BSLASH` |`KC_BSLS` |`\` and <code>&#124;</code> |
+|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
+|`KC_NONUS_BSLASH` |`KC_NUBS` |Non-US `\` and <code>&#124;</code> |
+|`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</code> |
+|`KC_INT2` |`KC_KANA` |JIS Katakana/Hiragana |
+|`KC_INT3` |`KC_JYEN` |JIS `¥` |
+|`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
+|`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
+|`KC_GRAVE` |`KC_GRV` |<code>&#96;</code> and `~` |
+|`KC_COMMA` |`KC_COMM` |`,` and `<` |
+|`KC_DOT` | |`.` and `>` |
+|`KC_SLASH` |`KC_SLSH` |`/` and `?` |
+|`KC_CAPSLOCK` |`KC_CAPS` |Caps Lock |
+|`KC_LCTRL` |`KC_LCTL` |Left Control |
+|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
+|`KC_LALT` | |Left Alt |
+|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
+|`KC_RCTRL` |`KC_RCTL` |Right Control |
+|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
+|`KC_RALT` | |Right Alt |
+|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key) |
+|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
+|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
+|`KC_LOCKING_SCROLL` |`KC_LSCR` |Locking Scroll Lock |
+|`KC_INT4` |`KC_HENK` |JIS Henkan |
+|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
+|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
+|`KC_SCROLLLOCK` |`KC_SLCK` |Scroll Lock |
+|`KC_PAUSE` |`KC_PAUS` |Pause |
+|`KC_INSERT` |`KC_INS` |Insert |
+|`KC_HOME` | |Home |
+|`KC_PGUP` | |Page Up |
+|`KC_DELETE` |`KC_DEL` |Forward Delete |
+|`KC_END` | |End |
+|`KC_PGDOWN` |`KC_PGDN` |Page Down |
+|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
+|`KC_LEFT` | |Left Arrow |
+|`KC_DOWN` | |Down Arrow |
+|`KC_UP` | |Up Arrow |
+|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key) |
+|`KC_POWER` | |Deprecated by MS in favor of `KC_SYSTEM_POWER`.|
+|`KC_EXECUTE` | |Execute |
+|`KC_HELP` | |Help |
+|`KC_MENU` | |Menu |
+|`KC_SELECT` | |Select |
+|`KC_AGAIN` | |Again |
+|`KC_UNDO` | |Undo |
+|`KC_CUT` | |Cut |
+|`KC_COPY` | |Copy |
+|`KC_PASTE` | |Paste |
+|`KC_FIND` | |Find |
+|`KC_ALT_ERASE` | |Alternate Erase |
+|`KC_SYSREQ` | |SysReq/Attention |
+|`KC_CANCEL` | |Cancel |
+|`KC_CLEAR` | |Clear |
+|`KC_PRIOR` | |Prior |
+|`KC_RETURN` | |Return |
+|`KC_SEPARATOR` | |Separator |
+|`KC_OUT` | |Out |
+|`KC_OPER` | |Oper |
+|`KC_CLEAR_AGAIN` | |Clear/Again |
+|`KC_CRSEL` | |CrSel/Props |
+|`KC_EXSEL` | |ExSel |
+|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down. Recommended over `KC_POWER`.|
+|`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |
+|`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake |
+|`KC_MAIL` |`KC_MAIL` | |
+|`KC_CALCULATOR` |`KC_CALC` | |
+|`KC_MY_COMPUTER` |`KC_MYCM` | |
+|`KC_WWW_SEARCH` |`KC_WSCH` | |
+|`KC_WWW_HOME` |`KC_WHOM` | |
+|`KC_WWW_BACK` |`KC_WBAK` | |
+|`KC_WWW_FORWARD` |`KC_WFWD` | |
+|`KC_WWW_STOP` |`KC_WSTP` | |
+|`KC_WWW_REFRESH` |`KC_WREF` | |
+|`KC_WWW_FAVORITES` |`KC_WFAV` | |
+|`KC_STOP` | |Stop |
+|`KC__MUTE` | |Mute (macOS) |
+|`KC__VOLUP` | |Volume Up (macOS) |
+|`KC__VOLDOWN` | |Volume Down (macOS) |
+|`KC_AUDIO_MUTE` |`KC_MUTE` |Mute (Windows/macOS/Linux) |
+|`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up (Windows/macOS/Linux) |
+|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down (Windows/macOS/Linux) |
+|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track (Windows) |
+|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track (Windows) |
+|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |Next Track (macOS) |
+|`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track (macOS) |
+|`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track |
+|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |
+|`KC_MEDIA_SELECT` |`KC_MSEL` | |
+|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
+|`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |
+|`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |
+|`KC_KP_MINUS` |`KC_PMNS` |Keypad `-` |
+|`KC_KP_PLUS` |`KC_PPLS` |Keypad `+` |
+|`KC_KP_ENTER` |`KC_PENT` |Keypad Enter |
+|`KC_KP_1` |`KC_P1` |Keypad `1` and End |
+|`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow |
+|`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down |
+|`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow |
+|`KC_KP_5` |`KC_P5` |Keypad `5` |
+|`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow |
+|`KC_KP_7` |`KC_P7` |Keypad `7` and Home |
+|`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow |
+|`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
+|`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
+|`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete |
+|`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` |
+|`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` |
+|`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards |
+|`KC_NO` | |Ignore this key (NOOP) |
+|`KC_TRANSPARENT` |`KC_TRNS` |Use the next lowest non-transparent key |
## [Mouse Keys](feature_mouse_keys.md)
@@ -301,44 +301,44 @@ This is a reference only. Each group of keys links to the page documenting their
## [Modifiers](quantum_keycodes.md#modifiers)
-|Key |Aliases |Description |
-|----------|----------|----------------------------------------------------|
-|`KC_HYPR` | |Hold Left Control, Shift, Alt and GUI |
-|`KC_MEH` | |Hold Left Control, Shift and Alt |
-|`LCTL(kc)`| |Hold Left Control and press `kc` |
-|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
-|`LALT(kc)`| |Hold Left Alt and press `kc` |
-|`LGUI(kc)`| |Hold Left GUI and press `kc` |
-|`RCTL(kc)`| |Hold Right Control and press `kc` |
-|`RSFT(kc)`| |Hold Right Shift and press `kc` |
-|`RALT(kc)`| |Hold Right Alt and press `kc` |
-|`RGUI(kc)`| |Hold Right GUI and press `kc` |
-|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
-|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
-|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
-|`ALTG(kc)`| |Hold Right Control and Alt and press `kc` |
-|`SCMD(kc)`|`SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
-|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
+|Key |Aliases |Description |
+|----------|---------- |----------------------------------------------------|
+|`KC_HYPR` | |Hold Left Control, Shift, Alt and GUI |
+|`KC_MEH` | |Hold Left Control, Shift and Alt |
+|`LCTL(kc)`| |Hold Left Control and press `kc` |
+|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
+|`LALT(kc)`| |Hold Left Alt and press `kc` |
+|`LGUI(kc)`|`LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
+|`RCTL(kc)`| |Hold Right Control and press `kc` |
+|`RSFT(kc)`| |Hold Right Shift and press `kc` |
+|`RALT(kc)`| |Hold Right Alt and press `kc` |
+|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`|Hold Right GUI and press `kc` |
+|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
+|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
+|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
+|`ALTG(kc)`| |Hold Right Control and Alt and press `kc` |
+|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
+|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
## [Mod-Tap Keys](quantum_keycodes.md#mod-tap-keys)
-|Key |Aliases |Description |
-|------------|------------|-------------------------------------------------------|
-|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
-|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
-|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
-|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
-|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
-|`RALT_T(kc)`|`ALGR_T(kc)`|Right Alt when held, `kc` when tapped |
-|`LGUI_T(kc)`|`GUI_T(kc)` |Left GUI when held, `kc` when tapped |
-|`RGUI_T(kc)`| |Right GUI when held, `kc` when tapped |
-|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
-|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
-|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
-|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
-|`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/)|
-|`SCMD_T(kc)`|`SWIN_T(kc)`|Left Shift and GUI when held, `kc` when tapped |
-|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
+|Key |Aliases |Description |
+|------------|---------------------------------------|-------------------------------------------------------|
+|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
+|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
+|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
+|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
+|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
+|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
+|`LGUI_T(kc)`|`LCMD_T(kc)`, `RWIN_T(kc)`, `GUI_T(kc)`|Left GUI when held, `kc` when tapped |
+|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
+|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
+|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
+|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
+|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
+|`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/)|
+|`SCMD_T(kc)`|`SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
+|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
## [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
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
## Modifiers
-|Key |Aliases |Description |
-|-------------------|---------|------------------------------------|
-|`KC_LCTRL` |`KC_LCTL`|Left Control |
-|`KC_LSHIFT` |`KC_LSFT`|Left Shift |
-|`KC_LALT` | |Left Alt |
-|`KC_LGUI` | |Left GUI (Windows/Command/Meta key) |
-|`KC_RCTRL` |`KC_RCTL`|Right Control |
-|`KC_RSHIFT` |`KC_RSFT`|Right Shift |
-|`KC_RALT` | |Right Alt |
-|`KC_RGUI` | |Right GUI (Windows/Command/Meta key)|
-|`KC_LOCKING_CAPS` |`KC_LCAP`|Locking Caps Lock |
-|`KC_LOCKING_NUM` |`KC_LNUM`|Locking Num Lock |
-|`KC_LOCKING_SCROLL`|`KC_LSCR`|Locking Scroll Lock |
-|`KC_INT4` |`KC_HENK`|JIS Henkan |
-|`KC_INT5` |`KC_MHEN`|JIS Muhenkan |
+|Key |Aliases |Description |
+|-------------------|--------------------|------------------------------------|
+|`KC_LCTRL` |`KC_LCTL` |Left Control |
+|`KC_LSHIFT` |`KC_LSFT` |Left Shift |
+|`KC_LALT` | |Left Alt |
+|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
+|`KC_RCTRL` |`KC_RCTL` |Right Control |
+|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
+|`KC_RALT` | |Right Alt |
+|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)|
+|`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
+|`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
+|`KC_LOCKING_SCROLL`|`KC_LSCR` |Locking Scroll Lock |
+|`KC_INT4` |`KC_HENK` |JIS Henkan |
+|`KC_INT5` |`KC_MHEN` |JIS Muhenkan |
## Commands
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;
#define SS_LCTRL(string) SS_DOWN(X_LCTRL) string SS_UP(X_LCTRL)
#define SS_LGUI(string) SS_DOWN(X_LGUI) string SS_UP(X_LGUI)
+#define SS_LCMD(string) SS_LGUI(string)
+#define SS_LWIN(string) SS_LGUI(string)
#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT)
#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT)
#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 {
#define LSFT(kc) (kc | QK_LSFT)
#define LALT(kc) (kc | QK_LALT)
#define LGUI(kc) (kc | QK_LGUI)
+#define LCMD(kc) LGUI(kc)
+#define LWIN(kc) LGUI(kc)
#define RCTL(kc) (kc | QK_RCTL)
#define RSFT(kc) (kc | QK_RSFT)
#define RALT(kc) (kc | QK_RALT)
#define RGUI(kc) (kc | QK_RGUI)
+#define RCMD(kc) RGUI(kc)
+#define RWIN(kc) RGUI(kc)
#define HYPR(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI)
#define MEH(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT)
@@ -616,8 +620,14 @@ enum quantum_keycodes {
#define ALGR_T(kc) MT(MOD_RALT, kc) // dual-function AltGR
#define GUI_T(kc) MT(MOD_LGUI, kc)
+#define CMD_T(kc) GUI_T(kc)
+#define WIN_T(kc) GUI_T(kc)
#define LGUI_T(kc) MT(MOD_LGUI, kc)
+#define LCMD_T(kc) LGUI_T(kc)
+#define LWIN_T(kc) LGUI_T(kc)
#define RGUI_T(kc) MT(MOD_RGUI, kc)
+#define RCMD_T(kc) RGUI_T(kc)
+#define RWIN_T(kc) RGUI_T(kc)
#define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc) // Control + Shift e.g. for gnome-terminal
#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/>.
/* Transparent */
#define KC_TRANSPARENT 1
#define KC_TRNS KC_TRANSPARENT
+/* GUI key aliases */
+#define KC_LCMD KC_LGUI
+#define KC_LWIN KC_LGUI
+#define KC_RCMD KC_RGUI
+#define KC_RWIN KC_RGUI