aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/feature_advanced_keycodes.md34
-rw-r--r--docs/keycodes.md34
-rw-r--r--quantum/quantum_keycodes.h31
3 files changed, 50 insertions, 49 deletions
diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md
index 8c0a22fc6..f116e478c 100644
--- a/docs/feature_advanced_keycodes.md
+++ b/docs/feature_advanced_keycodes.md
@@ -107,23 +107,23 @@ This key would activate Left Control and Left Shift when held, and send Escape w
107 107
108For convenience, QMK includes some Mod-Tap shortcuts to make common combinations more compact in your keymap: 108For convenience, QMK includes some Mod-Tap shortcuts to make common combinations more compact in your keymap:
109 109
110|Key |Aliases |Description | 110|Key |Aliases |Description |
111|------------|---------------------------------------|-------------------------------------------------------| 111|------------|-----------------------------------------------------------------|-------------------------------------------------------|
112|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped | 112|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
113|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped | 113|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
114|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped | 114|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
115|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped | 115|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
116|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped | 116|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
117|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped | 117|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
118|`LGUI_T(kc)`|`LCMD_T(kc)`, `RWIN_T(kc)`, `GUI_T(kc)`|Left GUI when held, `kc` when tapped | 118|`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 |
119|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | 119|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
120|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped | 120|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
121|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped| 121|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
122|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped | 122|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
123|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped | 123|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
124|`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/)| 124|`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/)|
125|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped | 125|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
126|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped | 126|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
127 127
128## Caveats 128## Caveats
129 129
diff --git a/docs/keycodes.md b/docs/keycodes.md
index bd325b7fa..6f28bbb97 100644
--- a/docs/keycodes.md
+++ b/docs/keycodes.md
@@ -342,23 +342,23 @@ This is a reference only. Each group of keys links to the page documenting their
342 342
343## [Mod-Tap Keys](feature_advanced_keycodes.md#mod-tap) 343## [Mod-Tap Keys](feature_advanced_keycodes.md#mod-tap)
344 344
345|Key |Aliases |Description | 345|Key |Aliases |Description |
346|------------|---------------------------------------|-------------------------------------------------------| 346|------------|-----------------------------------------------------------------|-------------------------------------------------------|
347|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped | 347|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
348|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped | 348|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
349|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped | 349|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
350|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped | 350|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
351|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped | 351|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
352|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped | 352|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
353|`LGUI_T(kc)`|`LCMD_T(kc)`, `RWIN_T(kc)`, `GUI_T(kc)`|Left GUI 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|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | 354|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
355|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped | 355|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
356|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped| 356|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
357|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped | 357|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
358|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped | 358|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
359|`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/)| 359|`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/)|
360|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped | 360|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
361|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped | 361|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
362 362
363## [RGB Lighting](feature_rgblight.md) 363## [RGB Lighting](feature_rgblight.md)
364 364
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index 583ba8264..9f9d35b1c 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -640,38 +640,39 @@ enum quantum_keycodes {
640// M-od, T-ap - 256 keycode max 640// M-od, T-ap - 256 keycode max
641#define MT(mod, kc) (QK_MOD_TAP | (((mod) & 0x1F) << 8) | ((kc) & 0xFF)) 641#define MT(mod, kc) (QK_MOD_TAP | (((mod) & 0x1F) << 8) | ((kc) & 0xFF))
642 642
643#define CTL_T(kc) MT(MOD_LCTL, kc)
644#define LCTL_T(kc) MT(MOD_LCTL, kc) 643#define LCTL_T(kc) MT(MOD_LCTL, kc)
645#define RCTL_T(kc) MT(MOD_RCTL, kc) 644#define RCTL_T(kc) MT(MOD_RCTL, kc)
645#define CTL_T(kc) LCTL_T(kc)
646 646
647#define SFT_T(kc) MT(MOD_LSFT, kc)
648#define LSFT_T(kc) MT(MOD_LSFT, kc) 647#define LSFT_T(kc) MT(MOD_LSFT, kc)
649#define RSFT_T(kc) MT(MOD_RSFT, kc) 648#define RSFT_T(kc) MT(MOD_RSFT, kc)
649#define SFT_T(kc) LSFT_T(kc)
650 650
651#define ALT_T(kc) MT(MOD_LALT, kc)
652#define LALT_T(kc) MT(MOD_LALT, kc) 651#define LALT_T(kc) MT(MOD_LALT, kc)
653#define RALT_T(kc) MT(MOD_RALT, kc) 652#define RALT_T(kc) MT(MOD_RALT, kc)
653#define ALT_T(kc) LALT_T(kc)
654#define ALGR_T(kc) RALT_T(kc) 654#define ALGR_T(kc) RALT_T(kc)
655 655
656#define GUI_T(kc) MT(MOD_LGUI, kc)
657#define CMD_T(kc) GUI_T(kc)
658#define WIN_T(kc) GUI_T(kc)
659#define LGUI_T(kc) MT(MOD_LGUI, kc) 656#define LGUI_T(kc) MT(MOD_LGUI, kc)
657#define RGUI_T(kc) MT(MOD_RGUI, kc)
660#define LCMD_T(kc) LGUI_T(kc) 658#define LCMD_T(kc) LGUI_T(kc)
661#define LWIN_T(kc) LGUI_T(kc) 659#define LWIN_T(kc) LGUI_T(kc)
662#define RGUI_T(kc) MT(MOD_RGUI, kc)
663#define RCMD_T(kc) RGUI_T(kc) 660#define RCMD_T(kc) RGUI_T(kc)
664#define RWIN_T(kc) RGUI_T(kc) 661#define RWIN_T(kc) RGUI_T(kc)
665 662#define GUI_T(kc) LGUI_T(kc)
666#define C_S_T(kc) MT(MOD_LCTL | MOD_LSFT, kc) // Control + Shift e.g. for gnome-terminal 663#define CMD_T(kc) LCMD_T(kc)
667#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 664#define WIN_T(kc) LWIN_T(kc)
668#define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc) // Left control alt and gui 665
669#define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc) // Right control alt and gui 666#define C_S_T(kc) MT(MOD_LCTL | MOD_LSFT, kc) // Left Control + Shift e.g. for gnome-terminal
670#define ALL_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ 667#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 GUI, so just Left Control + Shift + Alt
671#define SGUI_T(kc) MT(MOD_LGUI | MOD_LSFT, kc) 668#define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc) // Left Control + Alt + GUI
669#define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc) // Right Control + Alt + GUI
670#define HYPR_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
671#define SGUI_T(kc) MT(MOD_LGUI | MOD_LSFT, kc) // Left Shift + GUI
672#define SCMD_T(kc) SGUI_T(kc) 672#define SCMD_T(kc) SGUI_T(kc)
673#define SWIN_T(kc) SGUI_T(kc) 673#define SWIN_T(kc) SGUI_T(kc)
674#define LCA_T(kc) MT(MOD_LCTL | MOD_LALT, kc) // Left control and left alt 674#define LCA_T(kc) MT(MOD_LCTL | MOD_LALT, kc) // Left Control + Alt
675#define ALL_T(kc) HYPR_T(kc)
675 676
676// Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap 677// Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap
677#define KC_HYPR HYPR(KC_NO) 678#define KC_HYPR HYPR(KC_NO)