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
This commit is contained in:
Carlos Garnacho 2016-08-04 18:59:09 +02:00
parent 942d144d3b
commit 3ac56e60c7
2 changed files with 34 additions and 0 deletions

View File

@ -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;
}

View File

@ -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