Mercurial > louis > kiibohd-controller
changeset 51:0b0816a6002d
Completing Sony OA-S3400 adapter.
- Fixed final bug regarding key release
- Added LED support calls
- Fixed minor keymapping bug for TAB
- Changed default keymap to Colemak
author | Jacob Alexander <triplehaata@gmail.com> |
---|---|
date | Mon, 07 May 2012 13:00:29 -0400 |
parents | ff4ae9501930 |
children | 689e131c5a4b |
files | Keymap/sonyoas3400.h Scan/SonyOA-S3400/scan_loop.c Scan/SonyOA-S3400/setup.cmake |
diffstat | 3 files changed, 33 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/Keymap/sonyoas3400.h Mon May 07 02:32:56 2012 -0400 +++ b/Keymap/sonyoas3400.h Mon May 07 13:00:29 2012 -0400 @@ -38,7 +38,7 @@ 0, // 0x06 0, // 0x07 KEY_BACKSPACE, // 0x08 - 0, // 0x09 + KEY_TAB, // 0x09 0, // 0x0A 0, // 0x0B 0, // 0x0C @@ -190,7 +190,7 @@ 0, // 0x9E 0, // 0x9F 0, // 0xA0 - KEY_TAB, // 0xA1 + 0, // 0xA1 0, // 0xA2 0, // 0xA3 0, // 0xA4 @@ -297,7 +297,7 @@ 0, // 0x06 0, // 0x07 KEY_BACKSPACE, // 0x08 - 0, // 0x09 + KEY_TAB, // 0x09 0, // 0x0A 0, // 0x0B 0, // 0x0C @@ -449,7 +449,7 @@ 0, // 0x9E 0, // 0x9F 0, // 0xA0 - KEY_TAB, // 0xA1 + 0, // 0xA1 0, // 0xA2 0, // 0xA3 0, // 0xA4
--- a/Scan/SonyOA-S3400/scan_loop.c Mon May 07 02:32:56 2012 -0400 +++ b/Scan/SonyOA-S3400/scan_loop.c Mon May 07 13:00:29 2012 -0400 @@ -342,6 +342,17 @@ } } + // TODO Move to Macro Section + switch ( keyValue ) + { + case 0xD3: // F11 + scan_sendData( 0x01 ); + break; + case 0xD4: // F12 + scan_sendData( 0x02 ); + break; + } + // Scan code is now finalized, and ready to add to buffer // Note: Scan codes come from 3 different interrupts and a manual key scan into this function @@ -390,6 +401,9 @@ // Decrement Buffer KeyIndex_BufferUsed--; + // Start at this position again for the next loop + c--; + break; } } @@ -485,8 +499,21 @@ // Send data to keyboard // Sony OA-S3400 has no serial/parallel dataport to send data too... +// Using this function for LED enable/disable uint8_t scan_sendData( uint8_t dataPayload ) { + switch ( dataPayload ) + { + case 0x01: + LED1_PORT ^= (1 << LED1_POS); + break; + case 0x02: + LED2_PORT ^= (1 << LED2_POS); + break; + default: + erro_print("Invalid data send attempt"); + break; + } return 0; }
--- a/Scan/SonyOA-S3400/setup.cmake Mon May 07 02:32:56 2012 -0400 +++ b/Scan/SonyOA-S3400/setup.cmake Mon May 07 13:00:29 2012 -0400 @@ -41,7 +41,7 @@ #| Keymap Settings add_definitions( -DMODIFIER_MASK=sonyoas3400_ModifierMask - #-DKEYINDEX_MASK=sonyoas3400_ColemakMap - -DKEYINDEX_MASK=sonyoas3400_DefaultMap + -DKEYINDEX_MASK=sonyoas3400_ColemakMap + #-DKEYINDEX_MASK=sonyoas3400_DefaultMap )