summaryrefslogtreecommitdiff
path: root/clutter/clutter/evdev
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2017-08-17 16:17:45 +0800
committerJonas Ådahl <jadahl@gmail.com>2017-08-21 21:19:18 +0800
commit5685449e15ffa401485547cbdcf58e96d3b045f2 (patch)
tree8929357ee39072d7d02faf940c779d9b73812d6d /clutter/clutter/evdev
parenta6d67b164a0519022df49a782a688b64b022a5a0 (diff)
downloadmutter-5685449e15ffa401485547cbdcf58e96d3b045f2.tar.gz
clutter/evdev: Add API to get current layout index
We set the layout index when changing keyboard layout, but have no way to get it back would so be needed. Add that. https://bugzilla.gnome.org/show_bug.cgi?id=786408
Diffstat (limited to 'clutter/clutter/evdev')
-rw-r--r--clutter/clutter/evdev/clutter-device-manager-evdev.c15
-rw-r--r--clutter/clutter/evdev/clutter-evdev.h3
2 files changed, 18 insertions, 0 deletions
diff --git a/clutter/clutter/evdev/clutter-device-manager-evdev.c b/clutter/clutter/evdev/clutter-device-manager-evdev.c
index c3fdc90aa..479f86937 100644
--- a/clutter/clutter/evdev/clutter-device-manager-evdev.c
+++ b/clutter/clutter/evdev/clutter-device-manager-evdev.c
@@ -2603,6 +2603,21 @@ clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev,
}
/**
+ * clutter_evdev_get_keyboard_layout_index: (skip)
+ */
+xkb_layout_index_t
+clutter_evdev_get_keyboard_layout_index (ClutterDeviceManager *evdev)
+{
+ ClutterDeviceManagerEvdev *manager_evdev;
+ struct xkb_state *state;
+
+ manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (evdev);
+ state = manager_evdev->priv->main_seat->xkb;
+
+ return xkb_state_serialize_layout (state, XKB_STATE_LAYOUT_LOCKED);
+}
+
+/**
* clutter_evdev_set_keyboard_numlock: (skip)
* @evdev: the #ClutterDeviceManager created by the evdev backend
* @numlock_set: TRUE to set NumLock ON, FALSE otherwise.
diff --git a/clutter/clutter/evdev/clutter-evdev.h b/clutter/clutter/evdev/clutter-evdev.h
index b64b1364b..be7f09c44 100644
--- a/clutter/clutter/evdev/clutter-evdev.h
+++ b/clutter/clutter/evdev/clutter-evdev.h
@@ -120,6 +120,9 @@ CLUTTER_AVAILABLE_IN_1_20
void clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev,
xkb_layout_index_t idx);
+CLUTTER_AVAILABLE_IN_MUTTER
+xkb_layout_index_t clutter_evdev_get_keyboard_layout_index (ClutterDeviceManager *evdev);
+
CLUTTER_AVAILABLE_IN_1_26
void clutter_evdev_set_keyboard_numlock (ClutterDeviceManager *evdev,
gboolean numlock_state);