"Shane Shields" <[EMAIL PROTECTED]> 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.