From d0a708b42cd1ec4b64dc647f13817b20f8a3fc78 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 20 Jul 2016 18:00:56 +0200 Subject: clutter: Add ClutterVirtualInputDevice vmethod to notify keysyms Evcodes don't cut it when we have something already specifying the character to be printed, despite the current group/level. This API allows some more control on the intended output. https://bugzilla.gnome.org/show_bug.cgi?id=765009 --- clutter/clutter/clutter-virtual-input-device.c | 12 ++++++++++++ clutter/clutter/clutter-virtual-input-device.h | 10 ++++++++++ 2 files changed, 22 insertions(+) diff --git a/clutter/clutter/clutter-virtual-input-device.c b/clutter/clutter/clutter-virtual-input-device.c index 4e40deabb..9ffd0138a 100644 --- a/clutter/clutter/clutter-virtual-input-device.c +++ b/clutter/clutter/clutter-virtual-input-device.c @@ -103,6 +103,18 @@ clutter_virtual_input_device_notify_key (ClutterVirtualInputDevice *virtual_devi klass->notify_key (virtual_device, time_us, key, key_state); } +void +clutter_virtual_input_device_notify_keyval (ClutterVirtualInputDevice *virtual_device, + uint64_t time_us, + uint32_t keyval, + ClutterKeyState key_state) +{ + ClutterVirtualInputDeviceClass *klass = + CLUTTER_VIRTUAL_INPUT_DEVICE_GET_CLASS (virtual_device); + + klass->notify_keyval (virtual_device, time_us, keyval, key_state); +} + /** * clutter_virtual_input_device_get_manager: * @virtual_device: a virtual device diff --git a/clutter/clutter/clutter-virtual-input-device.h b/clutter/clutter/clutter-virtual-input-device.h index e2ca93e72..c6c6deb6c 100644 --- a/clutter/clutter/clutter-virtual-input-device.h +++ b/clutter/clutter/clutter-virtual-input-device.h @@ -72,6 +72,10 @@ struct _ClutterVirtualInputDeviceClass uint64_t time_us, uint32_t key, ClutterKeyState key_state); + void (*notify_keyval) (ClutterVirtualInputDevice *virtual_device, + uint64_t time_us, + uint32_t keyval, + ClutterKeyState key_state); }; CLUTTER_AVAILABLE_IN_ALL @@ -98,6 +102,12 @@ void clutter_virtual_input_device_notify_key (ClutterVirtualInputDevice *virtual uint32_t key, ClutterKeyState key_state); +CLUTTER_AVAILABLE_IN_ALL +void clutter_virtual_input_device_notify_keyval (ClutterVirtualInputDevice *virtual_device, + uint64_t time_us, + uint32_t keyval, + ClutterKeyState key_state); + CLUTTER_AVAILABLE_IN_ALL ClutterDeviceManager * clutter_virtual_input_device_get_manager (ClutterVirtualInputDevice *virtual_device); -- cgit v1.2.1