summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@unixuser.org>2012-10-25 15:19:44 +0900
committerDaiki Ueno <ueno@unixuser.org>2012-10-26 21:44:34 +0900
commit661d4dcb62c201e1a8899e91f09fcaa1a0206294 (patch)
treec83c6e15302ccdaa1757470d5423fc433d7e2f18
parente45d12e3d626ad63ab9da74ccfc39e94545e7578 (diff)
downloadcaribou-661d4dcb62c201e1a8899e91f09fcaa1a0206294.tar.gz
xadapter: specify core device when calling XkbSetMap
device_spec needs to be specified when calling XkbSetMap so that the keymap change affects XTestFakeKeyEvent. Also fix the type of syms field in XkbClientMap Vala binding. https://bugzilla.gnome.org/show_bug.cgi?id=673547
-rw-r--r--libcaribou/external-libs.vapi2
-rw-r--r--libcaribou/xadapter.vala1
2 files changed, 2 insertions, 1 deletions
diff --git a/libcaribou/external-libs.vapi b/libcaribou/external-libs.vapi
index e2c73db..209d064 100644
--- a/libcaribou/external-libs.vapi
+++ b/libcaribou/external-libs.vapi
@@ -119,7 +119,7 @@ namespace Xkb {
public ushort size_syms;
public ushort num_syms;
[CCode (array_length = false, array_null_terminated = true)]
- public uint[] syms;
+ public ulong[] syms;
[CCode (array_length = false, array_null_terminated = true)]
public SymMap[] key_sym_map;
diff --git a/libcaribou/xadapter.vala b/libcaribou/xadapter.vala
index fba9df9..a222f2f 100644
--- a/libcaribou/xadapter.vala
+++ b/libcaribou/xadapter.vala
@@ -156,6 +156,7 @@ namespace Caribou {
uint offset = this.xkbdesc.map.key_sym_map[this.reserved_keycode].offset;
this.xkbdesc.map.syms[offset] = keysym;
+ this.xkbdesc.device_spec = (ushort) Xkb.UseCoreKbd;
Xkb.set_map (this.xdisplay, Xkb.AllMapComponentsMask, this.xkbdesc);
/**