diff options
author | Jeremy Bernhardt <jeremythegeek@gmail.com> | 2020-06-05 03:06:58 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-05 02:06:58 -0700 |
commit | 7a75af83429980c0d59dadc69a7ec64d68a2cbfa (patch) | |
tree | a76fad54204621cd543340f073658af248b7bcda | |
parent | d03bc3a9c185f97d3813758e7f6df7c879f42ad0 (diff) |
[Keyboard] Gboards common - TOGG()/inject.h (#9236)
-rw-r--r-- | keyboards/gboards/g/keymap_combo.h | 21 |
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 |