# HG changeset patch # User Jacob Alexander # Date 1410907036 25200 # Node ID 2f6ec276a6785249809198c9ccbc3024b3a6ebf7 # Parent 2794931a4d3021218f01a1cf435da83043367bfa More fixes to the DPH scan module. - Typing now works on the kishsaver (including modifiers) - Still some issues with RAM usage when using more than the default layer diff -r 2794931a4d30 -r 2f6ec276a678 CMakeLists.txt --- a/CMakeLists.txt Tue Sep 16 11:42:24 2014 -0700 +++ b/CMakeLists.txt Tue Sep 16 15:37:16 2014 -0700 @@ -89,17 +89,16 @@ ##| Set the base keyboard .kll map, defaults to "defaultMap" if not found ##| Looks in Scan/ for the available BaseMaps ##| TODO Support layering in basemap -set( BaseMap "50Key" ) +set( BaseMap "kishsaver" ) #set( BaseMap "defaultMap" ) ##| Layer additonal .kll maps on the BaseMap, layers are in order from 1st to nth ##| Can be set to "" -set( DefaultMap "colemak stdFuncMap" ) +set( DefaultMap "colemak kishsaver_unix1 stdFuncMap" ) ##| ParitalMaps available on top of the BaseMap. See above for syntax on specifying multiple layers vs. layering ##| Can be set to "" -set( PartialMaps "" ) -#set( PartialMaps "hhkbpro2" ) +#set( PartialMaps "hhkbpro2_slim" ) diff -r 2794931a4d30 -r 2f6ec276a678 Scan/DPH/kishsaver.kll --- a/Scan/DPH/kishsaver.kll Tue Sep 16 11:42:24 2014 -0700 +++ b/Scan/DPH/kishsaver.kll Tue Sep 16 15:37:16 2014 -0700 @@ -8,11 +8,11 @@ S0x40 : U"Backspace"; - +S0x41 : U"Inter2"; S0x42 : U"RBrace"; S0x43 : U"Delete"; S0x44 : U"Enter"; - +S0x45 : U"Inter3"; S0x46 : U"RShift"; S0x47 : U"RCtrl"; S0x48 : U"Equals"; diff -r 2794931a4d30 -r 2f6ec276a678 Scan/DPH/scan_loop.c --- a/Scan/DPH/scan_loop.c Tue Sep 16 11:42:24 2014 -0700 +++ b/Scan/DPH/scan_loop.c Tue Sep 16 15:37:16 2014 -0700 @@ -143,11 +143,6 @@ // ----- Variables ----- -// Buffer used to inform the macro processing module which keys have been detected as pressed -volatile uint8_t KeyIndex_Buffer[KEYBOARD_BUFFER]; -volatile uint8_t KeyIndex_BufferUsed; - - // Scan Module command dictionary const char scanCLIDictName[] = "DPH Module Commands"; const CLIDictItem scanCLIDict[] = { @@ -163,7 +158,7 @@ // CLI Control Variables uint8_t enableAvgDebug = 0; uint8_t enableKeyDebug = 0; -uint8_t enablePressDebug = 1; +uint8_t enablePressDebug = 0; uint8_t senseDebugCount = 3; // In order to get boot-time oddities @@ -320,7 +315,7 @@ } -// Signal KeyIndex_Buffer that it has been properly read +// Signal from macro module that keys have been processed // NOTE: Only really required for implementing "tricks" in converters for odd protocols void Scan_finishedWithMacro( uint8_t sentKeys ) { @@ -328,7 +323,7 @@ } -// Signal KeyIndex_Buffer that it has been properly read and sent out by the USB module +// Signal from output module that keys have been processed/sent // NOTE: Only really required for implementing "tricks" in converters for odd protocols void Scan_finishedWithOutput( uint8_t sentKeys ) { @@ -806,22 +801,22 @@ // Initial Keypress Macro_keyState( key, 0x01 ); } - else if ( keys_debounce[key] >= DEBOUNCE_THRESHOLD ) - { - // Held Key - Macro_keyState( key, 0x02 ); - } keys_debounce[key]++; } + else if ( keys_debounce[key] >= DEBOUNCE_THRESHOLD ) + { + // Held Key + Macro_keyState( key, 0x02 ); + } // Long form key debugging if ( enableKeyDebug ) { // Debug message // [:] : : : - dbug_msg("0x"); + dbug_msg(""); printHex_op( key, 1 ); print(" ["); printInt8( strobe ); @@ -844,7 +839,7 @@ else { // Release Key - if ( KeyIndex_BufferUsed > 0 && keys_debounce[key] >= DEBOUNCE_THRESHOLD ) + if ( keys_debounce[key] >= DEBOUNCE_THRESHOLD ) { Macro_keyState( key, 0x03 ); }