Mercurial > louis > kiibohd-controller
changeset 446:f570ab7c861a
Merge pull request #120 from jlsalvador/feature-toggle-keyboard-protocol
Adding toggleKbdProtocol capability
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Thu, 26 May 2016 11:13:35 -0700 |
parents | a6370d67f460 (current diff) 380e1f0123d0 (diff) |
children | 56237ba5da6f |
files | |
diffstat | 3 files changed, 45 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/Output/pjrcUSB/capabilities.kll Mon May 23 17:19:21 2016 -0700 +++ b/Output/pjrcUSB/capabilities.kll Thu May 26 11:13:35 2016 -0700 @@ -17,6 +17,7 @@ # Configuration capabilities kbdProtocolBoot => Output_kbdProtocolBoot_capability(); kbdProtocolNKRO => Output_kbdProtocolNKRO_capability(); +toggleKbdProtocol => Output_toggleKbdProtocol_capability(); # Locale Settings keyboardLocale => KeyboardLocale_define;
--- a/Output/pjrcUSB/output_com.c Mon May 23 17:19:21 2016 -0700 +++ b/Output/pjrcUSB/output_com.c Thu May 26 11:13:35 2016 -0700 @@ -218,6 +218,28 @@ } +// 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 ) {
--- a/Output/usbMuxUart/output_com.c Mon May 23 17:19:21 2016 -0700 +++ b/Output/usbMuxUart/output_com.c Thu May 26 11:13:35 2016 -0700 @@ -222,6 +222,28 @@ } +// 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 ) {