[Bug 1181] Keyboard translation broken: uses raw keycodes

Augusto Arcoverde da Rocha agarobr.listas at gmail.com
Fri Mar 31 09:45:51 CST 2006

On 3/30/06, Peter Åstrand <astrand at cendio.se> wrote:
> On Thu, 30 Mar 2006, Wine Bugs wrote:
> > http://bugs.winehq.org/show_bug.cgi?id=1181
> >
> > ------- Additional Comments From Speeddymon at gmail.com  2006-30-03 10:26 -------
> Hi, now you know about this bug. As the comment says, it might be possible
> to reuse some parts from the rdesktop implementation.
> I'm not saying that it will be easy, though. To be honest, I think bug
> 4923, and many others, are more important. Instead of fixing Wine, it
> might be possible to enhance Xvnc so that it can "emulate" a physical
> Xserver with a certain physical keyboard.

I don't know the problem with the bug 4923 [1], but when we fix the
bug 1181 [2] and make Wine use KeySym, this race condition won't occur
since X11DRV_ToUnicodeEx function will not use AltGrMask or any other
global variable concerning the keyboard state, only a table like
"ksym2vkey". Besides, applications that use X server API directly
don't have this behavior.
[1] http://bugs.winehq.org/show_bug.cgi?id=4923
[2] http://bugs.winehq.org/show_bug.cgi?id=1181

I'm trying to solve the bug 2400 [3] and looking more closely the code
in dlls/x11drv/keyboard.c I started thinking in rewriting this code to
use directly keysyms sent by X server to translate XEvents to vkeys
instead of the currently
"xevent->keycode->keysym->keycode->vkey/character" way as implemented
from the X11DRV_KeyEvent to X11DRV_ToUnicodeEx functions.
[3] http://bugs.winehq.org/show_bug.cgi?id=2400

> Regards,
> --
> Peter Åstrand           ThinLinc Chief Developer
> Cendio                  http://www.cendio.se
> Teknikringen 3
> 583 30 Linköping        Phone: +46-13-21 46 00

Augusto Arcoverde da Rocha

More information about the wine-devel mailing list