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
This commit is contained in:
parent
733a9f26b6
commit
12295e8362
@ -89,17 +89,16 @@ set( DebugModule "full" )
|
|||||||
##| Set the base keyboard .kll map, defaults to "defaultMap" if not found
|
##| Set the base keyboard .kll map, defaults to "defaultMap" if not found
|
||||||
##| Looks in Scan/<Module Name> for the available BaseMaps
|
##| Looks in Scan/<Module Name> for the available BaseMaps
|
||||||
##| TODO Support layering in basemap
|
##| TODO Support layering in basemap
|
||||||
set( BaseMap "50Key" )
|
set( BaseMap "kishsaver" )
|
||||||
#set( BaseMap "defaultMap" )
|
#set( BaseMap "defaultMap" )
|
||||||
|
|
||||||
##| Layer additonal .kll maps on the BaseMap, layers are in order from 1st to nth
|
##| Layer additonal .kll maps on the BaseMap, layers are in order from 1st to nth
|
||||||
##| Can be set to ""
|
##| 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
|
##| ParitalMaps available on top of the BaseMap. See above for syntax on specifying multiple layers vs. layering
|
||||||
##| Can be set to ""
|
##| Can be set to ""
|
||||||
set( PartialMaps "" )
|
#set( PartialMaps "hhkbpro2_slim" )
|
||||||
#set( PartialMaps "hhkbpro2" )
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,11 +8,11 @@ Date = 2014-09-14;
|
|||||||
|
|
||||||
|
|
||||||
S0x40 : U"Backspace";
|
S0x40 : U"Backspace";
|
||||||
|
S0x41 : U"Inter2";
|
||||||
S0x42 : U"RBrace";
|
S0x42 : U"RBrace";
|
||||||
S0x43 : U"Delete";
|
S0x43 : U"Delete";
|
||||||
S0x44 : U"Enter";
|
S0x44 : U"Enter";
|
||||||
|
S0x45 : U"Inter3";
|
||||||
S0x46 : U"RShift";
|
S0x46 : U"RShift";
|
||||||
S0x47 : U"RCtrl";
|
S0x47 : U"RCtrl";
|
||||||
S0x48 : U"Equals";
|
S0x48 : U"Equals";
|
||||||
|
@ -143,11 +143,6 @@ void recovery( uint8_t on );
|
|||||||
|
|
||||||
// ----- Variables -----
|
// ----- 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
|
// Scan Module command dictionary
|
||||||
const char scanCLIDictName[] = "DPH Module Commands";
|
const char scanCLIDictName[] = "DPH Module Commands";
|
||||||
const CLIDictItem scanCLIDict[] = {
|
const CLIDictItem scanCLIDict[] = {
|
||||||
@ -163,7 +158,7 @@ const CLIDictItem scanCLIDict[] = {
|
|||||||
// CLI Control Variables
|
// CLI Control Variables
|
||||||
uint8_t enableAvgDebug = 0;
|
uint8_t enableAvgDebug = 0;
|
||||||
uint8_t enableKeyDebug = 0;
|
uint8_t enableKeyDebug = 0;
|
||||||
uint8_t enablePressDebug = 1;
|
uint8_t enablePressDebug = 0;
|
||||||
uint8_t senseDebugCount = 3; // In order to get boot-time oddities
|
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
|
// NOTE: Only really required for implementing "tricks" in converters for odd protocols
|
||||||
void Scan_finishedWithMacro( uint8_t sentKeys )
|
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
|
// NOTE: Only really required for implementing "tricks" in converters for odd protocols
|
||||||
void Scan_finishedWithOutput( uint8_t sentKeys )
|
void Scan_finishedWithOutput( uint8_t sentKeys )
|
||||||
{
|
{
|
||||||
@ -806,22 +801,22 @@ void testColumn( uint8_t strobe )
|
|||||||
// Initial Keypress
|
// Initial Keypress
|
||||||
Macro_keyState( key, 0x01 );
|
Macro_keyState( key, 0x01 );
|
||||||
}
|
}
|
||||||
else if ( keys_debounce[key] >= DEBOUNCE_THRESHOLD )
|
|
||||||
{
|
|
||||||
// Held Key
|
|
||||||
Macro_keyState( key, 0x02 );
|
|
||||||
}
|
|
||||||
|
|
||||||
keys_debounce[key]++;
|
keys_debounce[key]++;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if ( keys_debounce[key] >= DEBOUNCE_THRESHOLD )
|
||||||
|
{
|
||||||
|
// Held Key
|
||||||
|
Macro_keyState( key, 0x02 );
|
||||||
|
}
|
||||||
|
|
||||||
// Long form key debugging
|
// Long form key debugging
|
||||||
if ( enableKeyDebug )
|
if ( enableKeyDebug )
|
||||||
{
|
{
|
||||||
// Debug message
|
// Debug message
|
||||||
// <key> [<strobe>:<mux>] : <sense val> : <delta + threshold> : <margin>
|
// <key> [<strobe>:<mux>] : <sense val> : <delta + threshold> : <margin>
|
||||||
dbug_msg("0x");
|
dbug_msg("");
|
||||||
printHex_op( key, 1 );
|
printHex_op( key, 1 );
|
||||||
print(" [");
|
print(" [");
|
||||||
printInt8( strobe );
|
printInt8( strobe );
|
||||||
@ -844,7 +839,7 @@ void testColumn( uint8_t strobe )
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Release Key
|
// Release Key
|
||||||
if ( KeyIndex_BufferUsed > 0 && keys_debounce[key] >= DEBOUNCE_THRESHOLD )
|
if ( keys_debounce[key] >= DEBOUNCE_THRESHOLD )
|
||||||
{
|
{
|
||||||
Macro_keyState( key, 0x03 );
|
Macro_keyState( key, 0x03 );
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user