diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2016-08-04 18:59:09 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2016-08-23 21:01:44 +0200 |
commit | 3ac56e60c7eb44843b8b3fa0119e1746f271d923 (patch) | |
tree | 407ce2fa7bd77530f378bd3233751f10a8092cba /gdk/wayland | |
parent | 942d144d3b893177a5c2b3ab4a8cbb209f710c68 (diff) | |
download | gtk+-3ac56e60c7eb44843b8b3fa0119e1746f271d923.tar.gz |
wayland: Add wayland-specific method to retrieve a device node path
This will be useful at least for g-c-c, in order to match libwacom
data with GdkDevices.
https://bugzilla.gnome.org/show_bug.cgi?id=770026
Diffstat (limited to 'gdk/wayland')
-rw-r--r-- | gdk/wayland/gdkdevice-wayland.c | 32 | ||||
-rw-r--r-- | gdk/wayland/gdkwaylanddevice.h | 2 |
2 files changed, 34 insertions, 0 deletions
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c index 315ebdc39a..1bdd924eb3 100644 --- a/gdk/wayland/gdkdevice-wayland.c +++ b/gdk/wayland/gdkdevice-wayland.c @@ -4478,3 +4478,35 @@ gdk_wayland_device_get_drop_context (GdkDevice *device) return GDK_WAYLAND_SEAT (seat)->drop_context; } + +/** + * gdk_wayland_device_get_node_path: + * @device: a #GdkDevice + * + * Returns the /dev/input/event* path of this device. + * For #GdkDevices that possibly coalesce multiple hardware + * devices (eg. mouse, keyboard, touch,...), this function + * will return %NULL. + * + * This is most notably implemented for devices of type + * %GDK_SOURCE_PEN and %GDK_SOURCE_ERASER. + * + * Returns: the /dev/input/event* path of this device + **/ +const gchar * +gdk_wayland_device_get_node_path (GdkDevice *device) +{ + GdkWaylandTabletData *tablet; + + GdkSeat *seat; + + g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); + + seat = gdk_device_get_seat (device); + tablet = gdk_wayland_device_manager_find_tablet (GDK_WAYLAND_SEAT (seat), + device); + if (tablet) + return tablet->path; + + return NULL; +} diff --git a/gdk/wayland/gdkwaylanddevice.h b/gdk/wayland/gdkwaylanddevice.h index a5b8ea00f1..b02ceeb8e8 100644 --- a/gdk/wayland/gdkwaylanddevice.h +++ b/gdk/wayland/gdkwaylanddevice.h @@ -55,6 +55,8 @@ struct wl_keyboard *gdk_wayland_device_get_wl_keyboard (GdkDevice *device); GDK_AVAILABLE_IN_3_20 struct wl_seat *gdk_wayland_seat_get_wl_seat (GdkSeat *seat); +GDK_AVAILABLE_IN_3_22 +const gchar *gdk_wayland_device_get_node_path (GdkDevice *device); G_END_DECLS |