我有一台平板电脑,我在上面刷过 Fedora Silverblue,但是当设备处于横向模式时,触摸屏的 Y 轴倒置,而 X 轴倒置纵向模式。
我已经禁用wayland 在 xorg 上使用 xinput,但到目前为止还没有运气。
这是目前平板电脑上的矩阵:
Landscape (Clockwise 90°) Portrait
[ 0 -1 0 ] [ 1 0 0 ]
[ 1 0 0 ] [ 0 1 0 ]
[ 0 0 1 ] [ 0 0 1 ]
当前矩阵在纵向模式下,Y 轴是正常的,但 X 轴是倒置的。有没有办法修复反转?
我尝试应用横向矩阵的逆矩阵(如下),但这只会将逆 Y 轴翻转为逆 X 轴。
xinput set-prop ID "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1
[ 0 1 0 ]
[ -1 0 1 ]
[ 0 0 1 ]
注意:这类似于这里的问题:
除了,我试图弄清楚如何通过 xinput 恢复轴。
一些试验和错误,但这是我想出的解决方案:
通过以下方式查找触摸屏设备
xinput
:记下将使用的设备 ID。
10
查找当前屏幕旋转上当前使用的设备(在本例中)的矩阵:在这个例子中,我的平板电脑的屏幕顺时针旋转了 90°:
翻译为:
由于我们在平板电脑处于顺时针 90° 横向时找到 Y 轴的倒数,因此找到矩阵的倒数。(任何在线矩阵计算器都可以使用)。
上述矩阵的逆矩阵为:
由于我们只想反转 Y 轴,因此只需将矩阵中的 Y 值选择为原始矩阵即可。
这导致我们进入最后一步:获得最终矩阵,它“修复”了触摸屏上的倒轴。
以及“修复”触摸屏的命令:
现在最后一步是对其他屏幕方向重复上述步骤,并使更改永久通过
udev
或其他方式。