http://bugs.winehq.org/show_bug.cgi?id=7609 ------- Additional Comments From vladimirkadlec(a)gmail.com 2007-04-03 21:16 ------- To be precise, the problem is in function X11DRV_KeyEvent, line 1370. The patch changes: if (xic) to the if (xic && event->type == KeyPress) I agree that this is correct. The previous incorrect call of XmbLookupString has a side effect, that (e.g. for left shift) sets status=1 and keysym=0 on KeyRelease. Because of keysym=0 the code reaches EVENT_event_to_vkey call (line 1424). The patch disables this side effect, so e.g. on left shift KeyRelease the keysym is 0xfe0a (ISO_Prev_Group) and it's ignored by condition on 1377. When I add a hack to this condition (&& keysym != XK_ISO_Prev_Group), then the left shift works. I also overlooked this: warn:keyboard:X11DRV_KEYBOARD_DetectLayout 8 keysyms per keycode not supported, set to 4 warn:keyboard:X11DRV_InitKeyboard vkey 0010 is being used by more than one keycode Both shifts have keycodes 0x32, which are converted to virtKey=0010. Maybe, this is the problem? I remember exactly the same problem (reporting XK_ISO_Prev_Group on shifts, and shifts "instantly" pressed) several years ago with console in moreQuakeWorld linux client. I reported it to the author and it was fixed. But it's more than 5 years, so I don't remember the details. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.