我有一台触摸屏笔记本电脑(1920x1080)和一个带触摸功能的无反应白板(1280x800)。为了使用笔记本电脑的全分辨率,我只展示了显示器的一部分,这是通过第一个 xrandr 命令成功完成的。
现在我想将显示器的触摸事件映射到笔记本电脑显示器,这可以工作。因为白板总是有不同的数字,xinput list
我 grep 数字并将其显示在 bash 上。然后我将白板的触摸事件映射到所呈现屏幕的这部分。
最后的命令是 xfce4 的一部分,用于最大化笔记本电脑屏幕显示部分内的任何窗口。
#!/bin/ sh xrandr --output VIRTUAL1 --off --output eDP1 --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI1 --mode 1280x800 --pos 480x270 --rotate normal xinput map-to-output 'ELAN Touchscreen' eDP1 daten=$(xinput list | grep 'TimeLink' | tail -n 1 | cut -c 56-57) echo $daten xinput map-to-output "$daten" HDMI1 xfconf-query -c xfwm4 -p /general/margin_right -s 160 xfconf-query -c xfwm4 -p /general/margin_left -s 480 xfconf-query -c xfwm4 -p /general/margin_top -s 270 xfconf-query -c xfwm4 -p /general/margin_bottom -s 10
该脚本运行良好,但突然白板的映射不再起作用。在左侧和右侧边缘,鼠标位置和触摸事件发生位移。我尝试通过停用 eDP1 并xinput_calibrator
用于白板来校准显示器,并将其写入/etc/X11/xorg.conf.d/99-calibration.conf
如程序建议的那样。但重启后触摸事件在中间仍然完美,但在左右边缘变得更糟。
我还检查了是否更新了任何程序,但我发现没有任何帮助。投影仪也只是显示图片,没有任何新的比例等等。有什么建议么?
答案1
最后我找到了解决方案。
设置“坐标变换矩阵”失败,但设置 libinput 校准矩阵成功。
xinput set-prop DEVICE "libinput Calibration Matrix" 1.100000, 0.000000, -0.050000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
DEVICE 需要替换为以下数字x输入列表
这些值是通过反复试验找到的,但这 2 个数字用于 x_width 和 x_offset。