summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeremy Bernhardt <jeremythegeek@gmail.com>2020-06-05 03:06:58 -0600
committerGitHub <noreply@github.com>2020-06-05 02:06:58 -0700
commit7a75af83429980c0d59dadc69a7ec64d68a2cbfa (patch)
treea76fad54204621cd543340f073658af248b7bcda
parentd03bc3a9c185f97d3813758e7f6df7c879f42ad0 (diff)
[Keyboard] Gboards common - TOGG()/inject.h (#9236)
-rw-r--r--keyboards/gboards/g/keymap_combo.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/keyboards/gboards/g/keymap_combo.h b/keyboards/gboards/g/keymap_combo.h
index 674d3356cc..1302c46035 100644
--- a/keyboards/gboards/g/keymap_combo.h
+++ b/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