http://bugs.winehq.org/show_bug.cgi?id=7609
------- Additional Comments From florianskarten@web.de 2007-05-03 09:57 ------- Both sollutions (Dmitry's and Vitaliy's solutions) solves my [alt] key bug and the [shift] key bug for me(which also appear for me without a patch).
Error Messages: --------------------------------- 1.) with shit-shit toggle a.) without any patch
with german keyboard layout I got: - for the first left shift press after the window got focus: err:keyboard:X11DRV_ToUnicodeEx (virtKey=10,scanCode=2A,keycode=32,state=1) err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE0A (ISO_Prev_Group) : - for any following key press: err:keyboard:X11DRV_ToUnicodeEx (virtKey=10,scanCode=402A,keycode=32,state=1) err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE0A (ISO_Prev_Group) :
- for the first right shift press after the window got focus err:keyboard:X11DRV_ToUnicodeEx (virtKey=10,scanCode=36,keycode=32,state=1) err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE0A (ISO_Prev_Group) : - for every follwing right shift press: err:keyboard:X11DRV_ToUnicodeEx (virtKey=10,scanCode=4036,keycode=32,state=1) err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE0A (ISO_Prev_Group) :
After a toggle to german the error messages are the same except of the state argument which is then 2001.
b.) with patch - if ((keysym >= XK_ISO_Lock && keysym <= XK_ISO_Last_Group_Lock) || - keysym == XK_Mode_switch) + if (keysym == XK_Mode_switch)
I got error messages too: * with state=2001 for German keyboard layout and state=1 for English keyboard layout. * with scanCode=2A for the left shift key, independ of the fact if the window got the focus before, and scanCode=36 for the right shift key. * when I press the right shift key while holding the left shift key, I got scanCode=4036 * when I press the left shit key while holding the right shift key, I got scanCode=402A
2.) without any toggle shortcut: a.) without a patch * no error messages b.) with patch: * no error messages
3.) with alt-alt toggle: a.) without a patch: * no error messages b.) with Vitaliy's patch: * only left alt key: no error messages * only right alt key: - german (take note that the state is 2000 instead of 2001 like shift): err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE03 (ISO_Level3_Shift) : err:keyboard:X11DRV_ToUnicodeEx (virtKey=E1,scanCode=60,keycode=71,state=2000) - usa: err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE03 (ISO_Level3_Shift) : err:keyboard:X11DRV_ToUnicodeEx (virtKey=E1,scanCode=60,keycode=71,state=0)
* pressing right alt while holding left: - usa to german err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE08 (ISO_Next_Group) : err:keyboard:X11DRV_ToUnicodeEx (virtKey=E1,scanCode=2060,keycode=71,state=8) - german to usa: err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE08 (ISO_Next_Group) : err:keyboard:X11DRV_ToUnicodeEx (virtKey=E1,scanCode=2060,keycode=71,state=2008)
* pressing left alt while holding right: - german to usa: err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE0A (ISO_Prev_Group) : err:keyboard:X11DRV_ToUnicodeEx (virtKey=12,scanCode=2038,keycode=40,state=2080)
- usa to german: err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym FE0A (ISO_Prev_Group) : err:keyboard:X11DRV_ToUnicodeEx (virtKey=12,scanCode=2038,keycode=40,state=80)