From 66afccbaeb5211aabea244d2245f875e90d494cb Mon Sep 17 00:00:00 2001 From: Arch Blackmann Date: Wed, 4 Nov 2009 19:52:36 +0000 Subject: [PATCH] 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! svn path=/trunk/; revision=43950 --- reactos/tools/kbdtool/parser.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/reactos/tools/kbdtool/parser.c b/reactos/tools/kbdtool/parser.c index 6b0f7a938cc..4617f5f2b48 100644 --- a/reactos/tools/kbdtool/parser.c +++ b/reactos/tools/kbdtool/parser.c @@ -890,9 +890,6 @@ DoLAYOUT(IN PLAYOUT LayoutData, 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 @@ DoLAYOUT(IN PLAYOUT LayoutData, } /* One more */ + DPRINT1("RAW ENTRY: [%x %s %s]\n", ScanCode, Token, Cap); Entry++; if (++ScanCodeCount >= 110) { @@ -988,6 +986,8 @@ DoLAYOUT(IN PLAYOUT LayoutData, /* 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 @@ DoLAYOUT(IN PLAYOUT LayoutData, 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 @@ DoLAYOUT(IN PLAYOUT LayoutData, 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 @@ DoLAYOUT(IN PLAYOUT LayoutData, } /* Check for sanity checks */ + DPRINT1("]\n"); if (SanityCheck) { /* Not yet handled... */