Linux平台下使用触摸副屏的状况

编程时老感觉一块显示屏不够用,最近趁双11买了块触摸便携屏。通过笔记本的雷电口用typeC线连到便携屏上的typeC口,在windows平台下使用正常,但Linux平台下触摸副屏时鼠标指针响应在主屏上!

安装xinput

xinput软件可以解决触摸屏映射错误的问题。不同的linux平台下安装xinput的方式不尽相同,我用的是manjaro,manjaro平台下安装xinput的方法如下。

yay -S xorg-xinput xorg-server xorg-xrandr libxrandr

查看便携屏信息

xrandr

执行xrandr后会显示当前所有显示屏的详细信息如下,我这显示屏的信息是“Screen 0是主屏、DisplayPort-0是副屏”,请注意将DisplayPort-0信息复制下来!
在这里插入图片描述

查看触摸屏ID

xinput list

执行xinput list后的信息如下,请注意留心“TouchScreen”的id,请注意将id信息复制下来!在这里插入图片描述

更改触摸与显示映射

请注意TouchScreen有两个ID,如上图触摸屏id有15和16两个。执行下面的命令更改触摸与显示映射:

xinput map-to-output "15" "DisplayPort-0"  

执行命令后请测试触摸功能是否正常,若不正常那么更换id再执行如下命令:

xinput map-to-output "16" "DisplayPort-0"  

添加开机自启动脚本

检查sh文件路径:

which sh

我这显示的内容如下“/usr/bin/sh”

vim touchscreen.sh

文件内容要参考sh路径和之前测试的xinput配置命令进行编辑,内容如下:

#!/usr/bin/sh
sleep 10s
xinput map-to-output "14" "DisplayPort-0"

请注意,上面这个文件bash、sleep、xinput都要根据自己的电脑进行合适的配置。

  • sh文件,不同的linux平台下sh路径不同
  • sleep,若不设置会造成显示驱动没加载就执行xinput,从而造成xinput执行失败。
  • xinput,要设置正确的触摸屏id和显示器名称。

注意事项

注意,电脑休眠后TouchScreen的ID会发生变化,从而造成配置失灵,若遇到这种情况,只好重新查询ID和使用xinput重新更改触摸与显示映射。

Logo

更多推荐