forked from AuroraMiddleware/gtk
gdk/wayland: Emit GdkSeat::device-added/removed
Those were never sent in this backend...
This commit is contained in:
parent
43e59258e4
commit
7decad177c
@ -2735,6 +2735,10 @@ _gdk_wayland_seat_remove_tablet (GdkWaylandSeat *seat,
|
|||||||
{
|
{
|
||||||
seat->tablets = g_list_remove (seat->tablets, tablet);
|
seat->tablets = g_list_remove (seat->tablets, tablet);
|
||||||
|
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), tablet->stylus_device);
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), tablet->eraser_device);
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), tablet->master);
|
||||||
|
|
||||||
zwp_tablet_v2_destroy (tablet->wp_tablet);
|
zwp_tablet_v2_destroy (tablet->wp_tablet);
|
||||||
|
|
||||||
_gdk_device_set_associated_device (tablet->master, NULL);
|
_gdk_device_set_associated_device (tablet->master, NULL);
|
||||||
@ -2760,6 +2764,7 @@ _gdk_wayland_seat_remove_tablet_pad (GdkWaylandSeat *seat,
|
|||||||
{
|
{
|
||||||
seat->tablet_pads = g_list_remove (seat->tablet_pads, pad);
|
seat->tablet_pads = g_list_remove (seat->tablet_pads, pad);
|
||||||
|
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), pad->device);
|
||||||
_gdk_device_set_associated_device (pad->device, NULL);
|
_gdk_device_set_associated_device (pad->device, NULL);
|
||||||
|
|
||||||
g_object_unref (pad->device);
|
g_object_unref (pad->device);
|
||||||
@ -2876,6 +2881,10 @@ tablet_handle_done (void *data,
|
|||||||
_gdk_device_set_associated_device (stylus_device, master);
|
_gdk_device_set_associated_device (stylus_device, master);
|
||||||
_gdk_device_set_associated_device (eraser_device, master);
|
_gdk_device_set_associated_device (eraser_device, master);
|
||||||
|
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), master);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), stylus_device);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), eraser_device);
|
||||||
|
|
||||||
g_free (eraser_name);
|
g_free (eraser_name);
|
||||||
g_free (master_name);
|
g_free (master_name);
|
||||||
g_free (vid);
|
g_free (vid);
|
||||||
@ -2970,6 +2979,7 @@ seat_handle_capabilities (void *data,
|
|||||||
"seat", seat,
|
"seat", seat,
|
||||||
NULL);
|
NULL);
|
||||||
_gdk_device_set_associated_device (seat->pointer, seat->master_pointer);
|
_gdk_device_set_associated_device (seat->pointer, seat->master_pointer);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), seat->pointer);
|
||||||
|
|
||||||
if (display_wayland->pointer_gestures)
|
if (display_wayland->pointer_gestures)
|
||||||
{
|
{
|
||||||
@ -2994,12 +3004,14 @@ seat_handle_capabilities (void *data,
|
|||||||
{
|
{
|
||||||
wl_pointer_release (seat->wl_pointer);
|
wl_pointer_release (seat->wl_pointer);
|
||||||
seat->wl_pointer = NULL;
|
seat->wl_pointer = NULL;
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), seat->pointer);
|
||||||
_gdk_device_set_associated_device (seat->pointer, NULL);
|
_gdk_device_set_associated_device (seat->pointer, NULL);
|
||||||
|
|
||||||
g_clear_object (&seat->pointer);
|
g_clear_object (&seat->pointer);
|
||||||
|
|
||||||
if (seat->wheel_scrolling)
|
if (seat->wheel_scrolling)
|
||||||
{
|
{
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), seat->wheel_scrolling);
|
||||||
_gdk_device_set_associated_device (seat->wheel_scrolling, NULL);
|
_gdk_device_set_associated_device (seat->wheel_scrolling, NULL);
|
||||||
|
|
||||||
g_clear_object (&seat->wheel_scrolling);
|
g_clear_object (&seat->wheel_scrolling);
|
||||||
@ -3007,6 +3019,7 @@ seat_handle_capabilities (void *data,
|
|||||||
|
|
||||||
if (seat->finger_scrolling)
|
if (seat->finger_scrolling)
|
||||||
{
|
{
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), seat->finger_scrolling);
|
||||||
_gdk_device_set_associated_device (seat->finger_scrolling, NULL);
|
_gdk_device_set_associated_device (seat->finger_scrolling, NULL);
|
||||||
|
|
||||||
g_clear_object (&seat->finger_scrolling);
|
g_clear_object (&seat->finger_scrolling);
|
||||||
@ -3014,6 +3027,7 @@ seat_handle_capabilities (void *data,
|
|||||||
|
|
||||||
if (seat->continuous_scrolling)
|
if (seat->continuous_scrolling)
|
||||||
{
|
{
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), seat->continuous_scrolling);
|
||||||
_gdk_device_set_associated_device (seat->continuous_scrolling, NULL);
|
_gdk_device_set_associated_device (seat->continuous_scrolling, NULL);
|
||||||
|
|
||||||
g_clear_object (&seat->continuous_scrolling);
|
g_clear_object (&seat->continuous_scrolling);
|
||||||
@ -3037,11 +3051,13 @@ seat_handle_capabilities (void *data,
|
|||||||
NULL);
|
NULL);
|
||||||
_gdk_device_reset_axes (seat->keyboard);
|
_gdk_device_reset_axes (seat->keyboard);
|
||||||
_gdk_device_set_associated_device (seat->keyboard, seat->master_keyboard);
|
_gdk_device_set_associated_device (seat->keyboard, seat->master_keyboard);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), seat->keyboard);
|
||||||
}
|
}
|
||||||
else if (!(caps & WL_SEAT_CAPABILITY_KEYBOARD) && seat->wl_keyboard)
|
else if (!(caps & WL_SEAT_CAPABILITY_KEYBOARD) && seat->wl_keyboard)
|
||||||
{
|
{
|
||||||
wl_keyboard_release (seat->wl_keyboard);
|
wl_keyboard_release (seat->wl_keyboard);
|
||||||
seat->wl_keyboard = NULL;
|
seat->wl_keyboard = NULL;
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), seat->keyboard);
|
||||||
_gdk_device_set_associated_device (seat->keyboard, NULL);
|
_gdk_device_set_associated_device (seat->keyboard, NULL);
|
||||||
|
|
||||||
g_clear_object (&seat->keyboard);
|
g_clear_object (&seat->keyboard);
|
||||||
@ -3064,6 +3080,7 @@ seat_handle_capabilities (void *data,
|
|||||||
NULL);
|
NULL);
|
||||||
GDK_WAYLAND_DEVICE (seat->touch_master)->pointer = &seat->touch_info;
|
GDK_WAYLAND_DEVICE (seat->touch_master)->pointer = &seat->touch_info;
|
||||||
_gdk_device_set_associated_device (seat->touch_master, seat->master_keyboard);
|
_gdk_device_set_associated_device (seat->touch_master, seat->master_keyboard);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), seat->touch_master);
|
||||||
|
|
||||||
seat->touch = g_object_new (GDK_TYPE_WAYLAND_DEVICE,
|
seat->touch = g_object_new (GDK_TYPE_WAYLAND_DEVICE,
|
||||||
"name", "Wayland Touch",
|
"name", "Wayland Touch",
|
||||||
@ -3075,11 +3092,14 @@ seat_handle_capabilities (void *data,
|
|||||||
"seat", seat,
|
"seat", seat,
|
||||||
NULL);
|
NULL);
|
||||||
_gdk_device_set_associated_device (seat->touch, seat->touch_master);
|
_gdk_device_set_associated_device (seat->touch, seat->touch_master);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), seat->touch);
|
||||||
}
|
}
|
||||||
else if (!(caps & WL_SEAT_CAPABILITY_TOUCH) && seat->wl_touch)
|
else if (!(caps & WL_SEAT_CAPABILITY_TOUCH) && seat->wl_touch)
|
||||||
{
|
{
|
||||||
wl_touch_release (seat->wl_touch);
|
wl_touch_release (seat->wl_touch);
|
||||||
seat->wl_touch = NULL;
|
seat->wl_touch = NULL;
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), seat->touch);
|
||||||
|
gdk_seat_device_removed (GDK_SEAT (seat), seat->touch_master);
|
||||||
_gdk_device_set_associated_device (seat->touch_master, NULL);
|
_gdk_device_set_associated_device (seat->touch_master, NULL);
|
||||||
_gdk_device_set_associated_device (seat->touch, NULL);
|
_gdk_device_set_associated_device (seat->touch, NULL);
|
||||||
|
|
||||||
@ -3115,6 +3135,7 @@ get_scroll_device (GdkWaylandSeat *seat,
|
|||||||
"seat", seat,
|
"seat", seat,
|
||||||
NULL);
|
NULL);
|
||||||
_gdk_device_set_associated_device (seat->wheel_scrolling, seat->master_pointer);
|
_gdk_device_set_associated_device (seat->wheel_scrolling, seat->master_pointer);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), seat->wheel_scrolling);
|
||||||
}
|
}
|
||||||
return seat->wheel_scrolling;
|
return seat->wheel_scrolling;
|
||||||
|
|
||||||
@ -3131,6 +3152,7 @@ get_scroll_device (GdkWaylandSeat *seat,
|
|||||||
"seat", seat,
|
"seat", seat,
|
||||||
NULL);
|
NULL);
|
||||||
_gdk_device_set_associated_device (seat->finger_scrolling, seat->master_pointer);
|
_gdk_device_set_associated_device (seat->finger_scrolling, seat->master_pointer);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), seat->finger_scrolling);
|
||||||
}
|
}
|
||||||
return seat->finger_scrolling;
|
return seat->finger_scrolling;
|
||||||
|
|
||||||
@ -3147,6 +3169,7 @@ get_scroll_device (GdkWaylandSeat *seat,
|
|||||||
"seat", seat,
|
"seat", seat,
|
||||||
NULL);
|
NULL);
|
||||||
_gdk_device_set_associated_device (seat->continuous_scrolling, seat->master_pointer);
|
_gdk_device_set_associated_device (seat->continuous_scrolling, seat->master_pointer);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), seat->continuous_scrolling);
|
||||||
}
|
}
|
||||||
return seat->continuous_scrolling;
|
return seat->continuous_scrolling;
|
||||||
|
|
||||||
@ -4150,6 +4173,7 @@ tablet_pad_handle_done (void *data,
|
|||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
_gdk_device_set_associated_device (pad->device, seat->master_keyboard);
|
_gdk_device_set_associated_device (pad->device, seat->master_keyboard);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), pad->device);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -4350,6 +4374,9 @@ init_devices (GdkWaylandSeat *seat)
|
|||||||
/* link both */
|
/* link both */
|
||||||
_gdk_device_set_associated_device (seat->master_pointer, seat->master_keyboard);
|
_gdk_device_set_associated_device (seat->master_pointer, seat->master_keyboard);
|
||||||
_gdk_device_set_associated_device (seat->master_keyboard, seat->master_pointer);
|
_gdk_device_set_associated_device (seat->master_keyboard, seat->master_pointer);
|
||||||
|
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), seat->master_pointer);
|
||||||
|
gdk_seat_device_added (GDK_SEAT (seat), seat->master_keyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user