diff options
author | Michael Webster <miketwebster@gmail.com> | 2021-01-12 18:01:47 +0000 |
---|---|---|
committer | Clement Lefebvre <clement.lefebvre@linuxmint.com> | 2021-01-13 14:03:29 +0000 |
commit | d41c8e44b12222a290eaca16703406b113a630c6 (patch) | |
tree | 142ae65b3b2a8dd29093a291c3f359715f6ef90d | |
parent | 14f54287535ea3b5914638843710a8cef7b68e68 (diff) | |
download | caribou-d41c8e44b12222a290eaca16703406b113a630c6.tar.gz |
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
-rw-r--r-- | libcaribou/xadapter.vala | 9 |
1 files 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 (); |