wine cvs notes and proposed keyboard detection fix.

Dmitry Timoshkov 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
of X11.

-- 
Dmitry.





More information about the wine-devel mailing list