summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2016-07-20 18:00:56 +0200
committerCarlos Garnacho <carlosg@gnome.org>2016-07-26 18:45:26 +0200
commitd0a708b42cd1ec4b64dc647f13817b20f8a3fc78 (patch)
tree4131413582540336cd43b787ba59953247df2e55
parentd940d5e5810536d6f70c7b04402944605b3cd725 (diff)
downloadmutter-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.c12
-rw-r--r--clutter/clutter/clutter-virtual-input-device.h10
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);