diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2016-07-20 18:00:56 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2016-07-26 18:45:26 +0200 |
commit | d0a708b42cd1ec4b64dc647f13817b20f8a3fc78 (patch) | |
tree | 4131413582540336cd43b787ba59953247df2e55 | |
parent | d940d5e5810536d6f70c7b04402944605b3cd725 (diff) | |
download | mutter-d0a708b42cd1ec4b64dc647f13817b20f8a3fc78.tar.gz |
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
-rw-r--r-- | clutter/clutter/clutter-virtual-input-device.c | 12 | ||||
-rw-r--r-- | clutter/clutter/clutter-virtual-input-device.h | 10 |
2 files changed, 22 insertions, 0 deletions
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 @@ -99,6 +103,12 @@ void clutter_virtual_input_device_notify_key (ClutterVirtualInputDevice *virtual 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); int clutter_virtual_input_device_get_device_type (ClutterVirtualInputDevice *virtual_device); |