Keyboard Problem solved, one solution ...

Dmitry Timoshkov dmitry at baikal.ru
Wed Apr 16 06:10:33 CDT 2003


"Duncan Rubinger" <duncan at semanticedge.de> wrote:

> I have a german keyboard layout and I'm using RH9 and KDE 3.1
> 
> After trying out some Keyboard layout settings I got the idea to
> change one entry:
> 
> From:
>     /*AltGrMask = event->state & 0x6000;*/
> 
> To:
>     AltGrMask = event->state;
> 
> Now it works.

Looks reasonable to me. Probably we have to be a bit picky what flags
we want to save/restore. Does the attached patch work for you?

-- 
Dmitry.
-------------- next part --------------
Along with AltGr state save also all possible modifier states.

--- cvs/cw/crossover/office/wine/dlls/x11drv/keyboard.c	Thu Mar  6 20:28:01 2003
+++ wine/dlls/x11drv/keyboard.c	Thu Mar  6 20:36:51 2003
@@ -1079,7 +1079,8 @@
        predefined group index and find it dynamically
 
        Ref: X Keyboard Extension: Library specification (section 14.1.1 and 17.1.1) */
-    AltGrMask = event->state & 0x6000;
+    /* Save also all possible modifier states. */
+    AltGrMask = event->state & (0x6000 | Mod1Mask | Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask);
 
     Str[ascii_chars] = '\0';
     if (TRACE_ON(key)){


More information about the wine-devel mailing list