Touchscreen events for external monitor not being mapped to that display.
System Details Report
Report details
- Date generated: 2024-05-14 14:18:06
Hardware Information:
- Hardware Model: TUXEDO TUXEDO Pulse 15 Gen1
- Memory: 64.0 GiB
- Processor: AMD Ryzen™ 7 4800H with Radeon™ Graphics × 16
- Graphics: AMD Radeon™ Graphics
- Disk Capacity: 4.0 TB
Software Information:
- Firmware Version: N.1.07.A02
- OS Name: Debian GNU/Linux trixie/sid
- OS Build: (null)
- OS Type: 64-bit
- GNOME Version: 46
- Windowing System: Wayland
- Kernel Version: Linux 6.7.12-amd64
- libmutter-12-0t64 44.8-3.1+b3
Bug summary
Using an External 15.6 touchscreen with an HDMI cable and a USB cable to power/connect to monitor, is correctly detected but the touch events on the eternal monitor map to the primary display instead.
Steps to reproduce
Following this guide I determined the USB input device:
Bus 001 Device 012: ID 27c0:0859 Cadwell Laboratories, Inc. TouchScreen
and the EDID parameters for Vendor
Model and `Serial Number`
<configuration>
<logicalmonitor>
<x>1920</x>
<y>0</y>
<scale>1</scale>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>XYK</vendor>
<product>Display</product>
<serial>demoset-1</serial>
</monitorspec>
<mode>
<width>1920</width>
<height>1080</height>
<rate>60.000</rate>
</mode>
</monitor>
</logicalmonitor>
And set the key as follows:
gsettings set org.gnome.desktop.peripherals.touchscreen:/org/gnome/desktop/peripherals/touchscreens/27c0:0859/ output "['XKY', 'Display', 'demoset-1']"
What happened
Touching the external display moved the cursor on the primary display.
What did you expect to happen
Touchscreen events should have been mapped to the external display.
Relevant logs, screenshots, screencasts etc.
Output of libinput list-devices
libinput list-devices
Device: Power Button
Kernel: /dev/input/event4
Group: 1
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Device: Video Bus
Kernel: /dev/input/event5
Group: 2
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Device: Power Button
Kernel: /dev/input/event1
Group: 3
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Device: Lid Switch
Kernel: /dev/input/event3
Group: 4
Seat: seat0, default
Capabilities: switch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Device: Sleep Button
Kernel: /dev/input/event2
Group: 5
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Device: wch.cn TouchScreen
Kernel: /dev/input/event14
Group: 6
Seat: seat0, default
Size: 216x91mm
Capabilities: touch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Device: wch.cn TouchScreen
Kernel: /dev/input/event15
Group: 6
Seat: seat0, default
Size: 216x91mm
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Device: UNIW0001:00 093A:0255 Touchpad
Kernel: /dev/input/event8
Group: 7
Seat: seat0, default
Size: 111x68mm
Capabilities: pointer gesture
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Disable-w-trackpointing: enabled
Accel profiles: flat *adaptive custom
Rotation: n/a
Device: UNIW0001:00 093A:0255 Mouse
Kernel: /dev/input/event7
Group: 7
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: *button
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: flat *adaptive custom
Rotation: n/a
Device: AT Translated Set 2 keyboard
Kernel: /dev/input/event0
Group: 8
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Device: TUXEDO Keyboard
Kernel: /dev/input/event13
Group: 9
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Here is the output of libinput debug-events when touching the external display and dragging a finger around as well as lifting and touching again.
libinput debug-events
-event4 DEVICE_ADDED Power Button seat0 default group1 cap:k
-event5 DEVICE_ADDED Video Bus seat0 default group2 cap:k
-event1 DEVICE_ADDED Power Button seat0 default group3 cap:k
-event3 DEVICE_ADDED Lid Switch seat0 default group4 cap:S
-event2 DEVICE_ADDED Sleep Button seat0 default group5 cap:k
-event14 DEVICE_ADDED wch.cn TouchScreen seat0 default group6 cap:t size 216x91mm ntouches 15 calib
-event15 DEVICE_ADDED wch.cn TouchScreen seat0 default group6 cap:p size 216x91mm left scroll-nat calib
-event8 DEVICE_ADDED UNIW0001:00 093A:0255 Touchpad seat0 default group7 cap:pg size 111x68mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on dwtp-on
-event7 DEVICE_ADDED UNIW0001:00 093A:0255 Mouse seat0 default group7 cap:p left scroll-nat scroll-button
-event0 DEVICE_ADDED AT Translated Set 2 keyboard seat0 default group8 cap:k
-event13 DEVICE_ADDED TUXEDO Keyboard seat0 default group9 cap:k
-event14 TOUCH_DOWN +0.000s 0 (0) 100.00/94.62 (215.58/85.70mm)
event14 TOUCH_FRAME +0.000s
event14 TOUCH_UP +0.448s 0 (0)
event14 TOUCH_FRAME +0.448s
event14 TOUCH_DOWN +2.789s 0 (0) 64.01/48.15 (137.99/43.60mm)
event14 TOUCH_FRAME +2.789s
event14 TOUCH_MOTION +3.167s 0 (0) 63.95/48.15 (137.87/43.60mm)
event14 TOUCH_FRAME +3.167s
event14 TOUCH_MOTION +3.176s 0 (0) 63.90/48.15 (137.76/43.60mm)
event14 TOUCH_FRAME +3.176s
event14 TOUCH_MOTION +3.185s 0 (0) 63.85/48.15 (137.64/43.60mm)
event14 TOUCH_FRAME +3.185s
event14 TOUCH_MOTION +3.202s 0 (0) 63.80/48.15 (137.54/43.60mm)
event14 TOUCH_FRAME +3.202s
event14 TOUCH_MOTION +3.211s 0 (0) 63.75/48.15 (137.42/43.60mm)
event14 TOUCH_FRAME +3.211s
event14 TOUCH_MOTION +3.228s 0 (0) 63.70/48.15 (137.32/43.60mm)
event14 TOUCH_FRAME +3.228s
event14 TOUCH_MOTION +3.246s 0 (0) 63.64/48.15 (137.20/43.60mm)
event14 TOUCH_FRAME +3.246s
event14 TOUCH_MOTION +3.283s 0 (0) 63.59/48.15 (137.09/43.60mm)
event14 TOUCH_FRAME +3.283s
event14 TOUCH_MOTION +3.311s 0 (0) 63.54/48.15 (136.97/43.60mm)
event14 TOUCH_FRAME +3.311s
event14 TOUCH_MOTION +3.337s 0 (0) 63.49/48.05 (136.87/43.52mm)
event14 TOUCH_FRAME +3.337s
event14 TOUCH_MOTION +3.363s 0 (0) 63.43/48.05 (136.75/43.52mm)
event14 TOUCH_FRAME +3.363s
event14 TOUCH_MOTION +3.380s 0 (0) 63.39/48.05 (136.64/43.52mm)
event14 TOUCH_FRAME +3.380s
event14 TOUCH_MOTION +3.408s 0 (0) 63.33/48.05 (136.53/43.52mm)
event14 TOUCH_FRAME +3.408s
event14 TOUCH_MOTION +3.426s 0 (0) 63.33/48.15 (136.53/43.60mm)
event14 TOUCH_FRAME +3.426s
event14 TOUCH_MOTION +3.435s 0 (0) 63.28/48.15 (136.42/43.60mm)
event14 TOUCH_FRAME +3.435s
event14 TOUCH_MOTION +3.443s 0 (0) 63.28/48.05 (136.42/43.52mm)
event14 TOUCH_FRAME +3.443s
event14 TOUCH_MOTION +3.452s 0 (0) 63.23/48.05 (136.30/43.52mm)
event14 TOUCH_FRAME +3.452s
event14 TOUCH_MOTION +3.480s 0 (0) 63.17/48.05 (136.18/43.52mm)
event14 TOUCH_FRAME +3.480s
event14 TOUCH_MOTION +3.506s 0 (0) 63.12/48.05 (136.08/43.52mm)
event14 TOUCH_FRAME +3.506s
event14 TOUCH_MOTION +3.541s 0 (0) 63.07/48.05 (135.96/43.52mm)
event14 TOUCH_FRAME +3.541s
event14 TOUCH_MOTION +3.578s 0 (0) 63.02/48.05 (135.86/43.52mm)
event14 TOUCH_FRAME +3.578s
event14 TOUCH_MOTION +3.623s 0 (0) 62.96/48.05 (135.74/43.52mm)
event14 TOUCH_FRAME +3.623s
event14 TOUCH_MOTION +3.650s 0 (0) 62.92/48.05 (135.63/43.52mm)
event14 TOUCH_FRAME +3.650s
event14 TOUCH_MOTION +3.676s 0 (0) 62.86/47.96 (135.51/43.43mm)
event14 TOUCH_FRAME +3.676s
event14 TOUCH_UP +3.685s 0 (0)
event14 TOUCH_FRAME +3.685s
event14 TOUCH_DOWN +6.236s 0 (0) 58.48/53.24 (126.08/48.22mm)
event14 TOUCH_FRAME +6.236s
event14 TOUCH_UP +6.325s 0 (0)
event14 TOUCH_FRAME +6.325s
event14 TOUCH_DOWN +6.652s 0 (0) 59.32/54.53 (127.88/49.39mm)
event14 TOUCH_FRAME +6.652s
event14 TOUCH_UP +6.687s 0 (0)
event14 TOUCH_FRAME +6.687s
event14 TOUCH_DOWN +6.843s 0 (0) 59.32/54.53 (127.88/49.39mm)
event14 TOUCH_FRAME +6.843s
event14 TOUCH_UP +6.906s 0 (0)
event14 TOUCH_FRAME +6.906s
event14 TOUCH_DOWN +7.313s 0 (0) 60.10/54.17 (129.57/49.06mm)
event14 TOUCH_FRAME +7.313s
event14 TOUCH_UP +7.374s 0 (0)
event14 TOUCH_FRAME +7.374s
-event0 KEYBOARD_KEY +10.164s *** (-1) pressed
event0 KEYBOARD_KEY +11.259s *** (-1) pressed
^C
And here is a video of libinput debug-gui
showing how both the touchpad maps to the external monitor and how the external touchscreen maps to the primary monitor.