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
 )