我有一个项目,其中一个触摸屏跨越多个显示器。显示器没有相互对接,它们之间有一些空间,但触摸传感器也跨越了该区域(需要忽略)。我知道如何使用 xinput 将触摸输入映射到特定显示器,但是有没有办法将触摸偏移从一个传感器映射到不同的显示器?这需要是一个命令行解决方案。
我尝试创建一个跨显示器的虚拟显示器并将触摸映射到该虚拟显示器,但 xinput 不支持将虚拟显示器作为目标。
$ xrandr --listmonitors
Monitors: 3
0: +*eDP-1 1024/300x600/200+0+0 eDP-1
1: +DP-1 1024/300x600/200+1024+0 DP-1
2: +HDMI-1 1920/508x1080/286+2048+0 HDMI-1
$ xrandr --setmonitor virtualGroup auto eDP-1,DP-1
output list eDP-1,DP-1
add monitor eDP-1
output name eDP-1
add monitor DP-1
output name DP-1
$ xrandr --listmonitors
Monitors: 2
0: virtualGroup 2048/300x600/200+0+0 eDP-1 DP-1
1: +HDMI-1 1920/598x1080/336+2048+0 HDMI-1
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ HID 0e8f:2517 id=9 [slave pointer (2)]
⎜ ↳ eGalax Inc. eGalaxTouch EXC7200-77EAv1.000 id=11 [slave pointer (2)]
⎜ ↳ Lenovo Optical USB Mouse id=10 [slave pointer (2)]
$ xinput --map-to-output 11 'virtualGroup'
Unable to find output 'virtualGroup'. Output may not be connected.
这将在运行 OpenBox 和 LightDM 的 Linux 4.15.0-70-generic (Ubuntu 18.04) 上运行。