我有一台带有1366x768触摸屏的惠普笔记本电脑。我需要运行一些需要800x600分辨率的kiosk软件,所以我用xrandr设置它:
xrandr --output eDP-1 --mode 800x600它看上去很好,看起来像在屏幕的两侧增加了黑色的条,以保持高宽比。
当我触摸屏幕时,问题就出现了。我从屏幕中央接触的越远,光标离的越远。看起来,当我触摸屏幕时,它会考虑到边黑条来计算光标应该在哪里。假设我触摸到物理屏幕的25%,光标被放置到可见屏幕中,所以它是对齐的。
我试着用此链接来校准触摸屏,但这一点都没有区别。
发布于 2018-06-29 23:27:10
正如您自己已经发现的,从触摸屏坐标到屏幕坐标的映射是由一个转换矩阵控制的。
通常,系统假设触摸屏覆盖整个屏幕区域,这在大多数情况下是正确的。但是,如果显示区域较大(例如多个监视器)或小于触摸区域,则必须修改该转换矩阵。
传统上,您必须通过Coordinate Transformation Matrix通过xinput设置。但是,由于您使用的是libinput,所以有两个不同之处:
xinput属性称为libinput Calibration Matrix从林德琳职位判断,“正确的做法是进行矩阵逆变换”。
老实说,我不知道如何做到这一点,但幸运的是,他提供了一个名为xcal的脚本,它为您校准触摸屏。
前提条件:
python3,tkinter,numpy (通过在终端上运行sudo apt-get install python3 pyhton3-tk python3-numpy来安装)。
加载xcal并执行它。
https://askubuntu.com/questions/1046840
复制相似问题