static void list_actual_devices (void) { GdkDeviceManager *mgr; GList *list, *l, *devices; mgr = gdk_display_get_device_manager (gdk_display_get_default ()); list = gdk_device_manager_list_devices (mgr, GDK_DEVICE_TYPE_SLAVE); devices = NULL; for (l = list; l ; l = l->next) { GsdWacomDevice *device; device = gsd_wacom_device_new (l->data); if (gsd_wacom_device_get_device_type (device) == WACOM_TYPE_INVALID) { g_object_unref (device); continue; } devices = g_list_prepend (devices, device); } g_list_free (list); list_devices (devices); }
static void add_known_device (CcWacomPanel *self, GdkDevice *gdk_device) { CcWacomPanelPrivate *priv; GsdWacomDevice *device; priv = self->priv; device = gsd_wacom_device_new (gdk_device); if (gsd_wacom_device_get_device_type (device) == WACOM_TYPE_INVALID) { g_object_unref (device); return; } g_debug ("Adding device '%s' (type: '%s') to known devices list", gsd_wacom_device_get_tool_name (device), gsd_wacom_device_type_to_string (gsd_wacom_device_get_device_type (device))); g_hash_table_insert (priv->devices, (gpointer) gdk_device, device); }
static GsdWacomDevice * search_pad_device (void) { GdkDeviceManager *mgr; GList *list, *l; mgr = gdk_display_get_device_manager (gdk_display_get_default ()); list = gdk_device_manager_list_devices (mgr, GDK_DEVICE_TYPE_SLAVE); for (l = list; l ; l = l->next) { GsdWacomDevice *device; device = gsd_wacom_device_new (l->data); if (gsd_wacom_device_get_device_type (device) == WACOM_TYPE_PAD) return (device); g_object_unref (device); } g_list_free (list); return NULL; }