wine cvs notes and proposed keyboard detection fix.
dmitry at baikal.ru
Mon Jan 19 21:23:44 CST 2004
"Shane Shields" <locutusenterprises at softhome.net> wrote:
> > There are two problems with current x11drv keyboard code:
> > 1. Very likely that Turkish keyboard layout there is incorrect.
> AFAICT The Turkish keyboard layout is correct.
X11 team tends to remove more than 2 characters per keysym. See
/etc/X11/xkb/symbols/tr. Turkish keyboard layout in Wine has more
than 2 for some of them. Just do 'setxkbmap tr' and run Wine with
+key,keyboard,+x11drv and look for mismatches.
> The original code doesnt get as
> far as looking at the turkish definition. From what I could determine it
> stopped searching when it got a wrong keysymb and if that combination
> satisfied the selection that keyboard was chosen.
That shouldn't happen. Keyboard detection code always does a full round
of comparisons with every keyboard table in x11drv.
> It didnt matter if it was
> the right keyboard or not. This was not completely verified through testing
> as I only have one keyboard :)
> > 2. As stated before the keyboard code should be fixed to take into account
> > the real keyboard layout while building the keyc2vkey map, not the
> > hardcoded one.
> That would be a more elegant and portable fix. How do the other programs do it
> (read window managers)?
Other programs have no constrains implied by implementing Win32 APIs on the top
More information about the wine-devel