From d844cf54628884f8608d45fd6ad5e3eedd797ac2 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Fri, 9 Aug 2013 10:53:31 +0200 Subject: [PATCH] evdev: fix xkb_state handling We must pass X11 keycodes, not evdev ones, to libxkbcommon, otherwise the modifier state is wrong. https://bugzilla.gnome.org/show_bug.cgi?id=705710 --- clutter/evdev/clutter-device-manager-evdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clutter/evdev/clutter-device-manager-evdev.c b/clutter/evdev/clutter-device-manager-evdev.c index 6c8399cba..7132ebdb7 100644 --- a/clutter/evdev/clutter-device-manager-evdev.c +++ b/clutter/evdev/clutter-device-manager-evdev.c @@ -177,7 +177,7 @@ notify_key (ClutterEventSource *source, stage, source->xkb, time_, key, state); - xkb_state_update_key (source->xkb, key, state ? XKB_KEY_DOWN : XKB_KEY_UP); + xkb_state_update_key (source->xkb, event->key.hardware_keycode, state ? XKB_KEY_DOWN : XKB_KEY_UP); } queue_event (event);