[Bug 1181] Keyboard translation broken: uses raw keycodes

Wine Bugs wine-bugs at winehq.com
Sat Jun 28 08:23:34 CDT 2003


http://bugs.winehq.com/show_bug.cgi?id=1181





------- Additional Comments From winebug at flonet.net  2003-28-06 08:23 -------
Bug comments restored from Gmane.org:

The X11 keyboard driver (dlls/x11drv/keyboard.c) uses raw X11 keycodes. 
This is wrong; keycodes are Xserver and hardware dependent. Applications 
should never use the keycodes. 

One example when this is a problem is when using VNC, since Xvnc does not 
use the same keycodes as most XFree86 servers. This has led to that Wine 
has a special keymap for this special Xvnc server. But this keymap only 
supports the US keyboard layout. Basically, to support all layouts (x) on 
all servers (y), Wine needs to have x*y keymaps. This is just not feasible. 

And even if it was, things would go wrong: Xvnc allocates keycodes 
dynamically, which is totally "legal". This means that "aring" can have 
different keycodes different times, depending on in which order the user 
has pressed international keys. 

rdesktop (www.rdesktop.org) suffered from exactly the same problem. I have 
written a new keyboard translation implementation which uses Keysyms 
instead. Maybe Wine can re-use parts of this work.

-- 
Configure bugmail: http://bugs.winehq.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list