GdkDisplay *display; GdkDeviceManager *device_manager; GList *devices, *d; display = gtk_widget_get_display (widget); device_manager = gdk_display_get_device_manager (display); devices = gdk_device_manager_get_devices (device_manager); for (d = devices; d != NULL; d = d->next) { GdkDevice *device; device = d->data; } g_list_free (devices);