aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/gboards/g/keymap_combo.h
diff options
context:
space:
mode:
authorGravatar Jeremy Bernhardt <jeremythegeek@gmail.com>2020-06-05 03:06:58 -0600
committerGravatar GitHub <noreply@github.com>2020-06-05 02:06:58 -0700
commit7a75af83429980c0d59dadc69a7ec64d68a2cbfa (patch)
treea76fad54204621cd543340f073658af248b7bcda /keyboards/gboards/g/keymap_combo.h
parentd03bc3a9c185f97d3813758e7f6df7c879f42ad0 (diff)
downloadqmk_firmware-7a75af83429980c0d59dadc69a7ec64d68a2cbfa.tar.gz
[Keyboard] Gboards common - TOGG()/inject.h (#9236)
Diffstat (limited to 'keyboards/gboards/g/keymap_combo.h')
-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 674d3356c..1302c4603 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