changeset 233:757e06368d0f

Fixing NKRO for Windows.
author Jacob Alexander <haata@kiibohd.com>
date Wed, 01 Oct 2014 00:16:14 -0700
parents 9a3c9f6f4866
children aaf14110ea7b
files CMakeLists.txt Lib/_buildvars.h Output/pjrcUSB/arm/usb_desc.c Output/pjrcUSB/arm/usb_desc.h Output/pjrcUSB/avr/usb_keyboard_serial.h
diffstat 5 files changed, 9 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt	Sun Sep 28 17:24:52 2014 -0700
+++ b/CMakeLists.txt	Wed Oct 01 00:16:14 2014 -0700
@@ -92,7 +92,8 @@
 
 ##| Layer additonal .kll maps on the BaseMap, layers are in order from 1st to nth
 ##| Can be set to ""
-set(  DefaultMap "colemak stdFuncMap" )
+set(  DefaultMap "stdFuncMap" )
+#set(  DefaultMap "colemak stdFuncMap" )
 
 ##| ParitalMaps available on top of the BaseMap. See above for syntax on specifying multiple layers vs. layering
 ##| Can be set to ""
--- a/Lib/_buildvars.h	Sun Sep 28 17:24:52 2014 -0700
+++ b/Lib/_buildvars.h	Wed Oct 01 00:16:14 2014 -0700
@@ -29,8 +29,8 @@
 // ----- Defines -----
 
 // You can change these to give your code its own name.
-#define STR_MANUFACTURER	L"@MANUFACTURER@"
-#define STR_PRODUCT		L"Keyboard - @ScanModule@ @MacroModule@ @OutputModule@ @DebugModule@"
+#define STR_MANUFACTURER        L"@MANUFACTURER@"
+#define STR_PRODUCT             L"Keyboard - @ScanModule@ @MacroModule@ @OutputModule@ @DebugModule@"
 #define STR_SERIAL              L"@GitLastCommitDate@"
 
 
--- a/Output/pjrcUSB/arm/usb_desc.c	Sun Sep 28 17:24:52 2014 -0700
+++ b/Output/pjrcUSB/arm/usb_desc.c	Wed Oct 01 00:16:14 2014 -0700
@@ -75,7 +75,7 @@
         DEVICE_SUBCLASS,                        // bDeviceSubClass
         DEVICE_PROTOCOL,                        // bDeviceProtocol
         EP0_SIZE,                               // bMaxPacketSize0
-	1,                                      // bNumOtherSpeedConfigurations
+	0,                                      // bNumOtherSpeedConfigurations
 	0                                       // bReserved
 	*/
 };
@@ -311,7 +311,7 @@
         NUM_INTERFACE,                          // bNumInterfaces
         1,                                      // bConfigurationValue
         0,                                      // iConfiguration
-        0xC0,                                   // bmAttributes
+        0xA0,                                   // bmAttributes
         250,                                    // bMaxPower
 
 // --- Keyboard HID --- Boot Mode Keyboard Interface
@@ -386,7 +386,7 @@
         0x02,                                   // bFunctionClass
         0x02,                                   // bFunctionSubClass
         0x01,                                   // bFunctionProtocol
-        4,                                      // iFunction
+        0,                                      // iFunction
 
 // --- Serial CDC --- CDC Data Interface
 // - 9 bytes -
--- a/Output/pjrcUSB/arm/usb_desc.h	Sun Sep 28 17:24:52 2014 -0700
+++ b/Output/pjrcUSB/arm/usb_desc.h	Wed Oct 01 00:16:14 2014 -0700
@@ -51,7 +51,7 @@
 #define ENDPOINT_TRANSMIT_AND_RECEIVE	0x1D
 
 
-#define DEVICE_CLASS            0x03 // 0x03 = HID Class
+#define DEVICE_CLASS            0x00 // Keep 0x00 to indicate each sub device will indicate what it is
 #define DEVICE_SUBCLASS         0x00
 #define DEVICE_PROTOCOL         0x00
 #define EP0_SIZE                64
--- a/Output/pjrcUSB/avr/usb_keyboard_serial.h	Sun Sep 28 17:24:52 2014 -0700
+++ b/Output/pjrcUSB/avr/usb_keyboard_serial.h	Wed Oct 01 00:16:14 2014 -0700
@@ -260,7 +260,7 @@
 	18,					// bLength
 	1,					// bDescriptorType
 	0x00, 0x02,				// bcdUSB
-	0x03,					// bDeviceClass - 0x03 = HID Class
+	0x00,					// bDeviceClass - Composite device, 0x00 is required for Windows
 	0,					// bDeviceSubClass
 	0,					// bDeviceProtocol
 	ENDPOINT0_SIZE,				// bMaxPacketSize0