From: Jacob Alexander Date: Wed, 6 Jul 2016 16:00:57 +0000 (-0700) Subject: Moving defaultMap.kll to scancode_map.kll (less confusing) X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a07ccdd60885b828edf79cf5b63e7982b965b982;p=kiibohd-controller.git Moving defaultMap.kll to scancode_map.kll (less confusing) - Changing default name from defaultMap.kll to scancode_map.kll - Old name of defaultMap.kll will still work (and is the final fallback) - Updated all the main projects to use the new name - Updated BETKB (not entirely finished, but mostly complete) - Added sub-use of interconnect scancode cache for converters - Added infinity_led.bash No behaviour changes, just restructuring. --- diff --git a/Keyboards/ergodox.bash b/Keyboards/ergodox.bash index 85f85a2..1865dce 100755 --- a/Keyboards/ergodox.bash +++ b/Keyboards/ergodox.bash @@ -1,7 +1,7 @@ #!/usr/bin/env bash # This is a build script template # These build scripts are just a convenience for configuring your keyboard (less daunting than CMake) -# Jacob Alexander 2015 +# Jacob Alexander 2015-2016 @@ -18,7 +18,7 @@ BuildPath="ICED-L" ## KLL Configuration ## # Generally shouldn't be changed, this will affect every layer -BaseMap="defaultMap leftHand slave1 rightHand" +BaseMap="scancode_map leftHand slave1 rightHand" # This is the default layer of the keyboard # NOTE: To combine kll files into a single layout, separate them by spaces diff --git a/Keyboards/infinity.bash b/Keyboards/infinity.bash index b790dd5..79cb02a 100755 --- a/Keyboards/infinity.bash +++ b/Keyboards/infinity.bash @@ -1,7 +1,7 @@ #!/usr/bin/env bash # This is a build script template # These build scripts are just a convenience for configuring your keyboard (less daunting than CMake) -# Jacob Alexander 2015 +# Jacob Alexander 2015-2016 @@ -16,7 +16,7 @@ BuildPath="IC60" ## KLL Configuration ## # Generally shouldn't be changed, this will affect every layer -BaseMap="defaultMap" +BaseMap="scancode_map" # This is the default layer of the keyboard # NOTE: To combine kll files into a single layout, separate them by spaces diff --git a/Keyboards/infinity_led.bash b/Keyboards/infinity_led.bash new file mode 100755 index 0000000..c753b2f --- /dev/null +++ b/Keyboards/infinity_led.bash @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +# This is a build script template +# These build scripts are just a convenience for configuring your keyboard (less daunting than CMake) +# Jacob Alexander 2016 + + + +################# +# Configuration # +################# + +# Feel free to change the variables in this section to configure your keyboard + +BuildPath="IC60" + +## KLL Configuration ## + +# Generally shouldn't be changed, this will affect every layer +BaseMap="scancode_map" + +# This is the default layer of the keyboard +# NOTE: To combine kll files into a single layout, separate them by spaces +# e.g. DefaultMap="mylayout mylayoutmod" +DefaultMap="md1Overlay stdFuncMap" + +# This is where you set the additional layers +# NOTE: Indexing starts at 1 +# NOTE: Each new layer is another array entry +# e.g. PartialMaps[1]="layer1 layer1mod" +# PartialMaps[2]="layer2" +# PartialMaps[3]="layer3" +PartialMaps[1]="hhkbpro2" + + + +########################## +# Advanced Configuration # +########################## + +# Don't change the variables in this section unless you know what you're doing +# These are useful for completely custom keyboards +# NOTE: Changing any of these variables will require a force build to compile correctly + +# Keyboard Module Configuration +ScanModule="MD1.1" +MacroModule="PartialMap" +OutputModule="pjrcUSB" +DebugModule="full" + +# Microcontroller +Chip="mk20dx128vlf5" + +# Compiler Selection +Compiler="gcc" + + + +######################## +# Bash Library Include # +######################## + +# Shouldn't need to touch this section + +# Check if the library can be found +if [ ! -f cmake.bash ]; then + echo "ERROR: Cannot find 'cmake.bash'" + exit 1 +fi + +# Load the library +source cmake.bash + diff --git a/Keyboards/template.bash b/Keyboards/template.bash index c522726..acbe954 100755 --- a/Keyboards/template.bash +++ b/Keyboards/template.bash @@ -1,7 +1,7 @@ #!/usr/bin/env bash # This is a build script template # These build scripts are just a convenience for configuring your keyboard (less daunting than CMake) -# Jacob Alexander 2015 +# Jacob Alexander 2015-2016 @@ -16,7 +16,7 @@ BuildPath="template" ## KLL Configuration ## # Generally shouldn't be changed, this will affect every layer -BaseMap="defaultMap" +BaseMap="scancode_map" # This is the default layer of the keyboard # NOTE: To combine kll files into a single layout, separate them by spaces diff --git a/Keyboards/whitefox.bash b/Keyboards/whitefox.bash index 049986a..ea32407 100755 --- a/Keyboards/whitefox.bash +++ b/Keyboards/whitefox.bash @@ -1,7 +1,7 @@ #!/usr/bin/env bash # This is a build script template # These build scripts are just a convenience for configuring your keyboard (less daunting than CMake) -# Jacob Alexander 2015 +# Jacob Alexander 2015-2016 @@ -16,7 +16,7 @@ BuildPath="WhiteFox" ## KLL Configuration ## # Generally shouldn't be changed, this will affect every layer -BaseMap="defaultMap" +BaseMap="scancode_map" # This is the default layer of the keyboard # NOTE: To combine kll files into a single layout, separate them by spaces diff --git a/Lib/CMake/kll.cmake b/Lib/CMake/kll.cmake index 36802e4..aae3d31 100644 --- a/Lib/CMake/kll.cmake +++ b/Lib/CMake/kll.cmake @@ -57,10 +57,15 @@ set ( pathname "${PROJECT_SOURCE_DIR}/${ScanModulePath}" ) string ( REPLACE " " ";" MAP_LIST ${BaseMap} ) # Change spaces to semicolons foreach ( MAP ${MAP_LIST} ) - # Only check the Scan Module for BaseMap .kll files, default to defaultMap.kll + # Only check the Scan Module for BaseMap .kll files, default to scancode_map.kll or defaultMap.kll if ( NOT EXISTS ${pathname}/${MAP}.kll ) - set ( BaseMap_Args ${BaseMap_Args} ${pathname}/defaultMap.kll ) - set ( KLL_DEPENDS ${KLL_DEPENDS} ${pathname}/defaultMap.kll ) + if ( EXISTS ${pathname}/scancode_map.kll ) + set ( BaseMap_Args ${BaseMap_Args} ${pathname}/scancode_map.kll ) + set ( KLL_DEPENDS ${KLL_DEPENDS} ${pathname}/scancode_map.kll ) + else () + set ( BaseMap_Args ${BaseMap_Args} ${pathname}/defaultMap.kll ) + set ( KLL_DEPENDS ${KLL_DEPENDS} ${pathname}/defaultMap.kll ) + endif () elseif ( EXISTS "${pathname}/${MAP}.kll" ) set ( BaseMap_Args ${BaseMap_Args} ${pathname}/${MAP}.kll ) set ( KLL_DEPENDS ${KLL_DEPENDS} ${pathname}/${MAP}.kll ) diff --git a/Macro/PartialMap/macro.c b/Macro/PartialMap/macro.c index cc92442..68eb42a 100644 --- a/Macro/PartialMap/macro.c +++ b/Macro/PartialMap/macro.c @@ -125,7 +125,7 @@ extern index_uint_t macroTriggerMacroPendingList[]; extern index_uint_t macroTriggerMacroPendingListSize; // Interconnect ScanCode Cache -#if defined(ConnectEnabled_define) +#if defined(ConnectEnabled_define) || defined(PressReleaseCache_define) // TODO This can be shrunk by the size of the max node 0 ScanCode TriggerGuide macroInterconnectCache[ MaxScanCode ]; uint8_t macroInterconnectCacheSize = 0; @@ -473,8 +473,8 @@ nat_ptr_t *Macro_layerLookup( TriggerGuide *guide, uint8_t latch_expire ) // Add an interconnect ScanCode // These are handled differently (less information is sent, hold/off states must be assumed) -#if defined(ConnectEnabled_define) -inline void Macro_interconnectAdd( void *trigger_ptr ) +#if defined(ConnectEnabled_define) || defined(PressReleaseCache_define) +void Macro_pressReleaseAdd( void *trigger_ptr ) { TriggerGuide *trigger = (TriggerGuide*)trigger_ptr; @@ -703,9 +703,11 @@ inline void Macro_process() if ( USBKeys_Sent != 0 ) return; +#if defined(ConnectEnabled_define) || defined(PressReleaseCache_define) #if defined(ConnectEnabled_define) // Check if there are any ScanCodes in the interconnect cache to process if ( Connect_master && macroInterconnectCacheSize > 0 ) +#endif { // Iterate over all the cache ScanCodes uint8_t currentInterconnectCacheSize = macroInterconnectCacheSize; diff --git a/Macro/PartialMap/macro.h b/Macro/PartialMap/macro.h index 2df411e..3ad9e4a 100644 --- a/Macro/PartialMap/macro.h +++ b/Macro/PartialMap/macro.h @@ -28,7 +28,7 @@ void Macro_analogState( uint8_t scanCode, uint8_t state ); void Macro_keyState( uint8_t scanCode, uint8_t state ); void Macro_ledState( uint8_t ledCode, uint8_t state ); -void Macro_interconnectAdd( void *trigger ); // triggers is of type TriggerGuide, void* for circular dependencies +void Macro_pressReleaseAdd( void *trigger ); // triggers is of type TriggerGuide, void* for circular dependencies void Macro_process(); void Macro_setup(); diff --git a/Scan/BETKB/scan_loop.c b/Scan/BETKB/scan_loop.c index 9a14594..28ce7ee 100644 --- a/Scan/BETKB/scan_loop.c +++ b/Scan/BETKB/scan_loop.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012,2014 by Jacob Alexander +/* Copyright (C) 2012,2014,2016 by Jacob Alexander * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,10 @@ #include // Project Includes +#include +#include #include +#include #include // Local Includes @@ -45,6 +48,19 @@ +// ----- Enums ----- + +// Keypress States +typedef enum KeyPosition { + KeyState_Off = 0, + KeyState_Press = 1, + KeyState_Hold = 2, + KeyState_Release = 3, + KeyState_Invalid, +} KeyPosition; + + + // ----- Variables ----- // Buffer used to inform the macro processing module which keys have been detected as pressed @@ -68,18 +84,31 @@ void removeKeyValue( uint8_t keyValue ); // ----- Interrupt Functions ----- // USART Receive Buffer Full Interrupt +#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) // AVR ISR(USART1_RX_vect) +#elif defined(_mk20dx128_) || defined(_mk20dx256_) // ARM +void uart0_status_isr() +#endif { cli(); // Disable Interrupts uint8_t keyValue = 0x00; uint8_t keyState = 0x00; +#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) // AVR // Read the scancode packet from the USART (1st to 8th bits) keyValue = UDR1; // Read the release/press bit (9th bit) XXX Unnecessary, and wrong it seems, parity bit? or something else? keyState = UCSR1B & 0x02; +#elif defined(_mk20dx128_) || defined(_mk20dx256_) // ARM + // UART0_S1 must be read for the interrupt to be cleared + if ( UART0_S1 & UART_S1_RDRF ) + { + // Only doing single byte FIFO here + keyValue = UART0_D; + } +#endif // High bit of keyValue, also represents press/release keyState = keyValue & 0x80 ? 0x00 : 0x02; @@ -93,19 +122,21 @@ ISR(USART1_RX_vect) { case 0x00: // Released dPrintStrs( tmpStr, "R " ); // Debug - - // Remove key from press buffer - removeKeyValue( keyValue & 0x7F ); break; case 0x02: // Pressed dPrintStrs( tmpStr, "P " ); // Debug - - // New key to process - processKeyValue( keyValue & 0x7F ); break; } + // Add key event to macro key buffer + TriggerGuide guide = { + .type = 0x00, + .state = keyState == 0x02 ? 0x01 : 0x03, + .scanCode = keyValue & 0x7F, + }; + Macro_pressReleaseAdd( &guide ); + sei(); // Re-enable Interrupts } @@ -114,11 +145,12 @@ ISR(USART1_RX_vect) // ----- Functions ----- // Setup -inline void scan_setup() +inline void Scan_setup() +#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) // AVR { // Setup the the USART interface for keyboard data input // NOTE: The input data signal needs to be inverted for the Teensy USART to properly work - + // Setup baud rate // 16 MHz / ( 16 * Baud ) = UBRR // Baud <- 0.823284 ms per bit, thus 1000 / 0.823284 = 1214.65004 -> 823.2824 @@ -148,122 +180,133 @@ inline void scan_setup() // Reset the keyboard before scanning, we might be in a wierd state scan_resetKeyboard(); } +#elif defined(_mk20dx128_) || defined(_mk20dx256_) // ARM +{ + // Setup the the UART interface for keyboard data input + SIM_SCGC4 |= SIM_SCGC4_UART0; // Disable clock gating + + // Pin Setup for UART0 + PORTB_PCR16 = PORT_PCR_PE | PORT_PCR_PS | PORT_PCR_PFE | PORT_PCR_MUX(3); // RX Pin + PORTB_PCR17 = PORT_PCR_DSE | PORT_PCR_SRE | PORT_PCR_MUX(3); // TX Pin + + // Setup baud rate - 1205 Baud + // 48 MHz / ( 16 * Baud ) = BDH/L + // Baud: 1215 -> 48 MHz / ( 16 * 1215 ) = 2469.1358 + // Thus baud setting = 2469 + // NOTE: If finer baud adjustment is needed see UARTx_C4 -> BRFA in the datasheet + uint16_t baud = 2469; // Max setting of 8191 + UART0_BDH = (uint8_t)(baud >> 8); + UART0_BDL = (uint8_t)baud; + + // 8 bit, Even Parity, Idle Character bit after stop + // NOTE: For 8 bit with Parity you must enable 9 bit transmission (pg. 1065) + // You only need to use UART0_D for 8 bit reading/writing though + // UART_C1_M UART_C1_PE UART_C1_PT UART_C1_ILT + UART0_C1 = UART_C1_M | UART_C1_PE | UART_C1_ILT; + + // Number of bytes in FIFO before TX Interrupt + UART0_TWFIFO = 1; + + // Number of bytes in FIFO before RX Interrupt + UART0_RWFIFO = 1; + + // TX FIFO Disabled, TX FIFO Size 1 (Max 8 datawords), RX FIFO Enabled, RX FIFO Size 1 (Max 8 datawords) + // TX/RX FIFO Size: + // 0x0 - 1 dataword + // 0x1 - 4 dataword + // 0x2 - 8 dataword + //UART0_PFIFO = UART_PFIFO_TXFE | /*TXFIFOSIZE*/ (0x0 << 4) | UART_PFIFO_RXFE | /*RXFIFOSIZE*/ (0x0); + + // Reciever Inversion Disabled, LSBF + // UART_S2_RXINV UART_S2_MSBF + UART0_S2 |= 0x00; + + // Transmit Inversion Disabled + // UART_C3_TXINV + UART0_C3 |= 0x00; + + // TX Disabled, RX Enabled, RX Interrupt Enabled + // UART_C2_TE UART_C2_RE UART_C2_RIE + UART0_C2 = UART_C2_RE | UART_C2_RIE | UART_C2_TE; + + // Add interrupt to the vector table + NVIC_ENABLE_IRQ( IRQ_UART0_STATUS ); + + // Reset the keyboard before scanning, we might be in a wierd state + Scan_resetKeyboard(); +} +#endif // Main Detection Loop // Not needed for the BETKB, this is just a busy loop -inline uint8_t scan_loop() +inline uint8_t Scan_loop() { return 0; } -void processKeyValue( uint8_t keyValue ) -{ - // Interpret scan code - switch ( keyValue ) - { - case 0x00: // Break code from input? - break; - default: - // Make sure the key isn't already in the buffer - for ( uint8_t c = 0; c < KeyIndex_BufferUsed + 1; c++ ) - { - // Key isn't in the buffer yet - if ( c == KeyIndex_BufferUsed ) - { - Macro_bufferAdd( keyValue ); - - // Only send data if enabled - if ( KeyIndex_Add_InputSignal ) - scan_sendData( KeyIndex_Add_InputSignal ); - break; - } - - // Key already in the buffer - if ( KeyIndex_Buffer[c] == keyValue ) - break; - } - break; - } -} - -void removeKeyValue( uint8_t keyValue ) -{ - // Check for the released key, and shift the other keys lower on the buffer - uint8_t c; - for ( c = 0; c < KeyIndex_BufferUsed; c++ ) - { - // Key to release found - if ( KeyIndex_Buffer[c] == keyValue ) - { - // Shift keys from c position - for ( uint8_t k = c; k < KeyIndex_BufferUsed - 1; k++ ) - KeyIndex_Buffer[k] = KeyIndex_Buffer[k + 1]; - - // Decrement Buffer - KeyIndex_BufferUsed--; - - break; - } - } - - // Error case (no key to release) - if ( c == KeyIndex_BufferUsed + 1 ) - { - errorLED( 1 ); - char tmpStr[6]; - hexToStr( keyValue, tmpStr ); - erro_dPrint( "Could not find key to release: ", tmpStr ); - } -} - // Send data uint8_t scan_sendData( uint8_t dataPayload ) { +#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) // AVR // Enable the USART Transmitter UCSR1B |= (1 << 3); +#elif defined(_mk20dx128_) || defined(_mk20dx256_) // ARM +#endif // Debug char tmpStr[6]; hexToStr( dataPayload, tmpStr ); info_dPrint( "Sending - ", tmpStr ); +#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) // AVR UDR1 = dataPayload; +#elif defined(_mk20dx128_) || defined(_mk20dx256_) // ARM + UART0_D = dataPayload; +#endif // Wait for the payload _delay_us( 800 ); +#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) // AVR // Disable the USART Transmitter UCSR1B &= ~(1 << 3); +#elif defined(_mk20dx128_) || defined(_mk20dx256_) // ARM +#endif return 0; } // Signal KeyIndex_Buffer that it has been properly read -void Scan_finishedWithBuffer( uint8_t sentKeys ) +void Scan_finishedWithMacro( uint8_t sentKeys ) { } // Signal that the keys have been properly sent over USB -void Scan_finishedWithUSBBuffer( uint8_t sentKeys ) +void Scan_finishedWithOutput( uint8_t sentKeys ) { } // Reset/Hold keyboard // NOTE: Does nothing with the BETKB -void scan_lockKeyboard( void ) +void Scan_lockKeyboard() { } // NOTE: Does nothing with the BETKB -void scan_unlockKeyboard( void ) +void Scan_unlockKeyboard() { } // Reset Keyboard -void scan_resetKeyboard( void ) +void Scan_resetKeyboard() { // Not a calculated valued... _delay_ms( 50 ); } +// NOTE: Does nothing with the BETKB +void Scan_currentChange( unsigned int current ) +{ +} + diff --git a/Scan/BETKB/scan_loop.h b/Scan/BETKB/scan_loop.h index fd5bfdc..325d3cb 100644 --- a/Scan/BETKB/scan_loop.h +++ b/Scan/BETKB/scan_loop.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2012,2014-2015 by Jacob Alexander +/* Copyright (C) 2012,2014-2016 by Jacob Alexander * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -48,16 +48,17 @@ extern volatile uint8_t KeyIndex_Add_InputSignal; // ----- Functions ----- // Functions used by main.c -void Scan_setup( void ); -uint8_t Scan_loop( void ); +void Scan_setup(); +uint8_t Scan_loop(); // Functions available to macro.c uint8_t Scan_sendData( uint8_t dataPayload ); -void Scan_finishedWithBuffer( uint8_t sentKeys ); -void Scan_finishedWithUSBBuffer( uint8_t sentKeys ); -void Scan_lockKeyboard( void ); -void Scan_unlockKeyboard( void ); -void Scan_resetKeyboard( void ); +void Scan_finishedWithMacro( uint8_t sentKeys ); +void Scan_finishedWithOutput( uint8_t sentKeys ); +void Scan_lockKeyboard(); +void Scan_unlockKeyboard(); +void Scan_resetKeyboard(); +void Scan_currentChange( unsigned int current ); diff --git a/Scan/BETKB/scancode_map.kll b/Scan/BETKB/scancode_map.kll new file mode 100644 index 0000000..a497d7b --- /dev/null +++ b/Scan/BETKB/scancode_map.kll @@ -0,0 +1,99 @@ +Name = BETKB; +Version = 0.1; +Author = "HaaTa (Jacob Alexander) 2016"; +KLL = 0.3d; + +# Modified Date +Date = 2016-07-06; + +# Options + +# Press/Release Cache +PressReleaseCache => PressReleaseCache_define; +PressReleaseCache = 1; + +# TODO - Not finished +S0x08 : U"Backspace"; +S0x09 : U"Tab"; + +S0x1B : U"Esc"; + +S0x20 : U"Space"; + +S0x27 : U"Quote"; + +S0x2C : U"Comma"; +S0x2D : U"Minus"; +S0x2E : U"Period"; +S0x2F : U"Slash"; +S0x30 : U"0"; +S0x31 : U"1"; +S0x32 : U"2"; +S0x33 : U"3"; +S0x34 : U"4"; +S0x35 : U"5"; +S0x36 : U"6"; +S0x37 : U"7"; +S0x38 : U"8"; +S0x39 : U"9"; +S0x3B : U"Semicolon"; +S0x3D : U"Equal"; +S0x5B : U"LBracket"; +S0x5C : U"Backslash"; +S0x5D : U"RBracket"; + +S0x60 : U"Backtick"; +S0x61 : U"A"; +S0x62 : U"B"; +S0x63 : U"C"; +S0x64 : U"D"; +S0x65 : U"E"; +S0x66 : U"F"; +S0x67 : U"G"; +S0x68 : U"H"; +S0x69 : U"I"; +S0x6A : U"J"; +S0x6B : U"K"; +S0x6C : U"L"; +S0x6D : U"M"; +S0x6E : U"N"; +S0x6F : U"O"; +S0x70 : U"P"; +S0x71 : U"Q"; +S0x72 : U"R"; +S0x73 : U"S"; +S0x74 : U"T"; +S0x75 : U"U"; +S0x76 : U"V"; +S0x77 : U"W"; +S0x78 : U"X"; +S0x79 : U"Y"; +S0x7A : U"Z"; + +S0x7F : U"Delete"; + +S0xB1 : U"P0"; +S0xB2 : U"P."; + +S0xC0 : U"P1"; +S0xC1 : U"P2"; +S0xC2 : U"P3"; +S0xC3 : U"PEnter"; + +S0xD0 : U"P4"; +S0xD1 : U"P5"; +S0xD2 : U"P6"; +S0xD3 : U"P,"; + +S0xE1 : U"P7"; +S0xE2 : U"P8"; +S0xE3 : U"P9"; +S0xE4 : U"P-"; + +S0xF1 : U"Up"; +S0xF2 : U"Down"; +S0xF3 : U"Left"; +S0xF4 : U"Right"; +S0xF5 : U"LShift"; +S0xF6 : U"Ctrl"; + diff --git a/Scan/BETKB/setup.cmake b/Scan/BETKB/setup.cmake index ffac8aa..447c6b8 100644 --- a/Scan/BETKB/setup.cmake +++ b/Scan/BETKB/setup.cmake @@ -1,6 +1,6 @@ ###| CMake Kiibohd Controller Scan Module |### # -# Written by Jacob Alexander in 2011,2014 for the Kiibohd Controller +# Written by Jacob Alexander in 2011,2014,2016 for the Kiibohd Controller # # Released into the Public Domain # @@ -13,7 +13,7 @@ # Module C files # -set( SCAN_SRCS +set( Module_SRCS scan_loop.c ) @@ -26,7 +26,8 @@ set( SCAN_SRCS ### # Compiler Family Compatibility # -set( ScanModuleCompatibility +set( ModuleCompatibility + arm avr ) diff --git a/Scan/MD1.1/defaultMap.kll b/Scan/MD1.1/defaultMap.kll deleted file mode 100644 index f60a4ed..0000000 --- a/Scan/MD1.1/defaultMap.kll +++ /dev/null @@ -1,134 +0,0 @@ -Name = MD1.1; -Version = 0.3d; -Author = "HaaTa (Jacob Alexander) 2014-2016"; -KLL = 0.3c; - -# Modified Date -Date = 2016-02-06; - - -S0x00 : U"Esc"; -S0x01 : U"1"; -S0x02 : U"2"; -S0x03 : U"3"; -S0x04 : U"4"; -S0x05 : U"5"; -S0x06 : U"6"; -S0x07 : U"7"; -S0x08 : U"8"; -S0x09 : U"9"; -S0x0A : U"0"; -S0x0B : U"Minus"; -S0x0C : U"Equal"; -S0x0D : U"Backslash"; -S0x0E : U"Backtick"; -S0x0F : U"Tab"; -S0x10 : U"Q"; -S0x11 : U"W"; -S0x12 : U"E"; -S0x13 : U"R"; -S0x14 : U"T"; -S0x15 : U"Y"; -S0x16 : U"U"; -S0x17 : U"I"; -S0x18 : U"O"; -S0x19 : U"P"; -S0x1A : U"LBrace"; -S0x1B : U"RBrace"; -S0x1C : U"Backspace"; -S0x1D : U"Ctrl"; -S0x1E : U"A"; -S0x1F : U"S"; -S0x20 : U"D"; -S0x21 : U"F"; -S0x22 : U"G"; -S0x23 : U"H"; -S0x24 : U"J"; -S0x25 : U"K"; -S0x26 : U"L"; -S0x27 : U"Semicolon"; -S0x28 : U"Quote"; -S0x29 : U"Enter"; -S0x2A : U"LShift"; -S0x2B : U"Z"; -S0x2C : U"X"; -S0x2D : U"C"; -S0x2E : U"V"; -S0x2F : U"B"; -S0x30 : U"N"; -S0x31 : U"M"; -S0x32 : U"Comma"; -S0x33 : U"Period"; -S0x34 : U"Slash"; -S0x35 : U"RShift"; -S0x36 : U"Function1"; # Fun key -S0x37 : U"Function2"; # Left Blank Key -S0x38 : U"LAlt"; -S0x39 : U"LGui"; -S0x3A : U"Space"; -S0x3B : U"RGui"; -S0x3C : U"RAlt"; -S0x3D : U"Function3"; # Right Blank Key 1 -S0x3E : U"Function4"; # Right Blank Key 2 - - -# Custom Action Examples - -# Example capability, prints to cli -action1 => CustomAction_action1_capability(); # No arguments - -# Blocks given USB Code, must be used with blockLink -# Simple example, supports only blocking a single key at a time -# Keys must be specified using numbers see Macro/PartialMap/usb_hid.h -blockHold => CustomAction_blockHold_capability( usbCode : 1 ); # Single 8-bit argument -blockKey => CustomAction_blockKey_capability( usbCode : 1 ); - - - -# Defines available to the MD1_1 Scan Module - -# LED Default Enable Mask Override -# -# Each LED is represented by a single bit -# See (http://www.issi.com/WW/pdf/31FL3731C.pdf) for details -ISSILedMask1 = " - 0xFF, 0x00, /* C1-1 -> C1-16 */ - 0xFF, 0x00, /* C2-1 -> C2-16 */ - 0xFF, 0x00, /* C3-1 -> C3-16 */ - 0xFF, 0x00, /* C4-1 -> C4-16 */ - 0xFF, 0x00, /* C5-1 -> C5-16 */ - 0xFF, 0x00, /* C6-1 -> C6-16 */ - 0xFF, 0x00, /* C7-1 -> C7-16 */ - 0x7F, 0x00, /* C8-1 -> C8-16 */ - 0x00, 0x00, /* C9-1 -> C9-16 */ -"; - -# LED Brightness Override -# -# Each LED channel supports 256 levels (8-bit control) -# By default, LEDs are set to 0 brightness -#ISSILedBrightness1 = " -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ -#"; - -# Full brightness example -ISSILedBrightness1 = " -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ -"; - diff --git a/Scan/MD1.1/scancode_map.kll b/Scan/MD1.1/scancode_map.kll new file mode 100644 index 0000000..f60a4ed --- /dev/null +++ b/Scan/MD1.1/scancode_map.kll @@ -0,0 +1,134 @@ +Name = MD1.1; +Version = 0.3d; +Author = "HaaTa (Jacob Alexander) 2014-2016"; +KLL = 0.3c; + +# Modified Date +Date = 2016-02-06; + + +S0x00 : U"Esc"; +S0x01 : U"1"; +S0x02 : U"2"; +S0x03 : U"3"; +S0x04 : U"4"; +S0x05 : U"5"; +S0x06 : U"6"; +S0x07 : U"7"; +S0x08 : U"8"; +S0x09 : U"9"; +S0x0A : U"0"; +S0x0B : U"Minus"; +S0x0C : U"Equal"; +S0x0D : U"Backslash"; +S0x0E : U"Backtick"; +S0x0F : U"Tab"; +S0x10 : U"Q"; +S0x11 : U"W"; +S0x12 : U"E"; +S0x13 : U"R"; +S0x14 : U"T"; +S0x15 : U"Y"; +S0x16 : U"U"; +S0x17 : U"I"; +S0x18 : U"O"; +S0x19 : U"P"; +S0x1A : U"LBrace"; +S0x1B : U"RBrace"; +S0x1C : U"Backspace"; +S0x1D : U"Ctrl"; +S0x1E : U"A"; +S0x1F : U"S"; +S0x20 : U"D"; +S0x21 : U"F"; +S0x22 : U"G"; +S0x23 : U"H"; +S0x24 : U"J"; +S0x25 : U"K"; +S0x26 : U"L"; +S0x27 : U"Semicolon"; +S0x28 : U"Quote"; +S0x29 : U"Enter"; +S0x2A : U"LShift"; +S0x2B : U"Z"; +S0x2C : U"X"; +S0x2D : U"C"; +S0x2E : U"V"; +S0x2F : U"B"; +S0x30 : U"N"; +S0x31 : U"M"; +S0x32 : U"Comma"; +S0x33 : U"Period"; +S0x34 : U"Slash"; +S0x35 : U"RShift"; +S0x36 : U"Function1"; # Fun key +S0x37 : U"Function2"; # Left Blank Key +S0x38 : U"LAlt"; +S0x39 : U"LGui"; +S0x3A : U"Space"; +S0x3B : U"RGui"; +S0x3C : U"RAlt"; +S0x3D : U"Function3"; # Right Blank Key 1 +S0x3E : U"Function4"; # Right Blank Key 2 + + +# Custom Action Examples + +# Example capability, prints to cli +action1 => CustomAction_action1_capability(); # No arguments + +# Blocks given USB Code, must be used with blockLink +# Simple example, supports only blocking a single key at a time +# Keys must be specified using numbers see Macro/PartialMap/usb_hid.h +blockHold => CustomAction_blockHold_capability( usbCode : 1 ); # Single 8-bit argument +blockKey => CustomAction_blockKey_capability( usbCode : 1 ); + + + +# Defines available to the MD1_1 Scan Module + +# LED Default Enable Mask Override +# +# Each LED is represented by a single bit +# See (http://www.issi.com/WW/pdf/31FL3731C.pdf) for details +ISSILedMask1 = " + 0xFF, 0x00, /* C1-1 -> C1-16 */ + 0xFF, 0x00, /* C2-1 -> C2-16 */ + 0xFF, 0x00, /* C3-1 -> C3-16 */ + 0xFF, 0x00, /* C4-1 -> C4-16 */ + 0xFF, 0x00, /* C5-1 -> C5-16 */ + 0xFF, 0x00, /* C6-1 -> C6-16 */ + 0xFF, 0x00, /* C7-1 -> C7-16 */ + 0x7F, 0x00, /* C8-1 -> C8-16 */ + 0x00, 0x00, /* C9-1 -> C9-16 */ +"; + +# LED Brightness Override +# +# Each LED channel supports 256 levels (8-bit control) +# By default, LEDs are set to 0 brightness +#ISSILedBrightness1 = " +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ +#"; + +# Full brightness example +ISSILedBrightness1 = " +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ +"; + diff --git a/Scan/MD1/defaultMap.kll b/Scan/MD1/defaultMap.kll deleted file mode 100644 index b2eb8e5..0000000 --- a/Scan/MD1/defaultMap.kll +++ /dev/null @@ -1,85 +0,0 @@ -Name = MD1; -Version = 0.3; -Author = "HaaTa (Jacob Alexander) 2014-2015"; -KLL = 0.3c; - -# Modified Date -Date = 2015-08-16; - - -S0x00 : U"Esc"; -S0x01 : U"1"; -S0x02 : U"2"; -S0x03 : U"3"; -S0x04 : U"4"; -S0x05 : U"5"; -S0x06 : U"6"; -S0x07 : U"7"; -S0x08 : U"8"; -S0x09 : U"9"; -S0x0A : U"0"; -S0x0B : U"Minus"; -S0x0C : U"Equal"; -S0x0D : U"Backslash"; -S0x0E : U"Backtick"; -S0x0F : U"Tab"; -S0x10 : U"Q"; -S0x11 : U"W"; -S0x12 : U"E"; -S0x13 : U"R"; -S0x14 : U"T"; -S0x15 : U"Y"; -S0x16 : U"U"; -S0x17 : U"I"; -S0x18 : U"O"; -S0x19 : U"P"; -S0x1A : U"LBrace"; -S0x1B : U"RBrace"; -S0x1C : U"Backspace"; -S0x1D : U"Ctrl"; -S0x1E : U"A"; -S0x1F : U"S"; -S0x20 : U"D"; -S0x21 : U"F"; -S0x22 : U"G"; -S0x23 : U"H"; -S0x24 : U"J"; -S0x25 : U"K"; -S0x26 : U"L"; -S0x27 : U"Semicolon"; -S0x28 : U"Quote"; -S0x29 : U"Enter"; -S0x2A : U"LShift"; -S0x2B : U"Z"; -S0x2C : U"X"; -S0x2D : U"C"; -S0x2E : U"V"; -S0x2F : U"B"; -S0x30 : U"N"; -S0x31 : U"M"; -S0x32 : U"Comma"; -S0x33 : U"Period"; -S0x34 : U"Slash"; -S0x35 : U"RShift"; -S0x36 : U"Function1"; # Fun key -S0x37 : U"Function2"; # Left Blank Key -S0x38 : U"LAlt"; -S0x39 : U"LGui"; -S0x3A : U"Space"; -S0x3B : U"RGui"; -S0x3C : U"RAlt"; -S0x3D : U"Function3"; # Right Blank Key 1 -S0x3E : U"Function4"; # Right Blank Key 2 - - -# Custom Action Examples - -# Example capability, prints to cli -action1 => CustomAction_action1_capability(); # No arguments - -# Blocks given USB Code, must be used with blockLink -# Simple example, supports only blocking a single key at a time -# Keys must be specified using numbers see Macro/PartialMap/usb_hid.h -blockHold => CustomAction_blockHold_capability( usbCode : 1 ); # Single 8-bit argument -blockKey => CustomAction_blockKey_capability( usbCode : 1 ); - diff --git a/Scan/MD1/scancode_map.kll b/Scan/MD1/scancode_map.kll new file mode 100644 index 0000000..b2eb8e5 --- /dev/null +++ b/Scan/MD1/scancode_map.kll @@ -0,0 +1,85 @@ +Name = MD1; +Version = 0.3; +Author = "HaaTa (Jacob Alexander) 2014-2015"; +KLL = 0.3c; + +# Modified Date +Date = 2015-08-16; + + +S0x00 : U"Esc"; +S0x01 : U"1"; +S0x02 : U"2"; +S0x03 : U"3"; +S0x04 : U"4"; +S0x05 : U"5"; +S0x06 : U"6"; +S0x07 : U"7"; +S0x08 : U"8"; +S0x09 : U"9"; +S0x0A : U"0"; +S0x0B : U"Minus"; +S0x0C : U"Equal"; +S0x0D : U"Backslash"; +S0x0E : U"Backtick"; +S0x0F : U"Tab"; +S0x10 : U"Q"; +S0x11 : U"W"; +S0x12 : U"E"; +S0x13 : U"R"; +S0x14 : U"T"; +S0x15 : U"Y"; +S0x16 : U"U"; +S0x17 : U"I"; +S0x18 : U"O"; +S0x19 : U"P"; +S0x1A : U"LBrace"; +S0x1B : U"RBrace"; +S0x1C : U"Backspace"; +S0x1D : U"Ctrl"; +S0x1E : U"A"; +S0x1F : U"S"; +S0x20 : U"D"; +S0x21 : U"F"; +S0x22 : U"G"; +S0x23 : U"H"; +S0x24 : U"J"; +S0x25 : U"K"; +S0x26 : U"L"; +S0x27 : U"Semicolon"; +S0x28 : U"Quote"; +S0x29 : U"Enter"; +S0x2A : U"LShift"; +S0x2B : U"Z"; +S0x2C : U"X"; +S0x2D : U"C"; +S0x2E : U"V"; +S0x2F : U"B"; +S0x30 : U"N"; +S0x31 : U"M"; +S0x32 : U"Comma"; +S0x33 : U"Period"; +S0x34 : U"Slash"; +S0x35 : U"RShift"; +S0x36 : U"Function1"; # Fun key +S0x37 : U"Function2"; # Left Blank Key +S0x38 : U"LAlt"; +S0x39 : U"LGui"; +S0x3A : U"Space"; +S0x3B : U"RGui"; +S0x3C : U"RAlt"; +S0x3D : U"Function3"; # Right Blank Key 1 +S0x3E : U"Function4"; # Right Blank Key 2 + + +# Custom Action Examples + +# Example capability, prints to cli +action1 => CustomAction_action1_capability(); # No arguments + +# Blocks given USB Code, must be used with blockLink +# Simple example, supports only blocking a single key at a time +# Keys must be specified using numbers see Macro/PartialMap/usb_hid.h +blockHold => CustomAction_blockHold_capability( usbCode : 1 ); # Single 8-bit argument +blockKey => CustomAction_blockKey_capability( usbCode : 1 ); + diff --git a/Scan/MDErgo1/defaultMap.kll b/Scan/MDErgo1/defaultMap.kll deleted file mode 100644 index 1f96cb5..0000000 --- a/Scan/MDErgo1/defaultMap.kll +++ /dev/null @@ -1,83 +0,0 @@ -Name = MDErgo1; -Version = 0.2; -Author = "HaaTa (Jacob Alexander) 2014-2015"; -KLL = 0.3c; - -# Modified Date -Date = 2015-08-15; - -######## -# NOTE # -######## - -# Default ScanCode mappings are in rightHand.kll and leftHand.kll -# To change which node you are refering to, set the ConnectId variable -# i.e. -# ConnectId = 0; -# S0x02 : U"A"; # Sets scan code 0x02 on keyboard connected to USB -# ConnectId = 1; -# S0x02 : U"B"; # Sets scan code 0x02 on the first slave node -# -# ConnectId may be set in the previously parsed kll file -# In general you shouldn't have to worry about setting ConnectId unless you want a single configuration file - - -# -# Defines available to the MDErgo1 Scan Module -# - -# LED Default Enable Mask Override -# -# Each LED is represented by a single bit -# See (http://www.issi.com/WW/pdf/31FL3731C.pdf) for details -ISSILedMask1 = " - 0xFF, 0x00, /* C1-1 -> C1-16 */ - 0xFF, 0x00, /* C2-1 -> C2-16 */ - 0xFF, 0x00, /* C3-1 -> C3-16 */ - 0xFF, 0x00, /* C4-1 -> C4-16 */ - 0x3F, 0x00, /* C5-1 -> C5-16 */ - 0x00, 0x00, /* C6-1 -> C6-16 */ - 0x00, 0x00, /* C7-1 -> C7-16 */ - 0x00, 0x00, /* C8-1 -> C8-16 */ - 0x00, 0x00, /* C9-1 -> C9-16 */ -"; - -# LED Brightness Override -# -# Each LED channel supports 256 levels (8-bit control) -ISSILedBrightness1 = " -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ -"; - -# LCD Backlight Channel Brightness Override -# There are 3 channels, RGB -# In order to get other colors you must mix the 3 colors -# Each channel is a 16-bit register (65536 levels) -# Technically, this means, the backlight is a 48-bit RGB pixel -# In practice, it may be difficult to get color consistency at times if too bright or too dim -# -# Defaults to 6% brightness, white -STLcdBacklightRed = 0x0FFF; -STLcdBacklightGreen = 0x0FFF; -STLcdBacklightBlue = 0x0FFF; - -# LCD Image Override -# -# The easiest way to generate this data is using the bitmap2Struct.py script in the STLcd folder -# It will output the necessary uint8_t array to set here -# -STLcdDefaultImage = " -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -"; - diff --git a/Scan/MDErgo1/scancode_map.kll b/Scan/MDErgo1/scancode_map.kll new file mode 100644 index 0000000..1f96cb5 --- /dev/null +++ b/Scan/MDErgo1/scancode_map.kll @@ -0,0 +1,83 @@ +Name = MDErgo1; +Version = 0.2; +Author = "HaaTa (Jacob Alexander) 2014-2015"; +KLL = 0.3c; + +# Modified Date +Date = 2015-08-15; + +######## +# NOTE # +######## + +# Default ScanCode mappings are in rightHand.kll and leftHand.kll +# To change which node you are refering to, set the ConnectId variable +# i.e. +# ConnectId = 0; +# S0x02 : U"A"; # Sets scan code 0x02 on keyboard connected to USB +# ConnectId = 1; +# S0x02 : U"B"; # Sets scan code 0x02 on the first slave node +# +# ConnectId may be set in the previously parsed kll file +# In general you shouldn't have to worry about setting ConnectId unless you want a single configuration file + + +# +# Defines available to the MDErgo1 Scan Module +# + +# LED Default Enable Mask Override +# +# Each LED is represented by a single bit +# See (http://www.issi.com/WW/pdf/31FL3731C.pdf) for details +ISSILedMask1 = " + 0xFF, 0x00, /* C1-1 -> C1-16 */ + 0xFF, 0x00, /* C2-1 -> C2-16 */ + 0xFF, 0x00, /* C3-1 -> C3-16 */ + 0xFF, 0x00, /* C4-1 -> C4-16 */ + 0x3F, 0x00, /* C5-1 -> C5-16 */ + 0x00, 0x00, /* C6-1 -> C6-16 */ + 0x00, 0x00, /* C7-1 -> C7-16 */ + 0x00, 0x00, /* C8-1 -> C8-16 */ + 0x00, 0x00, /* C9-1 -> C9-16 */ +"; + +# LED Brightness Override +# +# Each LED channel supports 256 levels (8-bit control) +ISSILedBrightness1 = " +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ +"; + +# LCD Backlight Channel Brightness Override +# There are 3 channels, RGB +# In order to get other colors you must mix the 3 colors +# Each channel is a 16-bit register (65536 levels) +# Technically, this means, the backlight is a 48-bit RGB pixel +# In practice, it may be difficult to get color consistency at times if too bright or too dim +# +# Defaults to 6% brightness, white +STLcdBacklightRed = 0x0FFF; +STLcdBacklightGreen = 0x0FFF; +STLcdBacklightBlue = 0x0FFF; + +# LCD Image Override +# +# The easiest way to generate this data is using the bitmap2Struct.py script in the STLcd folder +# It will output the necessary uint8_t array to set here +# +STLcdDefaultImage = " +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +"; + diff --git a/Scan/UARTConnect/connect_scan.c b/Scan/UARTConnect/connect_scan.c index 0365e5b..8f6d20a 100644 --- a/Scan/UARTConnect/connect_scan.c +++ b/Scan/UARTConnect/connect_scan.c @@ -688,7 +688,7 @@ uint8_t Connect_receive_ScanCode( uint8_t byte, uint16_t *pending_bytes, uint8_t } // Send ScanCode to macro module - Macro_interconnectAdd( &Connect_receive_ScanCodeBuffer ); + Macro_pressReleaseAdd( &Connect_receive_ScanCodeBuffer ); } break; diff --git a/Scan/WhiteFox/defaultMap.kll b/Scan/WhiteFox/defaultMap.kll deleted file mode 100644 index 037319b..0000000 --- a/Scan/WhiteFox/defaultMap.kll +++ /dev/null @@ -1,129 +0,0 @@ -Name = WhiteFox; -Version = 0.2; -Author = "HaaTa (Jacob Alexander) 2015"; -KLL = 0.3c; - -# Modified Date -Date = 2015-08-16; - - -S0x00 : U"Esc"; -S0x01 : U"1"; -S0x02 : U"2"; -S0x03 : U"3"; -S0x04 : U"4"; -S0x05 : U"5"; -S0x06 : U"6"; -S0x07 : U"7"; -S0x08 : U"8"; -S0x09 : U"9"; -S0x0A : U"0"; -S0x0B : U"Minus"; -S0x0C : U"Equal"; -S0x0D : U"Hash"; -S0x0E : U"Backspace"; -S0x0F : U"BackTick"; -S0x10 : U"Tab"; -S0x11 : U"Q"; -S0x12 : U"W"; -S0x13 : U"E"; -S0x14 : U"R"; -S0x15 : U"T"; -S0x16 : U"Y"; -S0x17 : U"U"; -S0x18 : U"I"; -S0x19 : U"O"; -S0x1A : U"P"; -S0x1B : U"LBrace"; -S0x1C : U"RBrace"; -S0x1D : U"Backslash"; -S0x1E : U"Delete"; -S0x1F : U"CapsLock"; -S0x20 : U"A"; -S0x21 : U"S"; -S0x22 : U"D"; -S0x23 : U"F"; -S0x24 : U"G"; -S0x25 : U"H"; -S0x26 : U"J"; -S0x27 : U"K"; -S0x28 : U"L"; -S0x29 : U"Semicolon"; -S0x2A : U"Quote"; -S0x2B : U"App"; -S0x2C : U"Enter"; -S0x2D : U"PageUp"; -S0x2E : U"LShift"; -S0x2F : U"ISO/"; -S0x30 : U"Z"; -S0x31 : U"X"; -S0x32 : U"C"; -S0x33 : U"V"; -S0x34 : U"B"; -S0x35 : U"N"; -S0x36 : U"M"; -S0x37 : U"Comma"; -S0x38 : U"Period"; -S0x39 : U"Slash"; -S0x3A : U"RShift"; -S0x3B : U"Up"; -S0x3C : U"PageDown"; -S0x3D : U"Ctrl"; -S0x3E : U"Function1"; -S0x3F : U"LAlt"; -S0x40 : U"Space"; -S0x41 : U"RAlt"; -S0x42 : U"Gui"; -S0x43 : U"Menu"; -S0x44 : U"Left"; -S0x45 : U"Down"; -S0x46 : U"Right"; - - -# Defines available to the WhiteFox Scan Module - -# LED Default Enable Mask Override -# -# Each LED is represented by a single bit -# See (http://www.issi.com/WW/pdf/31FL3731C.pdf) for details -ISSILedMask1 = " - 0xFF, 0x00, /* C1-1 -> C1-16 */ - 0xFF, 0x00, /* C2-1 -> C2-16 */ - 0xFF, 0x00, /* C3-1 -> C3-16 */ - 0xFF, 0x00, /* C4-1 -> C4-16 */ - 0xFF, 0x00, /* C5-1 -> C5-16 */ - 0xFF, 0x00, /* C6-1 -> C6-16 */ - 0xFF, 0x00, /* C7-1 -> C7-16 */ - 0xFF, 0x00, /* C8-1 -> C8-16 */ - 0xFF, 0x00, /* C9-1 -> C9-16 */ -"; - -# LED Brightness Override -# -# Each LED channel supports 256 levels (8-bit control) -# By default, LEDs are set to 0 brightness -#ISSILedBrightness1 = " -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ -#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ -#"; - -# Full brightness example -ISSILedBrightness1 = " -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ -"; - diff --git a/Scan/WhiteFox/scancode_map.kll b/Scan/WhiteFox/scancode_map.kll new file mode 100644 index 0000000..037319b --- /dev/null +++ b/Scan/WhiteFox/scancode_map.kll @@ -0,0 +1,129 @@ +Name = WhiteFox; +Version = 0.2; +Author = "HaaTa (Jacob Alexander) 2015"; +KLL = 0.3c; + +# Modified Date +Date = 2015-08-16; + + +S0x00 : U"Esc"; +S0x01 : U"1"; +S0x02 : U"2"; +S0x03 : U"3"; +S0x04 : U"4"; +S0x05 : U"5"; +S0x06 : U"6"; +S0x07 : U"7"; +S0x08 : U"8"; +S0x09 : U"9"; +S0x0A : U"0"; +S0x0B : U"Minus"; +S0x0C : U"Equal"; +S0x0D : U"Hash"; +S0x0E : U"Backspace"; +S0x0F : U"BackTick"; +S0x10 : U"Tab"; +S0x11 : U"Q"; +S0x12 : U"W"; +S0x13 : U"E"; +S0x14 : U"R"; +S0x15 : U"T"; +S0x16 : U"Y"; +S0x17 : U"U"; +S0x18 : U"I"; +S0x19 : U"O"; +S0x1A : U"P"; +S0x1B : U"LBrace"; +S0x1C : U"RBrace"; +S0x1D : U"Backslash"; +S0x1E : U"Delete"; +S0x1F : U"CapsLock"; +S0x20 : U"A"; +S0x21 : U"S"; +S0x22 : U"D"; +S0x23 : U"F"; +S0x24 : U"G"; +S0x25 : U"H"; +S0x26 : U"J"; +S0x27 : U"K"; +S0x28 : U"L"; +S0x29 : U"Semicolon"; +S0x2A : U"Quote"; +S0x2B : U"App"; +S0x2C : U"Enter"; +S0x2D : U"PageUp"; +S0x2E : U"LShift"; +S0x2F : U"ISO/"; +S0x30 : U"Z"; +S0x31 : U"X"; +S0x32 : U"C"; +S0x33 : U"V"; +S0x34 : U"B"; +S0x35 : U"N"; +S0x36 : U"M"; +S0x37 : U"Comma"; +S0x38 : U"Period"; +S0x39 : U"Slash"; +S0x3A : U"RShift"; +S0x3B : U"Up"; +S0x3C : U"PageDown"; +S0x3D : U"Ctrl"; +S0x3E : U"Function1"; +S0x3F : U"LAlt"; +S0x40 : U"Space"; +S0x41 : U"RAlt"; +S0x42 : U"Gui"; +S0x43 : U"Menu"; +S0x44 : U"Left"; +S0x45 : U"Down"; +S0x46 : U"Right"; + + +# Defines available to the WhiteFox Scan Module + +# LED Default Enable Mask Override +# +# Each LED is represented by a single bit +# See (http://www.issi.com/WW/pdf/31FL3731C.pdf) for details +ISSILedMask1 = " + 0xFF, 0x00, /* C1-1 -> C1-16 */ + 0xFF, 0x00, /* C2-1 -> C2-16 */ + 0xFF, 0x00, /* C3-1 -> C3-16 */ + 0xFF, 0x00, /* C4-1 -> C4-16 */ + 0xFF, 0x00, /* C5-1 -> C5-16 */ + 0xFF, 0x00, /* C6-1 -> C6-16 */ + 0xFF, 0x00, /* C7-1 -> C7-16 */ + 0xFF, 0x00, /* C8-1 -> C8-16 */ + 0xFF, 0x00, /* C9-1 -> C9-16 */ +"; + +# LED Brightness Override +# +# Each LED channel supports 256 levels (8-bit control) +# By default, LEDs are set to 0 brightness +#ISSILedBrightness1 = " +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ +#0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ +#"; + +# Full brightness example +ISSILedBrightness1 = " +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C1-1 -> C1-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C2-1 -> C2-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C3-1 -> C3-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C4-1 -> C4-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C5-1 -> C5-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C6-1 -> C6-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C7-1 -> C7-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C8-1 -> C8-16 */ +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C9-1 -> C9-16 */ +"; +