]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/quantum_keycodes.h
Add CMD and WIN aliases for KC_GUI, GUI(kc), GUI_T(kc), etc.
[qmk_firmware.git] / quantum / quantum_keycodes.h
index 2d9603064255c579d7591dde9cf3c4de7a84e82e..4a5681c7e66a72a5734994ecd34363992f47aee7 100644 (file)
@@ -76,6 +76,10 @@ enum quantum_keycodes {
     QK_STENO_BOLT         = 0x5A30,
     QK_STENO_GEMINI       = 0x5A31,
     QK_STENO_MAX          = 0x5A3F,
+#endif
+#ifdef SWAP_HANDS_ENABLE
+    QK_SWAP_HANDS         = 0x5B00,
+    QK_SWAP_HANDS_MAX     = 0x5BFF,
 #endif
     QK_MOD_TAP            = 0x6000,
     QK_MOD_TAP_MAX        = 0x7FFF,
@@ -445,18 +449,22 @@ 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)
 #define LCAG(kc) (kc | QK_LCTL | QK_LALT | QK_LGUI)
 #define ALTG(kc) (kc | QK_RCTL | QK_RALT)
 #define SGUI(kc) (kc | QK_LGUI | QK_LSFT)
-#define SCMD(kc) SCMD(kc)
-#define SWIN(kc) SCMD(kc)
+#define SCMD(kc) SGUI(kc)
+#define SWIN(kc) SGUI(kc)
 #define LCA(kc) (kc | QK_LCTL | QK_LALT)
 
 #define MOD_HYPR 0xf
@@ -612,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
@@ -621,8 +635,8 @@ enum quantum_keycodes {
 #define RCAG_T(kc) MT((MOD_RCTL | MOD_RALT | MOD_RGUI), kc) // Right control alt and gui
 #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/
 #define SGUI_T(kc) MT((MOD_LGUI | MOD_LSFT), kc)
-#define SCMD_T(kc) SCMD_T(kc)
-#define SWIN_T(kc) SCMD_T(kc)
+#define SCMD_T(kc) SGUI_T(kc)
+#define SWIN_T(kc) SGUI_T(kc)
 #define LCA_T(kc) MT((MOD_LCTL | MOD_LALT), kc) // Left control and left alt
 
 // Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap
@@ -641,4 +655,14 @@ enum quantum_keycodes {
     #define X(n) (n | QK_UNICODE_MAP)
 #endif
 
+#ifdef SWAP_HANDS_ENABLE
+  #define SH_T(key)  (QK_SWAP_HANDS | key)
+  #define SH_TG      (QK_SWAP_HANDS | OP_SH_TOGGLE)
+  #define SH_TT      (QK_SWAP_HANDS | OP_SH_TAP_TOGGLE)
+  #define SH_MON     (QK_SWAP_HANDS | OP_SH_ON_OFF)
+  #define SH_MOFF    (QK_SWAP_HANDS | OP_SH_OFF_ON)
+  #define SH_ON      (QK_SWAP_HANDS | OP_SH_ON)
+  #define SH_OFF     (QK_SWAP_HANDS | OP_SH_OFF)
+#endif
+
 #endif // QUANTUM_KEYCODES_H