对于 X-Window(或 Ubuntu 20.x),我可以执行“xinput map-to-output {device_id} {display_name}”将多个触摸屏输入映射到视频输出。
现在 Ubuntu 22.04,默认情况下是 Wayland,xinput 不再给我触摸屏设备 ID。你能帮我吗,告诉我如何将多点触摸屏映射到视频?
太感谢了。
答案1
我通过切换回 X 解决了该问题。
sudo vim /etc/gdm3/custom.conf
取消注释WaylandEnable=true
并将其更改为WaylandEnable=false
重新启动 gdm
systemctl restart gdm3
或重启系统。
然后从外部显示器获取触摸屏输入的 ID:
xinput
获取外接显示器的 ID
xrandr
将输入映射到输出:
xinput map-to-output [touchscreen id ext. monitor] [id ext. monitor]
就我而言:
xinput map-to-output 13 DP-1
- 每当我断开/再次连接显示器时,我都必须映射它
- 触摸屏输入的 ID 总是在两个数字之间交替
更新:
插入外部显示器后,你可以使用下面这个 bash 脚本来避免在断开/连接时搜索 ID:
#!/bin/bash
IDENTIFIER=<Identifier xinput shows, e.g. USBII_CTP_CONTROL>
IDS=$(xinput | grep -E ".*$IDENTIFIER.*id=[0-9]+" | grep -v 'Keyboard' | grep -oP 'id=\K[0-9]+')
for ID in $IDS; do
#echo "xinput map-to-output $ID DP-1"
xinput map-to-output $ID DP-1
done