[HIDPARSE]
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Thu, 23 Feb 2012 00:35:46 +0000 (00:35 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Thu, 23 Feb 2012 00:35:46 +0000 (00:35 +0000)
- Fix several wrong translated scan codes

svn path=/trunk/; revision=55824

reactos/lib/drivers/hidparser/api.c

index 16bbe32..b9afa33 100644 (file)
@@ -27,10 +27,11 @@ static ULONG KeyboardScanCodes[256] =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x001d, 0x002a, 0x0038, 0x007d, 0x0061, 0x0036, 0x0064, 0x007e, 0x00a4, 0x00a6, 0x00a5, 0x00a3, 0x00a1, 0x0073, 0x0072, 0x0071,
+    0x001D, 0x002A, 0x0038, 0xE05B, 0xE01D, 0x0036, 0xE038, 0xE05C, 0x00a4, 0x00a6, 0x00a5, 0x00a3, 0x00a1, 0x0073, 0x0072, 0x0071,
     0x0096, 0x009e, 0x009f, 0x0080, 0x0088, 0x00b1, 0x00b2, 0x00b0, 0x008e, 0x0098, 0x00ad, 0x008c, 0x0000, 0x0000, 0x0000, 0x0000,
 };
 
+//#define NTOHS(n) (((((unsigned short)(n) & 0xFF)) << 8) | (((unsigned short)(n) & 0xFF00) >> 8))
 
 HIDPARSER_STATUS
 HidParser_GetCollectionUsagePage(
@@ -736,6 +737,16 @@ HidParser_TranslateUsage(
         return HIDPARSER_STATUS_I8042_TRANS_UNKNOWN;
     }
 
+#if 0
+    if ((ScanCode & 0xE000) == 0xE000)
+    {
+        //
+        // swap scan code
+        //
+        ScanCode = NTOHS(ScanCode);
+    }
+#endif
+
     //
     // FIXME: translate modifier states
     //