swaywm / sway

i3-compatible Wayland compositor
https://swaywm.org
MIT License
14.49k stars 1.11k forks source link

A third extra cursor appears using 2 seats #2921

Closed victordiaz closed 5 years ago

victordiaz commented 5 years ago

I configured sway to use 2 seats, one with all the inputs in my computer and a second with just a mouse. I get 3 cursors, 2 of them work as intended, and a third that cannot be moved with any input device.

Using sway version 1.0-beta.1 (Oct 21 2018, branch 'master')

Config

seat myseat attach 0:3:Sleep_Button
seat myseat attach 1:1:AT_Translated_Set_2_keyboard
seat myseat attach 2:7:SynPS/2_Synaptics_TouchPad
seat myseat attach 2:10:TPPS/2_IBM_TrackPoint
seat myseat attach 6058:20564:ThinkPad_Extra_Buttons

seat sideseat attach 1118:2053:Designer_Mouse

Log (grep seat)

- [sway/sway/config.c:656] Read line 232: #seat sideseat attach 1118:2060:UniversalFoldableKb
- [sway/sway/config.c:656] Read line 234: seat myseat attach 0:3:Sleep_Button
- [sway/sway/config.c:593] Peeked line: `seat myseat attach 1:1:AT_Translated_Set_2_keyboard`
- [sway/sway/config.c:698] Expanded line: seat myseat attach 0:3:Sleep_Button
- [sway/sway/commands.c:387] handling config command 'seat myseat attach 0:3:Sleep_Button'
- [sway/sway/commands.c:169] find_handler(seat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/input/input-manager.c:462] applying new seat config for seat myseat
- [sway/sway/config.c:656] Read line 235: seat myseat attach 1:1:AT_Translated_Set_2_keyboard
- [sway/sway/config.c:593] Peeked line: `seat myseat attach 2:7:SynPS/2_Synaptics_TouchPad`
- [sway/sway/config.c:698] Expanded line: seat myseat attach 1:1:AT_Translated_Set_2_keyboard
- [sway/sway/commands.c:387] handling config command 'seat myseat attach 1:1:AT_Translated_Set_2_keyboard'
- [sway/sway/commands.c:169] find_handler(seat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/input/input-manager.c:462] applying new seat config for seat myseat
- [sway/sway/config.c:656] Read line 236: seat myseat attach 2:7:SynPS/2_Synaptics_TouchPad
- [sway/sway/config.c:593] Peeked line: `seat myseat attach 2:10:TPPS/2_IBM_TrackPoint`
- [sway/sway/config.c:698] Expanded line: seat myseat attach 2:7:SynPS/2_Synaptics_TouchPad
- [sway/sway/commands.c:387] handling config command 'seat myseat attach 2:7:SynPS/2_Synaptics_TouchPad'
- [sway/sway/commands.c:169] find_handler(seat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/input/input-manager.c:462] applying new seat config for seat myseat
- [sway/sway/config.c:656] Read line 237: seat myseat attach 2:10:TPPS/2_IBM_TrackPoint
- [sway/sway/config.c:593] Peeked line: `seat myseat attach 6058:20564:ThinkPad_Extra_Buttons`
- [sway/sway/config.c:698] Expanded line: seat myseat attach 2:10:TPPS/2_IBM_TrackPoint
- [sway/sway/commands.c:387] handling config command 'seat myseat attach 2:10:TPPS/2_IBM_TrackPoint'
- [sway/sway/commands.c:169] find_handler(seat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/input/input-manager.c:462] applying new seat config for seat myseat
- [sway/sway/config.c:656] Read line 238: seat myseat attach 6058:20564:ThinkPad_Extra_Buttons
- [sway/sway/config.c:593] Peeked line: `seat sideseat attach 1118:2053:Designer_Mouse`
- [sway/sway/config.c:698] Expanded line: seat myseat attach 6058:20564:ThinkPad_Extra_Buttons
- [sway/sway/commands.c:387] handling config command 'seat myseat attach 6058:20564:ThinkPad_Extra_Buttons'
- [sway/sway/commands.c:169] find_handler(seat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/config/seat.c:14] new_seat_config(myseat)
- [sway/sway/input/input-manager.c:462] applying new seat config for seat myseat
- [sway/sway/config.c:656] Read line 240: seat sideseat attach 1118:2053:Designer_Mouse
- [sway/sway/config.c:593] Peeked line: `#seat myseat fallback true`
- [sway/sway/config.c:698] Expanded line: seat sideseat attach 1118:2053:Designer_Mouse
- [sway/sway/commands.c:387] handling config command 'seat sideseat attach 1118:2053:Designer_Mouse'
- [sway/sway/commands.c:169] find_handler(seat)
- [sway/sway/config/seat.c:14] new_seat_config(sideseat)
- [sway/sway/config/seat.c:14] new_seat_config(sideseat)
- [sway/sway/input/input-manager.c:462] applying new seat config for seat sideseat
- [sway/sway/config.c:656] Read line 242: #seat myseat fallback true
- [backend/wayland/registry.c:22] Remote wayland global: wl_seat v6
- [backend/wayland/registry.c:22] Remote wayland global: wl_seat v6
- [backend/wayland/registry.c:22] Remote wayland global: wl_seat v6
sway: ../backend/wayland/wl_seat.c:412: seat_handle_name: Assertion `backend->seat == wl_seat' failed.
RedSoxFan commented 5 years ago

Can you please post the output of swaymsg -t get_seats?

RyanDwyer commented 5 years ago

I'm playing around with seats and I have the duplicate cursor too, but with a more simple setup. I have a laptop with a USB keyboard and USB mouse. Here's my config:

seat seat0 fallback true
seat seat1 attach "1:1:AT_Translated_Set_2_keyboard"

I'm just attaching the built-in keyboard to seat1. And for some reason I get two cursors. Everything appears to have mapped correctly:

$ swaymsg -t get_seats
Seat: seat1
  Capabilities: 2
  Devices:
    AT Translated Set 2 keyboard

Seat: seat0
  Capabilities: 3
  Devices:
    ETPS/2 Elantech Touchpad
    Chicony USB 2.0 Camera: Chicony
    PixArt Microsoft USB Optical Mouse
    Dell Dell USB Keyboard
    Sleep Button
    Power Button
    Video Bus
    Power Button

Edit: Okay, it seems pretty obvious that this is happening because seat_create creates the cursor regardless of whether a pointer is attached to the seat or not.