[caribou: 1/2] xadapter.vala: Remove XkbKeyTypesMask and fields from XKbChangeMap call.




commit d41c8e44b12222a290eaca16703406b113a630c6
Author: Michael Webster <miketwebster gmail com>
Date:   Tue Jan 12 18:01:47 2021 +0000

    xadapter.vala: Remove XkbKeyTypesMask and fields from XKbChangeMap call.
    
    This was originally a workaround for xFree86 4.3 - see:
    https://bugzilla.gnome.org/show_bug.cgi?id=673547
    ​
    As of https://gitlab.freedesktop.org/xorg/xserver/-/commit/87c64fc5b0 this
    causes a BadLength error when attempting to use shifted characters.
    ​
    Ref:
    https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Changing_Map_Components_in_the_Server

 libcaribou/xadapter.vala | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)
---
diff --git a/libcaribou/xadapter.vala b/libcaribou/xadapter.vala
index 22858b7..1da5a78 100644
--- a/libcaribou/xadapter.vala
+++ b/libcaribou/xadapter.vala
@@ -195,15 +195,10 @@ namespace Caribou {
 
             Xkb.MapChanges changes = Xkb.MapChanges ();
 
-            // We don't touch key types here but include the
-            // information in XkbSetMap request to the server, because
-            // some X servers need the information to check the sanity
-            // of the keysyms change.
-            changes.changed = (ushort) (Xkb.KeySymsMask | Xkb.KeyTypesMask);
+            changes.changed = (ushort) Xkb.KeySymsMask;
             changes.first_key_sym = (char) this.reserved_keycode;
             changes.num_key_syms = this.xkbdesc.map.key_sym_map[this.reserved_keycode].width;
-            changes.first_type = 0;
-            changes.num_types = this.xkbdesc.map.num_types;
+
             Xkb.change_map (this.xdisplay, this.xkbdesc, changes);
 
             this.xdisplay.flush ();


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