summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2014-07-11 15:30:29 +0200
committerCarlos Garnacho <carlosg@gnome.org>2014-07-11 15:39:05 +0200
commitf6fd02970c29e58c217ef5563d8d5c53be81acd9 (patch)
tree914c018aca8d5c3db3492c09fb87eaf0f0ab97da
parent8d669ab8ceb9ad1cfb03e69d32e30033070961a6 (diff)
downloadclutter-f6fd02970c29e58c217ef5563d8d5c53be81acd9.tar.gz
evdev: Set button modifier state to input devices.
Input devices must get the proper button state, in addition to keyboard modifiers. https://bugzilla.gnome.org/show_bug.cgi?id=733062
-rw-r--r--clutter/evdev/clutter-device-manager-evdev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/clutter/evdev/clutter-device-manager-evdev.c b/clutter/evdev/clutter-device-manager-evdev.c
index c8a807bc0..eaacc3a43 100644
--- a/clutter/evdev/clutter-device-manager-evdev.c
+++ b/clutter/evdev/clutter-device-manager-evdev.c
@@ -645,7 +645,8 @@ clutter_event_dispatch (GSource *g_source,
_clutter_stage_queue_event (event->any.stage, event, FALSE);
/* update the device states *after* the event */
- event_state = xkb_state_serialize_mods (seat->xkb, XKB_STATE_MODS_EFFECTIVE);
+ event_state = seat->button_state |
+ xkb_state_serialize_mods (seat->xkb, XKB_STATE_MODS_EFFECTIVE);
_clutter_input_device_set_state (seat->core_pointer, event_state);
_clutter_input_device_set_state (seat->core_keyboard, event_state);
}