Browse Source

Merge pull request #120 from jlsalvador/feature-toggle-keyboard-protocol

Adding toggleKbdProtocol capability
blockKey
Jacob Alexander 8 years ago
parent
commit
9a7364b14a
3 changed files with 45 additions and 0 deletions
  1. 1
    0
      Output/pjrcUSB/capabilities.kll
  2. 22
    0
      Output/pjrcUSB/output_com.c
  3. 22
    0
      Output/usbMuxUart/output_com.c

+ 1
- 0
Output/pjrcUSB/capabilities.kll View File

@@ -17,6 +17,7 @@ mouseOut => Output_usbMouse_capability( mouseCode : 2, relative_x : 2, relati
# Configuration capabilities
kbdProtocolBoot => Output_kbdProtocolBoot_capability();
kbdProtocolNKRO => Output_kbdProtocolNKRO_capability();
toggleKbdProtocol => Output_toggleKbdProtocol_capability();

# Locale Settings
keyboardLocale => KeyboardLocale_define;

+ 22
- 0
Output/pjrcUSB/output_com.c View File

@@ -218,6 +218,28 @@ void Output_kbdProtocolNKRO_capability( uint8_t state, uint8_t stateType, uint8_
}


// Toggle Keyboard Protocol
void Output_toggleKbdProtocol_capability( uint8_t state, uint8_t stateType, uint8_t *args )
{
// Display capability name
if ( stateType == 0xFF && state == 0xFF )
{
print("Output_toggleKbdProtocol()");
return;
}

// Only toggle protocol if release state
if ( stateType == 0x00 && state == 0x03 )
{
// Flush the key buffers
Output_flushBuffers();

// Toggle the keyboard protocol Mode
USBKeys_Protocol = !USBKeys_Protocol;
}
}


// Sends a Consumer Control code to the USB Output buffer
void Output_consCtrlSend_capability( uint8_t state, uint8_t stateType, uint8_t *args )
{

+ 22
- 0
Output/usbMuxUart/output_com.c View File

@@ -222,6 +222,28 @@ void Output_kbdProtocolNKRO_capability( uint8_t state, uint8_t stateType, uint8_
}


// Toggle Keyboard Protocol
void Output_toggleKbdProtocol_capability( uint8_t state, uint8_t stateType, uint8_t *args )
{
// Display capability name
if ( stateType == 0xFF && state == 0xFF )
{
print("Output_toggleKbdProtocol()");
return;
}

// Only toggle protocol if release state
if ( stateType == 0x00 && state == 0x03 )
{
// Flush the key buffers
Output_flushBuffers();

// Toggle the keyboard protocol Mode
USBKeys_Protocol = !USBKeys_Protocol;
}
}


// Sends a Consumer Control code to the USB Output buffer
void Output_consCtrlSend_capability( uint8_t state, uint8_t stateType, uint8_t *args )
{