backends: Replace ClutterDeviceManager usage in favor of ClutterSeat

https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
This commit is contained in:
Carlos Garnacho 2019-10-04 21:57:26 +02:00
parent f8fa86f9db
commit 4413b86a30
11 changed files with 114 additions and 105 deletions

View File

@ -257,8 +257,8 @@ meta_backend_monitors_changed (MetaBackend *backend)
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend); MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
MetaMonitorManager *monitor_manager = MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend); meta_backend_get_monitor_manager (backend);
ClutterDeviceManager *manager = clutter_device_manager_get_default (); ClutterSeat *seat = clutter_backend_get_default_seat (priv->clutter_backend);
ClutterInputDevice *device = clutter_device_manager_get_core_device (manager, CLUTTER_POINTER_DEVICE); ClutterInputDevice *device = clutter_seat_get_pointer (seat);
graphene_point_t point; graphene_point_t point;
meta_backend_sync_screen_size (backend); meta_backend_sync_screen_size (backend);
@ -352,9 +352,9 @@ meta_backend_monitor_device (MetaBackend *backend,
} }
static void static void
on_device_added (ClutterDeviceManager *device_manager, on_device_added (ClutterSeat *seat,
ClutterInputDevice *device, ClutterInputDevice *device,
gpointer user_data) gpointer user_data)
{ {
MetaBackend *backend = META_BACKEND (user_data); MetaBackend *backend = META_BACKEND (user_data);
int device_id = clutter_input_device_get_device_id (device); int device_id = clutter_input_device_get_device_id (device);
@ -370,15 +370,16 @@ device_is_slave_touchscreen (ClutterInputDevice *device)
} }
static inline gboolean static inline gboolean
check_has_pointing_device (ClutterDeviceManager *manager) check_has_pointing_device (ClutterSeat *seat)
{ {
const GSList *devices; GList *l, *devices;
gboolean found = FALSE;
devices = clutter_device_manager_peek_devices (manager); devices = clutter_seat_list_devices (seat);
for (; devices; devices = devices->next) for (l = devices; l; l = l->next)
{ {
ClutterInputDevice *device = devices->data; ClutterInputDevice *device = l->data;
if (clutter_input_device_get_device_mode (device) == CLUTTER_INPUT_MODE_MASTER) if (clutter_input_device_get_device_mode (device) == CLUTTER_INPUT_MODE_MASTER)
continue; continue;
@ -386,35 +387,44 @@ check_has_pointing_device (ClutterDeviceManager *manager)
clutter_input_device_get_device_type (device) == CLUTTER_KEYBOARD_DEVICE) clutter_input_device_get_device_type (device) == CLUTTER_KEYBOARD_DEVICE)
continue; continue;
return TRUE; found = TRUE;
break;
} }
return FALSE; g_list_free (devices);
return found;
} }
static inline gboolean static inline gboolean
check_has_slave_touchscreen (ClutterDeviceManager *manager) check_has_slave_touchscreen (ClutterSeat *seat)
{ {
const GSList *devices; GList *l, *devices;
gboolean found = FALSE;
devices = clutter_device_manager_peek_devices (manager); devices = clutter_seat_list_devices (seat);
for (; devices; devices = devices->next) for (l = devices; l; l = l->next)
{ {
ClutterInputDevice *device = devices->data; ClutterInputDevice *device = l->data;
if (clutter_input_device_get_device_mode (device) != CLUTTER_INPUT_MODE_MASTER && if (clutter_input_device_get_device_mode (device) != CLUTTER_INPUT_MODE_MASTER &&
clutter_input_device_get_device_type (device) == CLUTTER_TOUCHSCREEN_DEVICE) clutter_input_device_get_device_type (device) == CLUTTER_TOUCHSCREEN_DEVICE)
return TRUE; {
found = TRUE;
break;
}
} }
return FALSE; g_list_free (devices);
return found;
} }
static void static void
on_device_removed (ClutterDeviceManager *device_manager, on_device_removed (ClutterSeat *seat,
ClutterInputDevice *device, ClutterInputDevice *device,
gpointer user_data) gpointer user_data)
{ {
MetaBackend *backend = META_BACKEND (user_data); MetaBackend *backend = META_BACKEND (user_data);
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend); MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
@ -434,7 +444,7 @@ on_device_removed (ClutterDeviceManager *device_manager,
priv->current_device = NULL; priv->current_device = NULL;
device_type = clutter_input_device_get_device_type (device); device_type = clutter_input_device_get_device_type (device);
has_touchscreen = check_has_slave_touchscreen (device_manager); has_touchscreen = check_has_slave_touchscreen (seat);
if (device_type == CLUTTER_TOUCHSCREEN_DEVICE && has_touchscreen) if (device_type == CLUTTER_TOUCHSCREEN_DEVICE && has_touchscreen)
{ {
@ -443,7 +453,7 @@ on_device_removed (ClutterDeviceManager *device_manager,
} }
else if (device_type != CLUTTER_KEYBOARD_DEVICE) else if (device_type != CLUTTER_KEYBOARD_DEVICE)
{ {
has_pointing_device = check_has_pointing_device (device_manager); has_pointing_device = check_has_pointing_device (seat);
meta_cursor_tracker_set_pointer_visible (cursor_tracker, meta_cursor_tracker_set_pointer_visible (cursor_tracker,
has_pointing_device && has_pointing_device &&
!has_touchscreen); !has_touchscreen);
@ -452,33 +462,33 @@ on_device_removed (ClutterDeviceManager *device_manager,
} }
static void static void
create_device_monitors (MetaBackend *backend, create_device_monitors (MetaBackend *backend,
ClutterDeviceManager *device_manager) ClutterSeat *seat)
{ {
const GSList *devices; GList *l, *devices;
const GSList *l;
create_device_monitor (backend, META_IDLE_MONITOR_CORE_DEVICE); create_device_monitor (backend, META_IDLE_MONITOR_CORE_DEVICE);
devices = clutter_device_manager_peek_devices (device_manager); devices = clutter_seat_list_devices (seat);
for (l = devices; l; l = l->next) for (l = devices; l; l = l->next)
{ {
ClutterInputDevice *device = l->data; ClutterInputDevice *device = l->data;
meta_backend_monitor_device (backend, device); meta_backend_monitor_device (backend, device);
} }
g_list_free (devices);
} }
static void static void
set_initial_pointer_visibility (MetaBackend *backend, set_initial_pointer_visibility (MetaBackend *backend,
ClutterDeviceManager *device_manager) ClutterSeat *seat)
{ {
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend); MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
const GSList *devices; GList *l, *devices;
const GSList *l;
gboolean has_touchscreen = FALSE; gboolean has_touchscreen = FALSE;
devices = clutter_device_manager_peek_devices (device_manager); devices = clutter_seat_list_devices (seat);
for (l = devices; l; l = l->next) for (l = devices; l; l = l->next)
{ {
ClutterInputDevice *device = l->data; ClutterInputDevice *device = l->data;
@ -486,6 +496,7 @@ set_initial_pointer_visibility (MetaBackend *backend,
has_touchscreen |= device_is_slave_touchscreen (device); has_touchscreen |= device_is_slave_touchscreen (device);
} }
g_list_free (devices);
meta_cursor_tracker_set_pointer_visible (priv->cursor_tracker, meta_cursor_tracker_set_pointer_visible (priv->cursor_tracker,
!has_touchscreen); !has_touchscreen);
} }
@ -500,7 +511,6 @@ static void
meta_backend_real_post_init (MetaBackend *backend) meta_backend_real_post_init (MetaBackend *backend)
{ {
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend); MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
ClutterDeviceManager *device_manager = clutter_device_manager_get_default ();
ClutterSeat *seat = clutter_backend_get_default_seat (priv->clutter_backend); ClutterSeat *seat = clutter_backend_get_default_seat (priv->clutter_backend);
ClutterKeymap *keymap = clutter_seat_get_keymap (seat); ClutterKeymap *keymap = clutter_seat_get_keymap (seat);
@ -518,14 +528,14 @@ meta_backend_real_post_init (MetaBackend *backend)
g_hash_table_new_full (g_int_hash, g_int_equal, g_hash_table_new_full (g_int_hash, g_int_equal,
NULL, (GDestroyNotify) g_object_unref); NULL, (GDestroyNotify) g_object_unref);
create_device_monitors (backend, device_manager); create_device_monitors (backend, seat);
g_signal_connect_object (device_manager, "device-added", g_signal_connect_object (seat, "device-added",
G_CALLBACK (on_device_added), backend, 0); G_CALLBACK (on_device_added), backend, 0);
g_signal_connect_object (device_manager, "device-removed", g_signal_connect_object (seat, "device-removed",
G_CALLBACK (on_device_removed), backend, 0); G_CALLBACK (on_device_removed), backend, 0);
set_initial_pointer_visibility (backend, device_manager); set_initial_pointer_visibility (backend, seat);
priv->input_settings = meta_backend_create_input_settings (backend); priv->input_settings = meta_backend_create_input_settings (backend);

View File

@ -405,12 +405,12 @@ get_pointer_position_clutter (int *x,
int *y, int *y,
int *mods) int *mods)
{ {
ClutterDeviceManager *cmanager; ClutterSeat *seat;
ClutterInputDevice *cdevice; ClutterInputDevice *cdevice;
graphene_point_t point; graphene_point_t point;
cmanager = clutter_device_manager_get_default (); seat = clutter_backend_get_default_seat (clutter_get_default_backend ());
cdevice = clutter_device_manager_get_core_device (cmanager, CLUTTER_POINTER_DEVICE); cdevice = clutter_seat_get_pointer (seat);
clutter_input_device_get_coords (cdevice, NULL, &point); clutter_input_device_get_coords (cdevice, NULL, &point);
if (x) if (x)

View File

@ -210,7 +210,7 @@ create_monitor_skeleton (GDBusObjectManagerServer *manager,
} }
static void static void
on_device_added (ClutterDeviceManager *device_manager, on_device_added (ClutterSeat *seat,
ClutterInputDevice *device, ClutterInputDevice *device,
GDBusObjectManagerServer *manager) GDBusObjectManagerServer *manager)
{ {
@ -228,7 +228,7 @@ on_device_added (ClutterDeviceManager *device_manager,
} }
static void static void
on_device_removed (ClutterDeviceManager *device_manager, on_device_removed (ClutterSeat *seat,
ClutterInputDevice *device, ClutterInputDevice *device,
GDBusObjectManagerServer *manager) GDBusObjectManagerServer *manager)
{ {
@ -247,9 +247,9 @@ on_bus_acquired (GDBusConnection *connection,
gpointer user_data) gpointer user_data)
{ {
GDBusObjectManagerServer *manager; GDBusObjectManagerServer *manager;
ClutterDeviceManager *device_manager;
MetaIdleMonitor *monitor; MetaIdleMonitor *monitor;
GSList *devices, *iter; ClutterSeat *seat;
GList *devices, *iter;
char *path; char *path;
manager = g_dbus_object_manager_server_new ("/org/gnome/Mutter/IdleMonitor"); manager = g_dbus_object_manager_server_new ("/org/gnome/Mutter/IdleMonitor");
@ -261,17 +261,17 @@ on_bus_acquired (GDBusConnection *connection,
create_monitor_skeleton (manager, monitor, path); create_monitor_skeleton (manager, monitor, path);
g_free (path); g_free (path);
device_manager = clutter_device_manager_get_default (); seat = clutter_backend_get_default_seat (clutter_get_default_backend ());
devices = clutter_device_manager_list_devices (device_manager); devices = clutter_seat_list_devices (seat);
for (iter = devices; iter; iter = iter->next) for (iter = devices; iter; iter = iter->next)
on_device_added (device_manager, iter->data, manager); on_device_added (seat, iter->data, manager);
g_slist_free (devices); g_list_free (devices);
g_signal_connect_object (device_manager, "device-added", g_signal_connect_object (seat, "device-added",
G_CALLBACK (on_device_added), manager, 0); G_CALLBACK (on_device_added), manager, 0);
g_signal_connect_object (device_manager, "device-removed", g_signal_connect_object (seat, "device-removed",
G_CALLBACK (on_device_removed), manager, 0); G_CALLBACK (on_device_removed), manager, 0);
g_dbus_object_manager_server_set_connection (manager, connection); g_dbus_object_manager_server_set_connection (manager, connection);

View File

@ -40,7 +40,7 @@ struct _MetaInputMapper
{ {
GObject parent_instance; GObject parent_instance;
MetaMonitorManager *monitor_manager; MetaMonitorManager *monitor_manager;
ClutterDeviceManager *input_device_manager; ClutterSeat *seat;
GHashTable *input_devices; /* ClutterInputDevice -> MetaMapperInputInfo */ GHashTable *input_devices; /* ClutterInputDevice -> MetaMapperInputInfo */
GHashTable *output_devices; /* MetaLogicalMonitor -> MetaMapperOutputInfo */ GHashTable *output_devices; /* MetaLogicalMonitor -> MetaMapperOutputInfo */
#ifdef HAVE_LIBGUDEV #ifdef HAVE_LIBGUDEV
@ -525,9 +525,9 @@ input_mapper_monitors_changed_cb (MetaMonitorManager *monitor_manager,
} }
static void static void
input_mapper_device_removed_cb (ClutterDeviceManager *device_manager, input_mapper_device_removed_cb (ClutterSeat *seat,
ClutterInputDevice *device, ClutterInputDevice *device,
MetaInputMapper *mapper) MetaInputMapper *mapper)
{ {
meta_input_mapper_remove_device (mapper, device); meta_input_mapper_remove_device (mapper, device);
} }
@ -540,7 +540,7 @@ meta_input_mapper_finalize (GObject *object)
g_signal_handlers_disconnect_by_func (mapper->monitor_manager, g_signal_handlers_disconnect_by_func (mapper->monitor_manager,
input_mapper_monitors_changed_cb, input_mapper_monitors_changed_cb,
mapper); mapper);
g_signal_handlers_disconnect_by_func (mapper->input_device_manager, g_signal_handlers_disconnect_by_func (mapper->seat,
input_mapper_device_removed_cb, input_mapper_device_removed_cb,
mapper); mapper);
@ -568,8 +568,8 @@ meta_input_mapper_constructed (GObject *object)
mapper->udev_client = g_udev_client_new (udev_subsystems); mapper->udev_client = g_udev_client_new (udev_subsystems);
#endif #endif
mapper->input_device_manager = clutter_device_manager_get_default (); mapper->seat = clutter_backend_get_default_seat (clutter_get_default_backend ());
g_signal_connect (mapper->input_device_manager, "device-removed", g_signal_connect (mapper->seat, "device-removed",
G_CALLBACK (input_mapper_device_removed_cb), mapper); G_CALLBACK (input_mapper_device_removed_cb), mapper);
backend = meta_get_backend (); backend = meta_get_backend ();

View File

@ -67,7 +67,6 @@ struct _DeviceMappingInfo
struct _MetaInputSettingsPrivate struct _MetaInputSettingsPrivate
{ {
ClutterDeviceManager *device_manager;
ClutterSeat *seat; ClutterSeat *seat;
MetaMonitorManager *monitor_manager; MetaMonitorManager *monitor_manager;
gulong monitors_changed_id; gulong monitors_changed_id;
@ -130,23 +129,23 @@ meta_input_settings_get_devices (MetaInputSettings *settings,
ClutterInputDeviceType type) ClutterInputDeviceType type)
{ {
MetaInputSettingsPrivate *priv; MetaInputSettingsPrivate *priv;
const GSList *devices; GList *l, *devices;
GSList *list = NULL; GSList *list = NULL;
priv = meta_input_settings_get_instance_private (settings); priv = meta_input_settings_get_instance_private (settings);
devices = clutter_device_manager_peek_devices (priv->device_manager); devices = clutter_seat_list_devices (priv->seat);
while (devices) for (l = devices; l; l = l->next)
{ {
ClutterInputDevice *device = devices->data; ClutterInputDevice *device = l->data;
if (clutter_input_device_get_device_type (device) == type && if (clutter_input_device_get_device_type (device) == type &&
clutter_input_device_get_device_mode (device) != CLUTTER_INPUT_MODE_MASTER) clutter_input_device_get_device_mode (device) != CLUTTER_INPUT_MODE_MASTER)
list = g_slist_prepend (list, device); list = g_slist_prepend (list, device);
devices = devices->next;
} }
g_list_free (devices);
return list; return list;
} }
@ -383,10 +382,9 @@ update_pointer_accel_profile (MetaInputSettings *input_settings,
{ {
MetaInputSettingsPrivate *priv = MetaInputSettingsPrivate *priv =
meta_input_settings_get_instance_private (input_settings); meta_input_settings_get_instance_private (input_settings);
const GSList *devices; GList *l, *devices;
const GSList *l;
devices = clutter_device_manager_peek_devices (priv->device_manager); devices = clutter_seat_list_devices (priv->seat);
for (l = devices; l; l = l->next) for (l = devices; l; l = l->next)
{ {
device = l->data; device = l->data;
@ -398,6 +396,8 @@ update_pointer_accel_profile (MetaInputSettings *input_settings,
do_update_pointer_accel_profile (input_settings, settings, do_update_pointer_accel_profile (input_settings, settings,
device, profile); device, profile);
} }
g_list_free (devices);
} }
} }
@ -767,19 +767,19 @@ update_trackball_scroll_button (MetaInputSettings *input_settings,
} }
else if (!device) else if (!device)
{ {
const GSList *devices; GList *l, *devices;
devices = clutter_device_manager_peek_devices (priv->device_manager); devices = clutter_seat_list_devices (priv->seat);
while (devices) for (l = devices; l; l = l->next)
{ {
device = devices->data; device = devices->data;
if (input_settings_class->is_trackball_device (input_settings, device)) if (input_settings_class->is_trackball_device (input_settings, device))
input_settings_class->set_scroll_button (input_settings, device, button); input_settings_class->set_scroll_button (input_settings, device, button);
devices = devices->next;
} }
g_list_free (devices);
} }
} }
@ -1252,7 +1252,7 @@ load_keyboard_a11y_settings (MetaInputSettings *input_settings,
ClutterSeat *seat = clutter_backend_get_default_seat (backend); ClutterSeat *seat = clutter_backend_get_default_seat (backend);
guint i; guint i;
core_keyboard = clutter_device_manager_get_core_device (priv->device_manager, CLUTTER_KEYBOARD_DEVICE); core_keyboard = clutter_seat_get_keyboard (priv->seat);
if (device && device != core_keyboard) if (device && device != core_keyboard)
return; return;
@ -1351,15 +1351,14 @@ load_pointer_a11y_settings (MetaInputSettings *input_settings,
ClutterPointerA11ySettings pointer_a11y_settings; ClutterPointerA11ySettings pointer_a11y_settings;
ClutterInputDevice *core_pointer; ClutterInputDevice *core_pointer;
GDesktopMouseDwellMode dwell_mode; GDesktopMouseDwellMode dwell_mode;
ClutterSeat *seat;
guint i; guint i;
core_pointer = clutter_device_manager_get_core_device (priv->device_manager, CLUTTER_POINTER_DEVICE); core_pointer = clutter_seat_get_pointer (priv->seat);
if (device && device != core_pointer) if (device && device != core_pointer)
return; return;
seat = clutter_input_device_get_seat (device); clutter_seat_get_pointer_a11y_settings (CLUTTER_SEAT (priv->seat),
clutter_seat_get_pointer_a11y_settings (seat, &pointer_a11y_settings); &pointer_a11y_settings);
pointer_a11y_settings.controls = 0; pointer_a11y_settings.controls = 0;
for (i = 0; i < G_N_ELEMENTS (pointer_a11y_settings_flags_pair); i++) for (i = 0; i < G_N_ELEMENTS (pointer_a11y_settings_flags_pair); i++)
{ {
@ -1391,7 +1390,8 @@ load_pointer_a11y_settings (MetaInputSettings *input_settings,
pointer_a11y_settings.dwell_gesture_secondary = pointer_a11y_settings.dwell_gesture_secondary =
pointer_a11y_dwell_direction_from_setting (input_settings, "dwell-gesture-secondary"); pointer_a11y_dwell_direction_from_setting (input_settings, "dwell-gesture-secondary");
clutter_seat_set_pointer_a11y_settings (seat, &pointer_a11y_settings); clutter_seat_set_pointer_a11y_settings (CLUTTER_SEAT (priv->seat),
&pointer_a11y_settings);
} }
static void static void
@ -1779,9 +1779,9 @@ evaluate_two_finger_scrolling (MetaInputSettings *input_settings,
} }
static void static void
meta_input_settings_device_added (ClutterDeviceManager *device_manager, meta_input_settings_device_added (ClutterSeat *seat,
ClutterInputDevice *device, ClutterInputDevice *device,
MetaInputSettings *input_settings) MetaInputSettings *input_settings)
{ {
if (clutter_input_device_get_device_mode (device) == CLUTTER_INPUT_MODE_MASTER) if (clutter_input_device_get_device_mode (device) == CLUTTER_INPUT_MODE_MASTER)
return; return;
@ -1793,9 +1793,9 @@ meta_input_settings_device_added (ClutterDeviceManager *device_manager,
} }
static void static void
meta_input_settings_device_removed (ClutterDeviceManager *device_manager, meta_input_settings_device_removed (ClutterSeat *seat,
ClutterInputDevice *device, ClutterInputDevice *device,
MetaInputSettings *input_settings) MetaInputSettings *input_settings)
{ {
MetaInputSettingsPrivate *priv; MetaInputSettingsPrivate *priv;
@ -1846,7 +1846,7 @@ current_tool_info_free (CurrentToolInfo *info)
} }
static void static void
meta_input_settings_tool_changed (ClutterDeviceManager *device_manager, meta_input_settings_tool_changed (ClutterSeat *seat,
ClutterInputDevice *device, ClutterInputDevice *device,
ClutterInputDeviceTool *tool, ClutterInputDeviceTool *tool,
MetaInputSettings *input_settings) MetaInputSettings *input_settings)
@ -1873,10 +1873,10 @@ static void
check_mappable_devices (MetaInputSettings *input_settings) check_mappable_devices (MetaInputSettings *input_settings)
{ {
MetaInputSettingsPrivate *priv; MetaInputSettingsPrivate *priv;
const GSList *devices, *l; GList *l, *devices;
priv = meta_input_settings_get_instance_private (input_settings); priv = meta_input_settings_get_instance_private (input_settings);
devices = clutter_device_manager_peek_devices (priv->device_manager); devices = clutter_seat_list_devices (priv->seat);
for (l = devices; l; l = l->next) for (l = devices; l; l = l->next)
{ {
@ -1887,6 +1887,8 @@ check_mappable_devices (MetaInputSettings *input_settings)
check_add_mappable_device (input_settings, device); check_add_mappable_device (input_settings, device);
} }
g_list_free (devices);
} }
static void static void
@ -1958,12 +1960,11 @@ meta_input_settings_init (MetaInputSettings *settings)
priv = meta_input_settings_get_instance_private (settings); priv = meta_input_settings_get_instance_private (settings);
priv->seat = clutter_backend_get_default_seat (clutter_get_default_backend ()); priv->seat = clutter_backend_get_default_seat (clutter_get_default_backend ());
priv->device_manager = clutter_device_manager_get_default (); g_signal_connect (priv->seat, "device-added",
g_signal_connect (priv->device_manager, "device-added",
G_CALLBACK (meta_input_settings_device_added), settings); G_CALLBACK (meta_input_settings_device_added), settings);
g_signal_connect (priv->device_manager, "device-removed", g_signal_connect (priv->seat, "device-removed",
G_CALLBACK (meta_input_settings_device_removed), settings); G_CALLBACK (meta_input_settings_device_removed), settings);
g_signal_connect (priv->device_manager, "tool-changed", g_signal_connect (priv->seat, "tool-changed",
G_CALLBACK (meta_input_settings_tool_changed), settings); G_CALLBACK (meta_input_settings_tool_changed), settings);
priv->mouse_settings = g_settings_new ("org.gnome.desktop.peripherals.mouse"); priv->mouse_settings = g_settings_new ("org.gnome.desktop.peripherals.mouse");

View File

@ -50,7 +50,6 @@
#include "backends/native/meta-barrier-native.h" #include "backends/native/meta-barrier-native.h"
#include "backends/native/meta-clutter-backend-native.h" #include "backends/native/meta-clutter-backend-native.h"
#include "backends/native/meta-cursor-renderer-native.h" #include "backends/native/meta-cursor-renderer-native.h"
#include "backends/native/meta-device-manager-native.h"
#include "backends/native/meta-event-native.h" #include "backends/native/meta-event-native.h"
#include "backends/native/meta-input-settings-native.h" #include "backends/native/meta-input-settings-native.h"
#include "backends/native/meta-kms.h" #include "backends/native/meta-kms.h"
@ -409,8 +408,8 @@ meta_backend_native_warp_pointer (MetaBackend *backend,
int x, int x,
int y) int y)
{ {
ClutterDeviceManager *manager = clutter_device_manager_get_default (); ClutterSeat *seat = clutter_backend_get_default_seat (clutter_get_default_backend ());
ClutterInputDevice *device = clutter_device_manager_get_core_device (manager, CLUTTER_POINTER_DEVICE); ClutterInputDevice *device = clutter_seat_get_pointer (seat);
MetaCursorTracker *cursor_tracker = meta_backend_get_cursor_tracker (backend); MetaCursorTracker *cursor_tracker = meta_backend_get_cursor_tracker (backend);
/* XXX */ /* XXX */

View File

@ -26,7 +26,6 @@
#include "backends/native/meta-input-device-tool-native.h" #include "backends/native/meta-input-device-tool-native.h"
#include "backends/native/meta-input-device-native.h" #include "backends/native/meta-input-device-native.h"
#include "backends/native/meta-device-manager-native.h"
#include "backends/native/meta-seat-native.h" #include "backends/native/meta-seat-native.h"
#include "clutter/clutter-mutter.h" #include "clutter/clutter-mutter.h"

View File

@ -28,7 +28,6 @@
#include "backends/meta-logical-monitor.h" #include "backends/meta-logical-monitor.h"
#include "backends/native/meta-backend-native.h" #include "backends/native/meta-backend-native.h"
#include "backends/native/meta-device-manager-native.h"
#include "backends/native/meta-input-device-native.h" #include "backends/native/meta-input-device-native.h"
#include "backends/native/meta-input-device-tool-native.h" #include "backends/native/meta-input-device-tool-native.h"
#include "backends/native/meta-input-settings-native.h" #include "backends/native/meta-input-settings-native.h"

View File

@ -21,8 +21,8 @@
#include "config.h" #include "config.h"
#include "backends/native/meta-device-manager-native.h"
#include "backends/native/meta-keymap-native.h" #include "backends/native/meta-keymap-native.h"
#include "backends/native/meta-seat-native.h"
static const char *option_xkb_layout = "us"; static const char *option_xkb_layout = "us";
static const char *option_xkb_variant = ""; static const char *option_xkb_variant = "";

View File

@ -39,8 +39,8 @@
#include "backends/native/meta-backend-native.h" #include "backends/native/meta-backend-native.h"
#include "backends/native/meta-clutter-backend-native.h" #include "backends/native/meta-clutter-backend-native.h"
#include "backends/native/meta-cursor-renderer-native.h" #include "backends/native/meta-cursor-renderer-native.h"
#include "backends/native/meta-device-manager-native.h"
#include "backends/native/meta-renderer-native.h" #include "backends/native/meta-renderer-native.h"
#include "backends/native/meta-seat-native.h"
#include "clutter/clutter.h" #include "clutter/clutter.h"
#include "meta-dbus-login1.h" #include "meta-dbus-login1.h"

View File

@ -70,9 +70,9 @@ take_touch_grab (MetaBackend *backend)
} }
static void static void
on_device_added (ClutterDeviceManager *device_manager, on_device_added (ClutterSeat *seat,
ClutterInputDevice *device, ClutterInputDevice *device,
gpointer user_data) gpointer user_data)
{ {
MetaBackendX11 *x11 = META_BACKEND_X11 (user_data); MetaBackendX11 *x11 = META_BACKEND_X11 (user_data);
@ -85,11 +85,12 @@ meta_backend_x11_cm_post_init (MetaBackend *backend)
{ {
MetaBackendClass *parent_backend_class = MetaBackendClass *parent_backend_class =
META_BACKEND_CLASS (meta_backend_x11_cm_parent_class); META_BACKEND_CLASS (meta_backend_x11_cm_parent_class);
ClutterSeat *seat;
parent_backend_class->post_init (backend); parent_backend_class->post_init (backend);
g_signal_connect_object (clutter_device_manager_get_default (), seat = clutter_backend_get_default_seat (clutter_get_default_backend ());
"device-added", g_signal_connect_object (seat, "device-added",
G_CALLBACK (on_device_added), backend, 0); G_CALLBACK (on_device_added), backend, 0);
take_touch_grab (backend); take_touch_grab (backend);