Selaa lähdekoodia

[Keyboard] Gboards common - TOGG()/inject.h (#9236)

Jeremy Bernhardt 5 vuotta sitten
vanhempi
commit
7a75af8342
1 muutettua tiedostoa jossa 20 lisäystä ja 1 poistoa
  1. 20 1
      keyboards/gboards/g/keymap_combo.h

+ 20 - 1
keyboards/gboards/g/keymap_combo.h

@@ -11,14 +11,21 @@
     case name:                            \
         if (pressed) SEND_STRING(string); \
         break;
-#define BLANK(...)
 
+#define A_TOGG(name, layer, ...)          \
+    case name:                            \
+        if (pressed) layer_invert(layer); \
+        break;
+
+#define BLANK(...)
 // Generate data needed for combos/actions
 // Create Enum
 #undef COMB
 #undef SUBS
+#undef TOGG
 #define COMB K_ENUM
 #define SUBS A_ENUM
+#define TOGG A_ENUM
 enum combos {
 #include "combos.def"
 };
@@ -26,20 +33,25 @@ enum combos {
 // Bake combos into mem
 #undef COMB
 #undef SUBS
+#undef TOGG
 #define COMB K_DATA
 #define SUBS A_DATA
+#define TOGG A_DATA
 #include "combos.def"
 #undef COMB
 #undef SUBS
+#undef TOGG
 
 // Fill combo array
 #define COMB K_COMB
 #define SUBS A_COMB
+#define TOGG A_COMB
 combo_t key_combos[] = {
 #include "combos.def"
 };
 #undef COMB
 #undef SUBS
+#undef TOGG
 
 // Export length to combo module
 int COMBO_LEN = sizeof(key_combos) / sizeof(key_combos[0]);
@@ -47,10 +59,17 @@ int COMBO_LEN = sizeof(key_combos) / sizeof(key_combos[0]);
 // Fill QMK hook
 #define COMB BLANK
 #define SUBS A_ACTI
+#define TOGG A_TOGG
 void process_combo_event(uint8_t combo_index, bool pressed) {
     switch (combo_index) {
 #include "combos.def"
     }
+
+    // Allow user overrides per keymap
+#if __has_include("inject.h") 
+# include "inject.h"
+#endif
 }
 #undef COMB
 #undef SUBS
+#undef TOGG