[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#684605: x11-xkb-utils: xkbcomp breaks mouse events with non-English keyboard layout



Package: x11-xkb-utils
Version: 7.7~1
Followup-For: Bug #684605

affects 684605 awesome
fixed 684605 7.6+4
forwarded 684605 https://bugs.freedesktop.org/show_bug.cgi?id=50611
thanks

I hereby confirm that downgrading to x11-xkb-utils 7.6+4 fixes this
problem. You don't even need to recompile xkb-data or libxcb as I
previously thought, just restarting the X server is sufficient.

This is actually a regression introduced in an upstream commit in 2011:

1447071942dbbbfc37b08417c74c8a1d302c1626

I have signaled this in the upstream bug report.

I will attach the patch for this commit specifically. I added it to the
quilt series as this:

compat.diff -p0

Thank you for considering the application of this patch.

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to fr_CA.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages x11-xkb-utils depends on:
ii  libc6        2.13-35
ii  libx11-6     2:1.5.0-1
ii  libxaw7      2:1.0.10-2
ii  libxkbfile1  1:1.0.8-1
ii  libxt6       1:1.1.3-1

x11-xkb-utils recommends no packages.

x11-xkb-utils suggests no packages.

-- no debconf information
commit b8e4ab751857ff628e79b432b7b2f7d0e26de0ec
Author: Antoine Beaupré <anarcat@koumbit.org>
Date:   Sat Nov 24 13:38:13 2012 -0500

    Revert "include resets group compatibility modifiers #43091"
    
    This reverts commit 1447071942dbbbfc37b08417c74c8a1d302c1626.

diff --git a/compat.c b/compat.c
index 2b00142..759535a 100644
--- xkbcomp.orig/compat.c
+++ xkbcomp/compat.c
@@ -50,7 +50,6 @@ typedef struct _GroupCompatInfo
 {
     unsigned char fileID;
     unsigned char merge;
-    Bool defined;
     unsigned char real_mods;
     unsigned short vmods;
 } GroupCompatInfo;
@@ -281,8 +280,8 @@ AddGroupCompat(CompatInfo * info, unsigned group, GroupCompatInfo * newGC)
         ACTION1("Using %s definition\n",
                 (merge == MergeAugment ? "old" : "new"));
     }
-    if(newGC->defined && (merge != MergeAugment || !gc->defined))
-	*gc = *newGC;
+    if (merge != MergeAugment)
+        *gc = *newGC;
     return True;
 }
 
@@ -716,7 +715,6 @@ HandleGroupCompatDef(GroupCompatDef * def,
     }
     tmp.real_mods = val.uval & 0xff;
     tmp.vmods = (val.uval >> 8) & 0xffff;
-    tmp.defined = True;
     return AddGroupCompat(info, def->group - 1, &tmp);
 }
 

Reply to: