Mercurial > louis > kiibohd-controller
diff Macro/PartialMap/macro.c @ 185:68f3dc0cddd0
Macro cleanup.
- Preparation for KLL support
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Sun, 27 Jul 2014 23:15:41 -0700 |
parents | f9ef267ccc8b |
children | 50702debf278 |
line wrap: on
line diff
--- a/Macro/PartialMap/macro.c Sat Jul 26 14:06:19 2014 -0700 +++ b/Macro/PartialMap/macro.c Sun Jul 27 23:15:41 2014 -0700 @@ -198,7 +198,7 @@ } -// Evaluate/Update the TriggerMacro +// Evaluate/Update TriggerMacro void Macro_evalTriggerMacro( TriggerMacro *triggerMacro ) { // Which combo in the sequence is being evaluated @@ -208,7 +208,7 @@ uint8_t comboLength = triggerMacro->guide[ comboPos ]; // Iterate over list of keys currently pressed - for ( uint8_t keyPressed = 0; keyPressed < macroTriggerListBufferSize; keyPressed += 2 ) + for ( uint8_t keyPressed = 0; keyPressed < macroTriggerListBufferSize; keyPressed++ ) { // Compare with keys in combo for ( unsigned int comboKey = 0; comboKey < comboLength; comboKey++ ) @@ -241,59 +241,22 @@ } - - -/* -inline void Macro_bufferAdd( uint8_t byte ) +// Evaluate/Update ResultMacro +void Macro_evalResultMacro( ResultMacro *resultMacro ) { - // Make sure we haven't overflowed the key buffer - // Default function for adding keys to the KeyIndex_Buffer, does a DefaultMap_Lookup - if ( KeyIndex_BufferUsed < KEYBOARD_BUFFER ) - { - uint8_t key = DefaultMap_Lookup[byte]; - for ( uint8_t c = 0; c < KeyIndex_BufferUsed; c++ ) - { - // Key already in the buffer - if ( KeyIndex_Buffer[c] == key ) - return; - } - - // Add to the buffer - KeyIndex_Buffer[KeyIndex_BufferUsed++] = key; - } + // TODO } -inline void Macro_bufferRemove( uint8_t byte ) -{ - uint8_t key = DefaultMap_Lookup[byte]; - // Check for the released key, and shift the other keys lower on the buffer - for ( uint8_t c = 0; c < KeyIndex_BufferUsed; c++ ) - { - // Key to release found - if ( KeyIndex_Buffer[c] == key ) - { - // Shift keys from c position - for ( uint8_t k = c; k < KeyIndex_BufferUsed - 1; k++ ) - KeyIndex_Buffer[k] = KeyIndex_Buffer[k + 1]; - - // Decrement Buffer - KeyIndex_BufferUsed--; - - return; - } - } - - // Error case (no key to release) - erro_msg("Could not find key to release: "); - printHex( key ); -} -*/ - +// Called immediately after USB has finished sending a buffer inline void Macro_finishWithUSBBuffer( uint8_t sentKeys ) { + // XXX Currently not used to trigger anything (with this particular Macro module) } + +// Macro Procesing Loop +// Called once per USB buffer send inline void Macro_process() { // Only do one round of macro processing between Output Module timer sends @@ -320,6 +283,10 @@ // Lookup trigger list for this key unsigned int *triggerList = Macro_layerLookup( scanCode ); + // Skip, if no trigger list + if ( triggerList == 0 ) + continue; + // The first element is the length of the trigger list unsigned int triggerListSize = triggerList[0]; @@ -393,6 +360,7 @@ } } + inline void Macro_setup() { // Register Macro CLI dictionary