backends/x11: Move to backend-specific meta_input_device_x11_get_device_id()

Make this info part of the MetaInputDeviceX11, as it's actually just
relevant to that backend.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1569>
This commit is contained in:
Carlos Garnacho 2020-11-17 14:59:42 +01:00 committed by Marge Bot
parent 045181f321
commit 7738ce2a64
6 changed files with 38 additions and 24 deletions

View File

@ -394,6 +394,16 @@ meta_input_device_x11_get_pointer_location (ClutterInputDevice *device,
return device_xi2->query_status; return device_xi2->query_status;
} }
int
meta_input_device_x11_get_device_id (ClutterInputDevice *device)
{
MetaInputDeviceX11 *device_xi2 = META_INPUT_DEVICE_X11 (device);
g_return_val_if_fail (META_IS_INPUT_DEVICE_X11 (device), 0);
return device_xi2->device_id;
}
#ifdef HAVE_LIBWACOM #ifdef HAVE_LIBWACOM
uint32_t uint32_t
meta_input_device_x11_get_pad_group_mode (ClutterInputDevice *device, meta_input_device_x11_get_pad_group_mode (ClutterInputDevice *device,

View File

@ -69,6 +69,7 @@ void meta_input_device_x11_update_pad_state (ClutterInputDevice *device,
gboolean meta_input_device_x11_get_pointer_location (ClutterInputDevice *device, gboolean meta_input_device_x11_get_pointer_location (ClutterInputDevice *device,
float *x, float *x,
float *y); float *y);
int meta_input_device_x11_get_device_id (ClutterInputDevice *device);
G_END_DECLS G_END_DECLS

View File

@ -37,6 +37,7 @@
#include "backends/meta-logical-monitor.h" #include "backends/meta-logical-monitor.h"
#include "backends/x11/meta-backend-x11.h" #include "backends/x11/meta-backend-x11.h"
#include "backends/x11/meta-input-device-x11.h"
#include "core/display-private.h" #include "core/display-private.h"
#include "meta/meta-x11-errors.h" #include "meta/meta-x11-errors.h"
@ -77,7 +78,7 @@ device_ensure_xdevice (ClutterInputDevice *device)
MetaDisplay *display = meta_get_display (); MetaDisplay *display = meta_get_display ();
MetaBackend *backend = meta_get_backend (); MetaBackend *backend = meta_get_backend ();
Display *xdisplay = meta_backend_x11_get_xdisplay (META_BACKEND_X11 (backend)); Display *xdisplay = meta_backend_x11_get_xdisplay (META_BACKEND_X11 (backend));
int device_id = clutter_input_device_get_device_id (device); int device_id = meta_input_device_x11_get_device_id (device);
XDevice *xdev = NULL; XDevice *xdev = NULL;
xdev = g_object_get_data (G_OBJECT (device), "meta-input-settings-xdevice"); xdev = g_object_get_data (G_OBJECT (device), "meta-input-settings-xdevice");
@ -116,7 +117,7 @@ get_property (ClutterInputDevice *device,
if (!property_atom) if (!property_atom)
return NULL; return NULL;
device_id = clutter_input_device_get_device_id (device); device_id = meta_input_device_x11_get_device_id (device);
clutter_x11_trap_x_errors (); clutter_x11_trap_x_errors ();
rc = XIGetProperty (xdisplay, device_id, property_atom, rc = XIGetProperty (xdisplay, device_id, property_atom,
@ -154,7 +155,7 @@ change_property (ClutterInputDevice *device,
if (!property_atom) if (!property_atom)
return; return;
device_id = clutter_input_device_get_device_id (device); device_id = meta_input_device_x11_get_device_id (device);
data_ret = get_property (device, property, type, format, nitems); data_ret = get_property (device, property, type, format, nitems);
if (!data_ret) if (!data_ret)
@ -674,7 +675,7 @@ device_query_area (ClutterInputDevice *device,
Atom abs_x, abs_y; Atom abs_x, abs_y;
*width = *height = 0; *width = *height = 0;
device_id = clutter_input_device_get_device_id (device); device_id = meta_input_device_x11_get_device_id (device);
info = XIQueryDevice (xdisplay, device_id, &n_devices); info = XIQueryDevice (xdisplay, device_id, &n_devices);
if (n_devices <= 0 || !info) if (n_devices <= 0 || !info)
return FALSE; return FALSE;

View File

@ -145,7 +145,7 @@ translate_valuator_class (Display *xdisplay,
class->min, class->min,
class->max, class->max,
class->resolution, class->resolution,
device->id); meta_input_device_x11_get_device_id (device));
} }
static void static void
@ -577,7 +577,7 @@ pad_passive_button_grab (ClutterInputDevice *device)
XIEventMask xi_event_mask; XIEventMask xi_event_mask;
int device_id, rc; int device_id, rc;
device_id = clutter_input_device_get_device_id (device); device_id = meta_input_device_x11_get_device_id (device);
xi_event_mask.deviceid = device_id; xi_event_mask.deviceid = device_id;
xi_event_mask.mask_len = XIMaskLen (XI_LASTEVENT); xi_event_mask.mask_len = XIMaskLen (XI_LASTEVENT);
@ -791,7 +791,7 @@ device_get_tool_serial (ClutterInputDevice *device)
clutter_x11_trap_x_errors (); clutter_x11_trap_x_errors ();
rc = XIGetProperty (clutter_x11_get_default_display (), rc = XIGetProperty (clutter_x11_get_default_display (),
clutter_input_device_get_device_id (device), meta_input_device_x11_get_device_id (device),
prop, 0, 4, FALSE, XA_INTEGER, &type, &format, &nitems, &bytes_after, prop, 0, 4, FALSE, XA_INTEGER, &type, &format, &nitems, &bytes_after,
(guchar **) &data); (guchar **) &data);
clutter_x11_untrap_x_errors (); clutter_x11_untrap_x_errors ();
@ -980,7 +980,7 @@ translate_raw_event (MetaSeatX11 *seat_x11,
{ {
case XI_RawMotion: case XI_RawMotion:
g_debug ("raw motion: device:%d '%s'", g_debug ("raw motion: device:%d '%s'",
device->id, meta_input_device_x11_get_device_id (device),
device->device_name); device->device_name);
/* We don't get actual pointer location with raw events, and we cannot /* We don't get actual pointer location with raw events, and we cannot
@ -997,7 +997,7 @@ translate_raw_event (MetaSeatX11 *seat_x11,
cookie->evtype == XI_RawButtonPress cookie->evtype == XI_RawButtonPress
? "press " ? "press "
: "release", : "release",
device->id, meta_input_device_x11_get_device_id (device),
device->device_name, device->device_name,
xev->detail); xev->detail);
_clutter_input_pointer_a11y_on_button_event (device, _clutter_input_pointer_a11y_on_button_event (device,
@ -1102,7 +1102,7 @@ translate_pad_event (ClutterEvent *event,
? "pad ring " ? "pad ring "
: "pad strip", : "pad strip",
(unsigned int) xev->event, (unsigned int) xev->event,
device->id, meta_input_device_x11_get_device_id (device),
device->device_name, device->device_name,
event->any.time, value); event->any.time, value);
@ -1914,7 +1914,7 @@ meta_seat_x11_translate_event (MetaSeatX11 *seat,
? "pad button press " ? "pad button press "
: "pad button release", : "pad button release",
(unsigned int) stage_x11->xwin, (unsigned int) stage_x11->xwin,
device->id, meta_input_device_x11_get_device_id (device),
device->device_name, device->device_name,
event->any.time, event->any.time,
event->pad_button.button); event->pad_button.button);
@ -1964,7 +1964,7 @@ meta_seat_x11_translate_event (MetaSeatX11 *seat,
"x:%.2f, y:%.2f, " "x:%.2f, y:%.2f, "
"emulated:%s)", "emulated:%s)",
(unsigned int) stage_x11->xwin, (unsigned int) stage_x11->xwin,
device->id, meta_input_device_x11_get_device_id (device),
device->device_name, device->device_name,
event->any.time, event->any.time,
event->scroll.direction == CLUTTER_SCROLL_UP ? "up" : event->scroll.direction == CLUTTER_SCROLL_UP ? "up" :
@ -2010,7 +2010,7 @@ meta_seat_x11_translate_event (MetaSeatX11 *seat,
? "button press " ? "button press "
: "button release", : "button release",
(unsigned int) stage_x11->xwin, (unsigned int) stage_x11->xwin,
device->id, meta_input_device_x11_get_device_id (device),
device->device_name, device->device_name,
event->any.time, event->any.time,
event->button.button, event->button.button,
@ -2073,7 +2073,7 @@ meta_seat_x11_translate_event (MetaSeatX11 *seat,
g_debug ("smooth scroll: win:0x%x device:%d '%s' (x:%.2f, y:%.2f, delta:%f, %f)", g_debug ("smooth scroll: win:0x%x device:%d '%s' (x:%.2f, y:%.2f, delta:%f, %f)",
(unsigned int) stage_x11->xwin, (unsigned int) stage_x11->xwin,
event->scroll.device->id, meta_input_device_x11_get_device_id (event->scroll.device),
event->scroll.device->device_name, event->scroll.device->device_name,
event->scroll.x, event->scroll.x,
event->scroll.y, event->scroll.y,
@ -2109,7 +2109,7 @@ meta_seat_x11_translate_event (MetaSeatX11 *seat,
g_debug ("motion: win:0x%x device:%d '%s' (x:%.2f, y:%.2f, axes:%s)", g_debug ("motion: win:0x%x device:%d '%s' (x:%.2f, y:%.2f, axes:%s)",
(unsigned int) stage_x11->xwin, (unsigned int) stage_x11->xwin,
event->motion.device->id, meta_input_device_x11_get_device_id (event->motion.device),
event->motion.device->device_name, event->motion.device->device_name,
event->motion.x, event->motion.x,
event->motion.y, event->motion.y,
@ -2172,7 +2172,7 @@ meta_seat_x11_translate_event (MetaSeatX11 *seat,
g_debug ("touch %s: win:0x%x device:%d '%s' (seq:%d, x:%.2f, y:%.2f, axes:%s)", g_debug ("touch %s: win:0x%x device:%d '%s' (seq:%d, x:%.2f, y:%.2f, axes:%s)",
event->type == CLUTTER_TOUCH_BEGIN ? "begin" : "end", event->type == CLUTTER_TOUCH_BEGIN ? "begin" : "end",
(unsigned int) stage_x11->xwin, (unsigned int) stage_x11->xwin,
event->touch.device->id, meta_input_device_x11_get_device_id (event->touch.device),
event->touch.device->device_name, event->touch.device->device_name,
GPOINTER_TO_UINT (event->touch.sequence), GPOINTER_TO_UINT (event->touch.sequence),
event->touch.x, event->touch.x,
@ -2218,7 +2218,7 @@ meta_seat_x11_translate_event (MetaSeatX11 *seat,
g_debug ("touch update: win:0x%x device:%d '%s' (seq:%d, x:%.2f, y:%.2f, axes:%s)", g_debug ("touch update: win:0x%x device:%d '%s' (seq:%d, x:%.2f, y:%.2f, axes:%s)",
(unsigned int) stage_x11->xwin, (unsigned int) stage_x11->xwin,
event->touch.device->id, meta_input_device_x11_get_device_id (event->touch.device),
event->touch.device->device_name, event->touch.device->device_name,
GPOINTER_TO_UINT (event->touch.sequence), GPOINTER_TO_UINT (event->touch.sequence),
event->touch.x, event->touch.x,

View File

@ -27,6 +27,7 @@
#include "backends/meta-cursor-tracker-private.h" #include "backends/meta-cursor-tracker-private.h"
#include "backends/meta-idle-monitor-private.h" #include "backends/meta-idle-monitor-private.h"
#include "backends/x11/meta-backend-x11.h" #include "backends/x11/meta-backend-x11.h"
#include "backends/x11/meta-input-device-x11.h"
#include "compositor/meta-window-actor-private.h" #include "compositor/meta-window-actor-private.h"
#include "core/display-private.h" #include "core/display-private.h"
#include "core/window-private.h" #include "core/window-private.h"
@ -175,7 +176,7 @@ maybe_unfreeze_pointer_events (MetaBackend *backend,
return; return;
device = clutter_event_get_device (event); device = clutter_event_get_device (event);
device_id = clutter_input_device_get_device_id (device); device_id = meta_input_device_x11_get_device_id (device);
switch (unfreeze_method) switch (unfreeze_method)
{ {
case EVENTS_UNFREEZE_SYNC: case EVENTS_UNFREEZE_SYNC:

View File

@ -34,6 +34,7 @@
#include "backends/meta-logical-monitor.h" #include "backends/meta-logical-monitor.h"
#include "backends/meta-monitor-manager-private.h" #include "backends/meta-monitor-manager-private.h"
#include "backends/x11/meta-backend-x11.h" #include "backends/x11/meta-backend-x11.h"
#include "backends/x11/meta-input-device-x11.h"
#include "compositor/compositor-private.h" #include "compositor/compositor-private.h"
#include "core/edge-resistance.h" #include "core/edge-resistance.h"
#include "core/frame.h" #include "core/frame.h"
@ -2075,7 +2076,7 @@ process_special_modifier_key (MetaDisplay *display,
if (xdisplay) if (xdisplay)
XIAllowEvents (xdisplay, XIAllowEvents (xdisplay,
clutter_input_device_get_device_id (event->device), meta_input_device_x11_get_device_id (event->device),
XIAsyncDevice, event->time); XIAsyncDevice, event->time);
} }
else else
@ -2084,7 +2085,7 @@ process_special_modifier_key (MetaDisplay *display,
* per-window key bindings or to the application */ * per-window key bindings or to the application */
if (xdisplay) if (xdisplay)
XIAllowEvents (xdisplay, XIAllowEvents (xdisplay,
clutter_input_device_get_device_id (event->device), meta_input_device_x11_get_device_id (event->device),
XIReplayDevice, event->time); XIReplayDevice, event->time);
} }
} }
@ -2098,7 +2099,7 @@ process_special_modifier_key (MetaDisplay *display,
* starts typing into the overlay we get all the keys */ * starts typing into the overlay we get all the keys */
if (xdisplay) if (xdisplay)
XIAllowEvents (xdisplay, XIAllowEvents (xdisplay,
clutter_input_device_get_device_id (event->device), meta_input_device_x11_get_device_id (event->device),
XIAsyncDevice, event->time); XIAsyncDevice, event->time);
binding = get_keybinding (keys, resolved_key_combo); binding = get_keybinding (keys, resolved_key_combo);
@ -2123,7 +2124,7 @@ process_special_modifier_key (MetaDisplay *display,
*/ */
if (xdisplay) if (xdisplay)
XIAllowEvents (xdisplay, XIAllowEvents (xdisplay,
clutter_input_device_get_device_id (event->device), meta_input_device_x11_get_device_id (event->device),
XIAsyncDevice, event->time); XIAsyncDevice, event->time);
} }
@ -2139,7 +2140,7 @@ process_special_modifier_key (MetaDisplay *display,
* on the next event if it's not the release of the modifier key */ * on the next event if it's not the release of the modifier key */
if (xdisplay) if (xdisplay)
XIAllowEvents (xdisplay, XIAllowEvents (xdisplay,
clutter_input_device_get_device_id (event->device), meta_input_device_x11_get_device_id (event->device),
XISyncDevice, event->time); XISyncDevice, event->time);
return TRUE; return TRUE;
@ -2258,7 +2259,7 @@ process_key_event (MetaDisplay *display,
{ {
Display *xdisplay = meta_backend_x11_get_xdisplay (META_BACKEND_X11 (backend)); Display *xdisplay = meta_backend_x11_get_xdisplay (META_BACKEND_X11 (backend));
XIAllowEvents (xdisplay, XIAllowEvents (xdisplay,
clutter_input_device_get_device_id (event->device), meta_input_device_x11_get_device_id (event->device),
XIAsyncDevice, event->time); XIAsyncDevice, event->time);
} }
} }