我有一个触摸屏笔记本电脑(Thinkpad X1 Yoga Gen 2,Ubuntu20.04)连接到一个外部触摸屏显示器。触摸屏的映射在插件中不起作用,因此我遵循本指南将输入设备映射到相应的监视器。我遵循指南并添加了一个~/.config/autostart/align_touchinput.desktop
文件,以便每次登录时都可以执行映射。
这是我的装置:
xinput
...
↳ Wacom Pen and multitouch sensor Finger touch id=9 [slave pointer (2)]
↳ Wacom Pen and multitouch sensor Pen stylus id=10 [slave pointer (2)]
↳ Wacom Pen and multitouch sensor Pen eraser id=25 [slave pointer (2)]
↳ WingCoolTouch WingCoolTouch id=18 [slave pointer (2)]
↳ WingCoolTouch WingCoolTouch id=19 [slave pointer (2)]
....
xrandr
...
eDP-1 connected primary 2560x1440+3072+160 (normal left inverted right x axis y axis) 310mm x 174mm
HDMI-1 connected 3072x1728+0+0 (normal left inverted right x axis y axis) 344mm x 195mm
...
根据以上所述,WingCoolTouch和HDMI-1来自外部监视器.因此,我让我的PC在启动时运行这个脚本:
xinput map-to-output 18 HDMI-1
xinput map-to-output 19 HDMI-1
xinput map-to-output 9 eDP-1
xinput map-to-output 10 eDP-1
xinput map-to-output 24 eDP-1
然而,我面临着两个问题:
id
与xinput
的关系。据我所知,xinput map-to-input
允许按设备名称进行映射。但是我的操作系统检测到了多个同名的设备,因此无法工作(我收到“警告:有多个设备匹配'WingCoolTouch WingCoolTouch'”和一个错误)。无论如何,为了将所有名为 Is的<#>WingCoolTouch
<#>映射到 HDMI-1
<#>so,无论我使用的是哪个USB端口,映射都会工作吗?发布于 2021-11-17 16:24:38
有同样的问题,写了一个脚本:
#! /bin/bash
one=$(xinput --list | grep -F 'WingCoolTouch' | grep -Po '(?<=id=)\d\d?' | head -n 1)
two=$(xinput --list | grep -F 'WingCoolTouch' | grep -Po '(?<=id=)\d\d?' | tail -n 1)
xinput map-to-output $one HDMI-1
xinput map-to-output $two HDMI-1
https://askubuntu.com/questions/1303397
复制相似问题