kali linux 屏幕检测和鼠标反转(x & y 轴)

kali linux 屏幕检测和鼠标反转(x & y 轴)

我在我的笔记本电脑上安装了kali linux操作系统。

安装进行得很顺利,但是当我在 kali linux 中启动时,屏幕是倒退的。我以 root 身份登录,屏幕向后翻转,但鼠标方向相反(x 和 y 轴)。

当我向左移动鼠标时,它会向右移动;当我向下移动鼠标时,它会向上移动。如果我想按右上角的按钮,我需要按左下角的按钮。

屏幕正在执行反向操作(x 和 y 轴),但我直接看到图形并且鼠标正在执行反向操作。

我重新安装了kali linux。我有和以前一样的问题。

我重新安装了kali linux。我有和以前一样的问题。

  • 我在网上搜索过,但没有找到有关此类问题的信息

答案1

根据 @dirkt 建议,您可以使用转换矩阵来纠正问题。

首先,要查看变换矩阵的当前设置是什么,您可以运行:

xinput
#locate the device ids that do not work correctly
xinput list-props devid |grep Matrix
#replace devid with your device number.

如果一切正常,矩阵应该是这样的:
1 0 0 0 1 0 0 0 1 #case normal

如果您想强制鼠标/屏幕反转,那么您应该应用如下矩阵:
-1 0 1 0 -1 1 0 0 1 #case inverted

我想你的鼠标/屏幕因为它们工作颠倒,所以它们xinput list-props |grep Matrix应该看起来像“大小写颠倒”而不是“大小写正常”

在这种情况下,强制这些设备使用正常情况矩阵,如下所示:
xinput set-prop devicename Coordinate Transformation Matrix 1 0 0 0 1 0 0 0 1 #be sure to use the exact device name as it is reported by xinput

现在你应该没事了。

我不知道在您的设备中应用了错误矩阵的原因是什么,但我认为最好向 Kali 人员针对这种行为提交错误。

如果屏幕显示是倒置的,那么 xrandr 就足够了:
xrandr --output yourscreen --rotate normal

如果您的屏幕是触摸屏,则 xrandr 旋转是不够的。您还需要在触摸屏中应用正确的变换矩阵,以便在正确的位置感应到触摸。

答案2

这正是我解决此问题的方法: xinput在控制台中键入 , 将打印出如下输入列表:

? Virtual core pointer                          id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? USBest Technology SiS HID Touch Controller    id=11   [slave  pointer  (2)]
?   ? ETPS/2 Elantech Touchpad                  id=14   [slave  pointer  (2)]
? Virtual core keyboard                         id=3    [master keyboard (2)]
    ? Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ? Power Button                              id=6    [slave  keyboard (3)]
    ? Asus Wireless Radio Control               id=7    [slave  keyboard (3)]
    ? Video Bus                                 id=8    [slave  keyboard (3)]
    ? Sleep Button                              id=9    [slave  keyboard (3)]
    ? USB2.0 UVC HD Webcam                      id=10   [slave  keyboard (3)]
    ? Asus WMI hotkeys                          id=12   [slave  keyboard (3)]
    ? AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]

(您的体验可能因设备而异)

请注意,id=# 是您实际要查找的设备 ID。

我不确定哪个设备出了问题,所以我检查了每一个。事实证明,11 号设备很蠢!要列出属性,请键入:

xinput list-props 11(因为设备 id=11 是有问题的设备)

输入该内容将显示类似...

Device 'USBest Technology SiS HID Touch Controller':
  Device Enabled (139): 1
  Coordinate Transformation Matrix (141):   -1.000000, 0.000000, -1.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, -1.000000
  libinput Calibration Matrix (276):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
  libinput Calibration Matrix Default (277):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
  libinput Send Events Modes Available (259):   1, 0
  libinput Send Events Mode Enabled (260):  0, 0
  libinput Send Events Mode Enabled Default (261):  0, 0
  Device Node (262):    "/dev/input/event10"
  Device Product ID (263):  1111, 4238

(我是在解决问题后写的,所以 -1.000000 值可能在其他地方)那些“-1.000000”值就是问题所在。为了将它们设置为正确的值,我输入:

xinput set-prop 11 "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 1

然后我重新启动,一切都很好!

我不知道为什么这仍然是一个问题。它已多次登录 bugs.kali.org,并且每个都被标记为已关闭,解决方案为“不会修复”。

相关内容