]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/quantum_keycodes.h
Allow Combo feature to be enabled/disabled live (#6318)
[qmk_firmware.git] / quantum / quantum_keycodes.h
index 1ced6ae37e540d8f1c3147d98563070fa3b6bd17..207e0a8261b7b47b452430dcd297bdd3c4a7fee1 100644 (file)
@@ -87,7 +87,9 @@ enum quantum_keycodes {
 #endif
 #ifdef UNICODEMAP_ENABLE
     QK_UNICODEMAP         = 0x8000,
-    QK_UNICODEMAP_MAX     = 0x83FF,
+    QK_UNICODEMAP_MAX     = 0xBFFF,
+    QK_UNICODEMAP_PAIR    = 0xC000,
+    QK_UNICODEMAP_PAIR_MAX = 0xFFFF,
 #endif
 
     // Loose keycodes - to be used directly
@@ -449,36 +451,50 @@ enum quantum_keycodes {
     KC_LOCK,
 #endif
 
-    #ifdef TERMINAL_ENABLE
-        TERM_ON,
-        TERM_OFF,
-    #endif
-
-        EEPROM_RESET,
-
-        UNICODE_MODE_FORWARD,
-        UNICODE_MODE_REVERSE,
-
-        UNICODE_MODE_OSX,
-        UNICODE_MODE_LNX,
-        UNICODE_MODE_WIN,
-        UNICODE_MODE_BSD,
-        UNICODE_MODE_WINC,
-
-        HPT_ON,
-        HPT_OFF,
-        HPT_TOG,
-        HPT_RST,
-        HPT_FBK,
-        HPT_BUZ,
-        HPT_MODI,
-        HPT_MODD,
-        HPT_DWLI,
-        HPT_DWLD,
-
-        // always leave at the end
-        SAFE_RANGE
-    };
+#ifdef TERMINAL_ENABLE
+    TERM_ON,
+    TERM_OFF,
+#endif
+
+    EEPROM_RESET,
+
+    UNICODE_MODE_FORWARD,
+    UNICODE_MODE_REVERSE,
+    UNICODE_MODE_OSX,
+    UNICODE_MODE_LNX,
+    UNICODE_MODE_WIN,
+    UNICODE_MODE_BSD,
+    UNICODE_MODE_WINC,
+
+    HPT_ON,
+    HPT_OFF,
+    HPT_TOG,
+    HPT_RST,
+    HPT_FBK,
+    HPT_BUZ,
+    HPT_MODI,
+    HPT_MODD,
+    HPT_DWLI,
+    HPT_DWLD,
+
+    // Left control, open paren
+    KC_LCPO,
+
+    // Right control, close paren
+    KC_RCPC,
+
+    // Left control, open paren
+    KC_LAPO,
+
+    // Right control, close paren
+    KC_RAPC,
+
+    CMB_ON,
+    CMB_OFF,
+    CMB_TOG,
+    // always leave at the end
+    SAFE_RANGE
+};
 
 // Ability to use mods in layouts
 #define LCTL(kc) (QK_LCTL | (kc))
@@ -701,7 +717,8 @@ enum quantum_keycodes {
 #endif
 #ifdef UNICODEMAP_ENABLE
   // Allows Unicode input up to 0x10FFFF, requires unicode_map
-  #define X(i) (QK_UNICODEMAP | (i))
+  #define X(i)     (QK_UNICODEMAP | (i))
+  #define XP(i, j) (QK_UNICODEMAP_PAIR | ((i) & 0x7F) | (((j) & 0x7F) << 7)) // 127 max i and j
 #endif
 
 #define UC_MOD  UNICODE_MODE_FORWARD