/* 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
// Process single key pushes
const struct keyEntry keyDict = ;
// Process Combos
const struct comboEntry PROGMEM cmbDict = ;
// Process String stubs
// Generate dict for strings
const struct stringEntry PROGMEM strDict = ;
// Generate function stubs
// Process the function structure
const struct funcEntry funDict = ;
// Handle Special calls
const struct specialEntry spcDict = ;
// Test for collisions!
// Switch statement will explode on duplicate
// chords. This will be optimized out
void
// Test for unexpected input
// Should return blank lines for all valid input
// Get size data back into the engine
size_t funcsLen = sizeof / sizeof;
size_t stringLen = sizeof / sizeof;
size_t keyLen = sizeof / sizeof;
size_t comboLen = sizeof / sizeof;
size_t specialLen = sizeof / sizeof;