diff options
Diffstat (limited to 'keyboards/gboards/engine/keymap_engine.h')
-rw-r--r-- | keyboards/gboards/engine/keymap_engine.h | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/keyboards/gboards/engine/keymap_engine.h b/keyboards/gboards/engine/keymap_engine.h deleted file mode 100644 index 599c1ca3e4..0000000000 --- a/keyboards/gboards/engine/keymap_engine.h +++ /dev/null @@ -1,121 +0,0 @@ -/* If for some reason you're still here, maybe due to horror, shock or - * some other godforsaken reason. Meet X Macros. - * - * The we abuse the include system to generate data structures that are - * used by the internal chording engine. The alternative to this is - * using a external generator (Like is done for the ASETNIOP base keymaps) - * With this disgusting bodge, you can just edit your .defs and compile! - */ - -// Clear all X Macros -#define PRES BLANK -#define KEYS BLANK -#define SUBS BLANK -#define EXEC BLANK -#define SPEC BLANK - -// Process single key pushes -#undef PRES -#define PRES P_KEYMAP -const struct keyEntry keyDict[] = { -#include "dicts.def" -}; -#undef PRES -#define PRES BLANK - -// Process Combos -#undef KEYS -#define KEYS K_ACTION -#include "dicts.def" -#undef KEYS -#define KEYS BLANK - -#undef KEYS -#define KEYS K_KEYMAP -const struct comboEntry PROGMEM cmbDict[] = { -#include "dicts.def" -}; -#undef KEYS -#define KEYS BLANK - -// Process String stubs -#undef SUBS -#define SUBS S_ACTION -#include "dicts.def" -#undef SUBS -#define SUBS BLANK - -// Generate dict for strings -#undef SUBS -#define SUBS S_KEYMAP -const struct stringEntry PROGMEM strDict[] = { -#include "dicts.def" -}; -#undef SUBS -#define SUBS BLANK - -// Generate function stubs -#undef EXEC -#define EXEC X_ACTION -#include "dicts.def" -#undef EXEC -#define EXEC BLANK - -// Process the function structure -#undef EXEC -#define EXEC X_KEYMAP -const struct funcEntry funDict[] = { -#include "dicts.def" -}; -#undef EXEC -#define EXEC BLANK - -// Handle Special calls -#undef SPEC -#define SPEC Z_KEYMAP -const struct specialEntry spcDict[] = { -#include "dicts.def" -}; -#undef SPEC -#define SPEC BLANK - -// Test for collisions! -// Switch statement will explode on duplicate -// chords. This will be optimized out -#undef PRES -#undef KEYS -#undef SUBS -#undef EXEC -#undef SPEC -#define PRES TEST_COLLISION -#define KEYS TEST_COLLISION -#define SUBS TEST_COLLISION -#define EXEC TEST_COLLISION -#define SPEC TEST_COLLISION -void testCollisions(void) { - C_SIZE bomb = 0; - switch (bomb) { -#include "dicts.def" - } -} - -// Test for unexpected input -// Should return blank lines for all valid input -#undef PRES -#undef KEYS -#undef SUBS -#undef EXEC -#undef SPEC -#define PRES BLANK -#define KEYS BLANK -#define SUBS BLANK -#define EXEC BLANK -#define SPEC BLANK -#include "dicts.def" - -// Get size data back into the engine -size_t funcsLen = ARRAY_SIZE(funDict); -size_t stringLen = ARRAY_SIZE(strDict); -size_t keyLen = ARRAY_SIZE(keyDict); -size_t comboLen = ARRAY_SIZE(cmbDict); -size_t specialLen = ARRAY_SIZE(spcDict); |