[ros-diffs] [ablackmann] 43950: Add some helpful debug output to LAYOUT parsing, and enable DoLAYOUT code. The tool is able to fully decode/parse the test.klc English US layout file!

ablackmann at svn.reactos.org ablackmann at svn.reactos.org
Wed Nov 4 20:52:37 CET 2009


Author: ablackmann
Date: Wed Nov  4 20:52:36 2009
New Revision: 43950

URL: http://svn.reactos.org/svn/reactos?rev=43950&view=rev
Log:
Add some helpful debug output to LAYOUT parsing, and enable DoLAYOUT code. The tool is able to fully decode/parse the test.klc English US layout file!

Modified:
    trunk/reactos/tools/kbdtool/parser.c

Modified: trunk/reactos/tools/kbdtool/parser.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/kbdtool/parser.c?rev=43950&r1=43949&r2=43950&view=diff
==============================================================================
--- trunk/reactos/tools/kbdtool/parser.c [iso-8859-1] (original)
+++ trunk/reactos/tools/kbdtool/parser.c [iso-8859-1] Wed Nov  4 20:52:36 2009
@@ -890,9 +890,6 @@
     PLAYOUTENTRY Entry;
     UCHAR CharacterType, LigatureChar;
     
-    /* Only attempt this is Verbose is enabled (FOR DEBUGGING ONLY) */
-    if (!Verbose) return SkipLines();
-    
     /* Zero out the layout */
     memset(LayoutData, 0, sizeof(LAYOUT));
     
@@ -930,6 +927,7 @@
         }
         
         /* One more */
+        DPRINT1("RAW ENTRY: [%x %s %s]\n", ScanCode, Token, Cap);
         Entry++;
         if (++ScanCodeCount >= 110)
         {
@@ -988,6 +986,8 @@
         /* Get the virtual key from the entry */
         VirtualKey = getVKNum(Token);
         Entry->VirtualKey = VirtualKey;
+        DPRINT1("ENTRY: [%x %x %x %s] with ",
+                Entry->VirtualKey, Entry->OriginalVirtualKey, Entry->ScanCode, Entry->Name);
         
         /* Make sure it's valid */
         if (VirtualKey == 0xFFFF)
@@ -1024,6 +1024,7 @@
                        State[6],
                        State[7]);
         Entry->StateCount = Count;
+        DPRINT1("%d STATES: [", Count);
         
         /* Check if there are less than 2 states */
         if ((Count < 2) && (FullEntry))
@@ -1037,6 +1038,7 @@
         for (i = 0; i < Count; i++)
         {
             /* Check if this is an undefined state */
+            DPRINT1("%s ", State[i]);
             if (!strcmp(State[i], "-1"))
             {
                 /* No data for this state */
@@ -1061,6 +1063,7 @@
         }
         
         /* Check for sanity checks */
+        DPRINT1("]\n");
         if (SanityCheck)
         {
             /* Not yet handled... */




More information about the Ros-diffs mailing list