diff options
-rw-r--r-- | sway/input/seat.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c index a4118a18..6a899124 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c | |||
@@ -593,7 +593,9 @@ static void seat_apply_input_config(struct sway_seat *seat, | |||
593 | 593 | ||
594 | static void seat_configure_pointer(struct sway_seat *seat, | 594 | static void seat_configure_pointer(struct sway_seat *seat, |
595 | struct sway_seat_device *sway_device) { | 595 | struct sway_seat_device *sway_device) { |
596 | seat_configure_xcursor(seat); | 596 | if ((seat->wlr_seat->capabilities & WL_SEAT_CAPABILITY_POINTER) == 0) { |
597 | seat_configure_xcursor(seat); | ||
598 | } | ||
597 | wlr_cursor_attach_input_device(seat->cursor->cursor, | 599 | wlr_cursor_attach_input_device(seat->cursor->cursor, |
598 | sway_device->input_device->wlr_device); | 600 | sway_device->input_device->wlr_device); |
599 | seat_apply_input_config(seat, sway_device); | 601 | seat_apply_input_config(seat, sway_device); |
@@ -633,7 +635,9 @@ static void seat_configure_touch(struct sway_seat *seat, | |||
633 | 635 | ||
634 | static void seat_configure_tablet_tool(struct sway_seat *seat, | 636 | static void seat_configure_tablet_tool(struct sway_seat *seat, |
635 | struct sway_seat_device *sway_device) { | 637 | struct sway_seat_device *sway_device) { |
636 | seat_configure_xcursor(seat); | 638 | if ((seat->wlr_seat->capabilities & WL_SEAT_CAPABILITY_POINTER) == 0) { |
639 | seat_configure_xcursor(seat); | ||
640 | } | ||
637 | wlr_cursor_attach_input_device(seat->cursor->cursor, | 641 | wlr_cursor_attach_input_device(seat->cursor->cursor, |
638 | sway_device->input_device->wlr_device); | 642 | sway_device->input_device->wlr_device); |
639 | seat_apply_input_config(seat, sway_device); | 643 | seat_apply_input_config(seat, sway_device); |