Initial work for KLL macro support
This commit is contained in:
parent
8a66563622
commit
89193f807e
@ -73,6 +73,44 @@ uint8_t macroDebugMode = 0;
|
|||||||
|
|
||||||
// ----- Functions -----
|
// ----- Functions -----
|
||||||
|
|
||||||
|
// Looks up the start of the function ptr list for the active layer, by scan code
|
||||||
|
inline void *Macro_layerLookup( uint8_t scanCode )
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Called for each key from the Scan Module for one of three cases:
|
||||||
|
// 1. Key is pressed (PRESSED)
|
||||||
|
// 2. Key is being held down (HELD)
|
||||||
|
// 3. Key is released (RELEASED)
|
||||||
|
// If Scan Module is for an analog sense keyboard, do not use the defined keystates
|
||||||
|
// This function should not be called if not pressed (depressed) or at 0%
|
||||||
|
inline void Macro_keyUpdate( uint8_t scanCode, uint8_t state )
|
||||||
|
{
|
||||||
|
// Do layer lookup to find which capabilities to map
|
||||||
|
void *capabilities = Macro_layerLookup( scanCode );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
inline void Macro_bufferAdd( uint8_t byte )
|
inline void Macro_bufferAdd( uint8_t byte )
|
||||||
{
|
{
|
||||||
// Make sure we haven't overflowed the key buffer
|
// Make sure we haven't overflowed the key buffer
|
||||||
@ -129,7 +167,7 @@ inline void Macro_process()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// Loop through input buffer
|
// Loop through input buffer
|
||||||
for ( uint8_t index = 0; index < KeyIndex_BufferUsed; index++ )
|
for ( uint8_t index = 0; index < KeyIndex_BufferUsed && !macroDebugMode; index++ )
|
||||||
{
|
{
|
||||||
//print(" KEYS: ");
|
//print(" KEYS: ");
|
||||||
//printInt8( KeyIndex_BufferUsed );
|
//printInt8( KeyIndex_BufferUsed );
|
||||||
|
@ -29,6 +29,15 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ----- Defines -----
|
||||||
|
|
||||||
|
// Key states (DO NOT USE for analog keyboards)
|
||||||
|
#define DEPRESSED 0
|
||||||
|
#define RELEASED 1
|
||||||
|
#define PRESSED 254
|
||||||
|
#define HELD 255
|
||||||
|
|
||||||
|
|
||||||
// ----- Variables -----
|
// ----- Variables -----
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,7 +81,8 @@
|
|||||||
#define KEY_NUMBER 0x32
|
#define KEY_NUMBER 0x32
|
||||||
#define KEY_SEMICOLON 0x33
|
#define KEY_SEMICOLON 0x33
|
||||||
#define KEY_QUOTE 0x34
|
#define KEY_QUOTE 0x34
|
||||||
#define KEY_TILDE 0x35
|
#define KEY_TILDE 0x35 // TODO Removeme (old definition)
|
||||||
|
#define KEY_BACKTICK 0x35
|
||||||
#define KEY_COMMA 0x36
|
#define KEY_COMMA 0x36
|
||||||
#define KEY_PERIOD 0x37
|
#define KEY_PERIOD 0x37
|
||||||
#define KEY_SLASH 0x38
|
#define KEY_SLASH 0x38
|
||||||
@ -128,7 +129,8 @@
|
|||||||
#define KEYPAD_9 0x61
|
#define KEYPAD_9 0x61
|
||||||
#define KEYPAD_0 0x62
|
#define KEYPAD_0 0x62
|
||||||
#define KEYPAD_PERIOD 0x63
|
#define KEYPAD_PERIOD 0x63
|
||||||
#define KEY_ISO_BACKSLASH 0x64
|
#define KEY_ISO_BACKSLASH 0x64 // TODO Removeme (old definition)
|
||||||
|
#define KEY_ISO_SLASH 0x64
|
||||||
#define KEY_APP 0x65
|
#define KEY_APP 0x65
|
||||||
#define KEYBOARD_STATUS 0x66 // Used for indicating status or errors, not a key
|
#define KEYBOARD_STATUS 0x66 // Used for indicating status or errors, not a key
|
||||||
#define KEYPAD_EQUAL 0x67
|
#define KEYPAD_EQUAL 0x67
|
||||||
@ -158,9 +160,9 @@
|
|||||||
#define KEY_MUTE 0x7F
|
#define KEY_MUTE 0x7F
|
||||||
#define KEY_VOL_UP 0x80
|
#define KEY_VOL_UP 0x80
|
||||||
#define KEY_VOL_DOWN 0x81
|
#define KEY_VOL_DOWN 0x81
|
||||||
#define KEY_CAPS_LLOCK 0x82 // "Locking" Scroll Lock (Old keyboards with Locking Caps Lock)
|
#define KEY_CAPS_TLOCK 0x82 // Toggle "Locking" Scroll Lock (Old keyboards with Locking Caps Lock)
|
||||||
#define KEY_NUM_LLOCK 0x83
|
#define KEY_NUM_TLOCK 0x83
|
||||||
#define KEY_SCROLL_LLOCK 0x84
|
#define KEY_SCROLL_TLOCK 0x84
|
||||||
#define KEYPAD_COMMA 0x85 // Brazillian (See spec)
|
#define KEYPAD_COMMA 0x85 // Brazillian (See spec)
|
||||||
#define KEYPAD_EQUAL_AS 0x86 // AS/400 Keyboard (See spec)
|
#define KEYPAD_EQUAL_AS 0x86 // AS/400 Keyboard (See spec)
|
||||||
#define KEY_INTER1 0x87 // KANJI1 - Brazillian and Japanese "Ru" and "-"
|
#define KEY_INTER1 0x87 // KANJI1 - Brazillian and Japanese "Ru" and "-"
|
||||||
|
Reference in New Issue
Block a user