wine cvs notes and proposed keyboard detection fix.

Dmitry Timoshkov dmitry at baikal.ru
Wed Jan 21 01:03:20 CST 2004


"Shane Shields" <locutusenterprises at softhome.net> wrote:

> > 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.
> 
> I have done that and piped the output to a logfile. Attached is an abbreviated 
> version with just the icelandic and turkish detection included. It seems to 
> be mismatching on detecting the third keysym where the key is defined 
> in /etc/X11/xkb/symbols/tr this could be a clue :)

15 mismatches per layout is too much. Isn't it?

>           TRACE_(key)("mismatch for keysym 0x%04lX, keycode %d, 
> 
> in function X11DRV_KEYBOARD_DetectLayout where it should be 
>  
>          TRACE_(key)("mismatch for keysym 0x%08lX, keycode %d,

0x%04lX doesn't mean a truncation to 4 characters in format.

> or my version of X11 is returning a larger value than it should. I suspect 
> this because of the large amount of calls to the function 
> KEYBOARD_MapDeadKeysym. Maybe the X11 guys have changed a short to a long 
> somewhere in my version of X11 (cvs 2003-11-24) or my gcc (3.2.2) has defined 
> them differently. If that is the case then the line 
> 
>                 ckey[i] = keysym & 0xFF;

This piece of code gets executed only if XKB is disabled or couldn't translate
keysym to a character.

-- 
Dmitry.





More information about the wine-devel mailing list