Hello

Previously i played a bit around with setxkbmap but couldn't get a
satisfactorily response. Currently I use:  "setxkbmap -model pc105 -layout
ch -variant de_Sundeadkeys" for a swiss german keyboard layout. But
actually all german umlaut keys seems to be returning only the ü (ue) key 
although  the traced keyboard events (as with WINEDEBUG option) responses
diffrent keyboard events.  I attached all traces for the diffrent keybaord
events. Eventually You can see someting in this I read it but couldn't get
a reasonable information out of the traces.

Thanks

Roland Kaeser



Marcus Meissner wrote:

It reads raw X events, and translates them multiple times between
different representations (X keycodes, scancodes, windows virtkeys).

You could run with:

WINEDEBUG=+key,+keyboard wine program.exe

and see if there is any useful debugging info (check what happens
when you type an umlaut).

Ciao, Marcus
trace:key:X11DRV_KeyEvent type 2, window 4a00026, state 0x0010, keycode 0x0030
trace:key:X11DRV_KeyEvent state = 10 nbyte = 2, status 0x4
trace:key:X11DRV_KeyEvent KeyPress : keysym=E4 (adiaeresis), # of chars=2 / 0xc3 / 'ä'
trace:key:EVENT_event_to_vkey e->keycode = 30
trace:key:X11DRV_KeyEvent keycode 0x30 converted to vkey 0xc0
trace:key:X11DRV_KeyEvent bScan = 0x29.
trace:key:X11DRV_send_keyboard_input  wParam=00c0, lParam=00290001, InputKeyState=c0
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:TranslateMessage Translating key VK_OEM_3 (00c0), scancode 29
trace:key:GetKeyboardState (0x406bfd24)
trace:keyboard:X11DRV_ToUnicodeEx NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0010
trace:key:X11DRV_ToUnicodeEx (00C0, 0029) : faked state = 0x0010
trace:key:EVENT_event_to_vkey e->keycode = 22
trace:keyboard:X11DRV_ToUnicodeEx Found keycode 34 (0x22)
trace:key:X11DRV_ToUnicodeEx type 2, window 4a00026, state 0x0010, keycode 0x0022
trace:key:X11DRV_ToUnicodeEx Translating char 0xc3 to unicode
trace:key:X11DRV_ToUnicodeEx ToUnicode about to return 1 with char fc
trace:key:TranslateMessage 1 -> PostMessageW(0x30156,WM_CHAR,00fc,00290001)
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x7e -> cChar '~'
trace:keyboard:X11DRV_VkKeyScanEx retrying with | 0xFE00
trace:keyboard:X11DRV_VkKeyScanEx '~'(0x7e, 126): got keycode 00 (0)
trace:keyboard:X11DRV_VkKeyScanEx keycode for '~' not found, returning -1
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x60 -> cChar '`'
trace:keyboard:X11DRV_VkKeyScanEx '`'(0x60, 96): got keycode 0x37 (55)
warn:keyboard:X11DRV_VkKeyScanEx Keysym 60 not found while parsing the keycode table
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x3c -> cChar '<'
trace:keyboard:X11DRV_VkKeyScanEx '<'(0x3c, 60): got keycode 0x5e (94)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0xe2
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x2c -> cChar ','
trace:keyboard:X11DRV_VkKeyScanEx ','(0x2c, 44): got keycode 0x3b (59)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0xbc
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x27 -> cChar '''
trace:keyboard:X11DRV_VkKeyScanEx '''(0x27, 39): got keycode 0x14 (20)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0xbd
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x5e -> cChar '^'
trace:keyboard:X11DRV_VkKeyScanEx retrying with | 0xFE00
trace:keyboard:X11DRV_VkKeyScanEx '^'(0x5e, 94): got keycode 00 (0)
trace:keyboard:X11DRV_VkKeyScanEx keycode for '^' not found, returning -1
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x40 -> cChar '@'
trace:keyboard:X11DRV_VkKeyScanEx '@'(0x40, 64): got keycode 0x0b (11)
warn:keyboard:X11DRV_VkKeyScanEx Keysym 40 not found while parsing the keycode table
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x3a -> cChar ':'
trace:keyboard:X11DRV_VkKeyScanEx ':'(0x3a, 58): got keycode 0x3c (60)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x1be
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x3e -> cChar '>'
trace:keyboard:X11DRV_VkKeyScanEx '>'(0x3e, 62): got keycode 0x5e (94)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x1e2
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x26 -> cChar '&'
trace:keyboard:X11DRV_VkKeyScanEx '&'(0x26, 38): got keycode 0x0f (15)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x136
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x2f -> cChar '/'
trace:keyboard:X11DRV_VkKeyScanEx '/'(0x2f, 47): got keycode 0x10 (16)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x137
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:GetKeyState key (0x10) -> 0
trace:key:X11DRV_KeyEvent type 3, window 4a00026, state 0x0010, keycode 0x0030
trace:key:X11DRV_KeyEvent state = 10 nbyte = 0, status 0x1
trace:key:X11DRV_KeyEvent KeyRelease : keysym=0 (No Name), # of chars=0 / 0x00 / ''
trace:key:EVENT_event_to_vkey e->keycode = 30
trace:key:X11DRV_KeyEvent keycode 0x30 converted to vkey 0xc0
trace:key:X11DRV_KeyEvent bScan = 0x29.
trace:key:X11DRV_send_keyboard_input  wParam=00c0, lParam=c0290001, InputKeyState=40
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:X11DRV_KeyEvent type 2, window 4a00026, state 0x0010, keycode 0x002f
trace:key:X11DRV_KeyEvent state = 10 nbyte = 2, status 0x4
trace:key:X11DRV_KeyEvent KeyPress : keysym=F6 (odiaeresis), # of chars=2 / 0xc3 / 'ö'
trace:key:EVENT_event_to_vkey e->keycode = 2f
trace:key:X11DRV_KeyEvent keycode 0x2f converted to vkey 0xc0
trace:key:X11DRV_KeyEvent bScan = 0x29.
trace:key:X11DRV_send_keyboard_input  wParam=00c0, lParam=00290001, InputKeyState=c1
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:TranslateMessage Translating key VK_OEM_3 (00c0), scancode 29
trace:key:GetKeyboardState (0x406bfd24)
trace:keyboard:X11DRV_ToUnicodeEx NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0010
trace:key:X11DRV_ToUnicodeEx (00C0, 0029) : faked state = 0x0010
trace:key:EVENT_event_to_vkey e->keycode = 22
trace:keyboard:X11DRV_ToUnicodeEx Found keycode 34 (0x22)
trace:key:X11DRV_ToUnicodeEx type 2, window 4a00026, state 0x0010, keycode 0x0022
trace:key:X11DRV_ToUnicodeEx Translating char 0xc3 to unicode
trace:key:X11DRV_ToUnicodeEx ToUnicode about to return 1 with char fc
trace:key:TranslateMessage 1 -> PostMessageW(0x30156,WM_CHAR,00fc,00290001)
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x7e -> cChar '~'
trace:keyboard:X11DRV_VkKeyScanEx retrying with | 0xFE00
trace:keyboard:X11DRV_VkKeyScanEx '~'(0x7e, 126): got keycode 00 (0)
trace:keyboard:X11DRV_VkKeyScanEx keycode for '~' not found, returning -1
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x60 -> cChar '`'
trace:keyboard:X11DRV_VkKeyScanEx '`'(0x60, 96): got keycode 0x37 (55)
warn:keyboard:X11DRV_VkKeyScanEx Keysym 60 not found while parsing the keycode table
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x3c -> cChar '<'
trace:keyboard:X11DRV_VkKeyScanEx '<'(0x3c, 60): got keycode 0x5e (94)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0xe2
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x2c -> cChar ','
trace:keyboard:X11DRV_VkKeyScanEx ','(0x2c, 44): got keycode 0x3b (59)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0xbc
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x27 -> cChar '''
trace:keyboard:X11DRV_VkKeyScanEx '''(0x27, 39): got keycode 0x14 (20)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0xbd
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x5e -> cChar '^'
trace:keyboard:X11DRV_VkKeyScanEx retrying with | 0xFE00
trace:keyboard:X11DRV_VkKeyScanEx '^'(0x5e, 94): got keycode 00 (0)
trace:keyboard:X11DRV_VkKeyScanEx keycode for '^' not found, returning -1
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x40 -> cChar '@'
trace:keyboard:X11DRV_VkKeyScanEx '@'(0x40, 64): got keycode 0x0b (11)
warn:keyboard:X11DRV_VkKeyScanEx Keysym 40 not found while parsing the keycode table
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x3a -> cChar ':'
trace:keyboard:X11DRV_VkKeyScanEx ':'(0x3a, 58): got keycode 0x3c (60)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x1be
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x3e -> cChar '>'
trace:keyboard:X11DRV_VkKeyScanEx '>'(0x3e, 62): got keycode 0x5e (94)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x1e2
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x26 -> cChar '&'
trace:keyboard:X11DRV_VkKeyScanEx '&'(0x26, 38): got keycode 0x0f (15)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x136
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x2f -> cChar '/'
trace:keyboard:X11DRV_VkKeyScanEx '/'(0x2f, 47): got keycode 0x10 (16)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x137
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:GetKeyState key (0x10) -> 0
trace:key:X11DRV_KeyEvent type 3, window 4a00026, state 0x0010, keycode 0x002f
trace:key:X11DRV_KeyEvent state = 10 nbyte = 0, status 0x1
trace:key:X11DRV_KeyEvent KeyRelease : keysym=0 (No Name), # of chars=0 / 0x00 / ''
trace:key:EVENT_event_to_vkey e->keycode = 2f
trace:key:X11DRV_KeyEvent keycode 0x2f converted to vkey 0xc0
trace:key:X11DRV_KeyEvent bScan = 0x29.
trace:key:X11DRV_send_keyboard_input  wParam=00c0, lParam=c0290001, InputKeyState=41
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:X11DRV_KeyEvent type 2, window 4a00026, state 0x0010, keycode 0x0022
trace:key:X11DRV_KeyEvent state = 10 nbyte = 2, status 0x4
trace:key:X11DRV_KeyEvent KeyPress : keysym=FC (udiaeresis), # of chars=2 / 0xc3 / 'ü'
trace:key:EVENT_event_to_vkey e->keycode = 22
trace:key:X11DRV_KeyEvent keycode 0x22 converted to vkey 0xc0
trace:key:X11DRV_KeyEvent bScan = 0x29.
trace:key:X11DRV_send_keyboard_input  wParam=00c0, lParam=00290001, InputKeyState=c1
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:TranslateMessage Translating key VK_OEM_3 (00c0), scancode 29
trace:key:GetKeyboardState (0x406bfd24)
trace:keyboard:X11DRV_ToUnicodeEx NumLockMask = 0010
trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0010
trace:key:X11DRV_ToUnicodeEx (00C0, 0029) : faked state = 0x0010
trace:key:EVENT_event_to_vkey e->keycode = 22
trace:keyboard:X11DRV_ToUnicodeEx Found keycode 34 (0x22)
trace:key:X11DRV_ToUnicodeEx type 2, window 4a00026, state 0x0010, keycode 0x0022
trace:key:X11DRV_ToUnicodeEx Translating char 0xc3 to unicode
trace:key:X11DRV_ToUnicodeEx ToUnicode about to return 1 with char fc
trace:key:TranslateMessage 1 -> PostMessageW(0x30156,WM_CHAR,00fc,00290001)
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x7e -> cChar '~'
trace:keyboard:X11DRV_VkKeyScanEx retrying with | 0xFE00
trace:keyboard:X11DRV_VkKeyScanEx '~'(0x7e, 126): got keycode 00 (0)
trace:keyboard:X11DRV_VkKeyScanEx keycode for '~' not found, returning -1
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x60 -> cChar '`'
trace:keyboard:X11DRV_VkKeyScanEx '`'(0x60, 96): got keycode 0x37 (55)
warn:keyboard:X11DRV_VkKeyScanEx Keysym 60 not found while parsing the keycode table
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x3c -> cChar '<'
trace:keyboard:X11DRV_VkKeyScanEx '<'(0x3c, 60): got keycode 0x5e (94)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0xe2
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x2c -> cChar ','
trace:keyboard:X11DRV_VkKeyScanEx ','(0x2c, 44): got keycode 0x3b (59)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0xbc
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x27 -> cChar '''
trace:keyboard:X11DRV_VkKeyScanEx '''(0x27, 39): got keycode 0x14 (20)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0xbd
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x5e -> cChar '^'
trace:keyboard:X11DRV_VkKeyScanEx retrying with | 0xFE00
trace:keyboard:X11DRV_VkKeyScanEx '^'(0x5e, 94): got keycode 00 (0)
trace:keyboard:X11DRV_VkKeyScanEx keycode for '^' not found, returning -1
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x40 -> cChar '@'
trace:keyboard:X11DRV_VkKeyScanEx '@'(0x40, 64): got keycode 0x0b (11)
warn:keyboard:X11DRV_VkKeyScanEx Keysym 40 not found while parsing the keycode table
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x3a -> cChar ':'
trace:keyboard:X11DRV_VkKeyScanEx ':'(0x3a, 58): got keycode 0x3c (60)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x1be
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x3e -> cChar '>'
trace:keyboard:X11DRV_VkKeyScanEx '>'(0x3e, 62): got keycode 0x5e (94)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x1e2
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x26 -> cChar '&'
trace:keyboard:X11DRV_VkKeyScanEx '&'(0x26, 38): got keycode 0x0f (15)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x136
trace:keyboard:X11DRV_VkKeyScanEx wChar 0x2f -> cChar '/'
trace:keyboard:X11DRV_VkKeyScanEx '/'(0x2f, 47): got keycode 0x10 (16)
trace:keyboard:X11DRV_VkKeyScanEx  ... returning 0x137
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:GetKeyState key (0x10) -> 0
trace:key:X11DRV_KeyEvent type 3, window 4a00026, state 0x0010, keycode 0x0022
trace:key:X11DRV_KeyEvent state = 10 nbyte = 0, status 0x1
trace:key:X11DRV_KeyEvent KeyRelease : keysym=0 (No Name), # of chars=0 / 0x00 / ''
trace:key:EVENT_event_to_vkey e->keycode = 22
trace:key:X11DRV_KeyEvent keycode 0x22 converted to vkey 0xc0
trace:key:X11DRV_KeyEvent bScan = 0x29.
trace:key:X11DRV_send_keyboard_input  wParam=00c0, lParam=c0290001, InputKeyState=41
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x12) -> 1
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x10) -> 0
trace:key:GetKeyState key (0x11) -> 0
trace:key:GetKeyState key (0x12) -> 1


Reply via email to