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

master
Jeremy Bernhardt 2020-06-05 03:06:58 -06:00 committed by GitHub
parent d03bc3a9c1
commit 7a75af8342
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 1 deletions

View File

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