]> git.donarmstrong.com Git - kiibohd-controller.git/commitdiff
More fixes to the DPH scan module.
authorJacob Alexander <haata@kiibohd.com>
Tue, 16 Sep 2014 22:37:16 +0000 (15:37 -0700)
committerJacob Alexander <haata@kiibohd.com>
Tue, 16 Sep 2014 22:37:16 +0000 (15:37 -0700)
- Typing now works on the kishsaver (including modifiers)
- Still some issues with RAM usage when using more than the default layer

CMakeLists.txt
Scan/DPH/kishsaver.kll
Scan/DPH/scan_loop.c

index e8653435d13b15b6e480eb933d6602a4700ffa0e..cede169ed2147b45716fd1b17eceb5bc6b1d6a24 100644 (file)
@@ -89,17 +89,16 @@ set(  DebugModule "full" )
 ##| Set the base keyboard .kll map, defaults to "defaultMap" if not found
 ##| Looks in Scan/<Module Name> 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" )
 
 
 
index 61d2dc9f38637543ecbf4468f1f04f59db99e266..73f5adcde277d78906e5620b3201cfa8fe7d52ea 100644 (file)
@@ -8,11 +8,11 @@ Date = 2014-09-14;
 
 
 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";
index d995fc072c17a8f271f9cfc7ca69587801ab362e..31ece0893613e4fcdc489c621f82723fe8497223 100644 (file)
@@ -143,11 +143,6 @@ void recovery( uint8_t on );
 
 // ----- 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 @@ const CLIDictItem scanCLIDict[] = {
 // 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 @@ inline uint8_t Scan_loop()
 }
 
 
-// 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 @@ void Scan_finishedWithMacro( uint8_t sentKeys )
 }
 
 
-// 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 @@ void testColumn( uint8_t strobe )
                                        // 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
                                // <key> [<strobe>:<mux>] : <sense val> : <delta + threshold> : <margin>
-                               dbug_msg("0x");
+                               dbug_msg("");
                                printHex_op( key, 1 );
                                print(" [");
                                printInt8( strobe );
@@ -844,7 +839,7 @@ void testColumn( uint8_t strobe )
                else
                {
                        // Release Key
-                       if ( KeyIndex_BufferUsed > 0 && keys_debounce[key] >= DEBOUNCE_THRESHOLD )
+                       if ( keys_debounce[key] >= DEBOUNCE_THRESHOLD )
                        {
                                Macro_keyState( key, 0x03 );
                        }