]> git.donarmstrong.com Git - kiibohd-controller.git/blobdiff - Macro/buffer/macro.c
Fixing slow key issues with the FACOM converter
[kiibohd-controller.git] / Macro / buffer / macro.c
index fbada9f65316083881794363fd6a481be1868ae6..eab23f33ee60e26985ff3379bd1d1e77fdd85577 100644 (file)
@@ -52,7 +52,7 @@ static uint8_t Bootloader_ConditionSequence[] = {1,16,6,11};
 
 // ----- Functions -----
 
-inline void macro_finishedWithBuffer(void)
+inline void macro_finishedWithBuffer( uint8_t sentKeys )
 {
        /* BudKeypad
        // Boot loader sequence state handler
@@ -251,30 +251,55 @@ uint8_t sendCode = 0;
 // USBCode Macro Detection
 int usbcodeMacro( uint8_t usbCode )
 {
-       /*
        // Keyboard Input Test Macro
+       /*
        switch ( usbCode )
        {
        case KEY_F1:
                sendCode--;
-               scan_sendData( 0x90 );
+               //scan_sendData( 0x90 );
                scan_sendData( sendCode );
                _delay_ms( 200 );
                break;
 
        case KEY_F2:
-               scan_sendData( 0x90 );
+               //scan_sendData( 0x90 );
                scan_sendData( sendCode );
                _delay_ms( 200 );
                break;
 
        case KEY_F3:
                sendCode++;
-               scan_sendData( 0x90 );
+               //scan_sendData( 0x90 );
+               scan_sendData( sendCode );
+               _delay_ms( 200 );
+               break;
+
+       case KEY_F4:
+               sendCode += 0x10;
+               //scan_sendData( 0x90 );
                scan_sendData( sendCode );
                _delay_ms( 200 );
                break;
 
+       case KEY_F5:
+               // Set 9th bit to 0
+               UCSR1B &= ~(1 << 0);
+               _delay_ms( 200 );
+               break;
+
+       case KEY_F6:
+               // Set 9th bit to 1
+               UCSR1B |=  (1 << 0);
+               _delay_ms( 200 );
+               break;
+
+       case KEY_F11:
+               // Set click code
+               KeyIndex_Add_InputSignal = sendCode;
+               _delay_ms( 200 );
+               break;
+
        default:
                return 0;
        }
@@ -346,10 +371,10 @@ void keyPressBufferRead( uint8_t *modifiers, uint8_t numberOfModifiers, uint8_t
        }
 
        // Signal Macro processor that all of the buffered keys have been processed
-       macro_finishedWithBuffer();
+       macro_finishedWithBuffer( KeyIndex_BufferUsed );
 
        // Signal buffer that we've used it
-       scan_finishedWithBuffer();
+       scan_finishedWithBuffer( KeyIndex_BufferUsed );
 }
 
 inline void process_macros(void)