我有两台 Thinkpad X1 平板电脑 gen 2。一台运行 Ubuntu 19.04,另一台运行 Ubuntu 19.10。这台机器有一个可拆卸的键盘,其中包含一个触控板和轨迹点。触控板的左下角和右下角有两个按钮。空格键下方是三个鼠标按钮。
当我购买机器时,trackpoint 无法正常工作,但它的补丁最终进入了内核(我认为是 17.10),请参阅这个线程和另一个. 它已经工作了几年,但昨天我注意到空格键下方的轨迹点和左右按钮在我的 19.10 机器上不起作用。我一个月前升级到 19.10,恐怕我没有注意到它是否停止工作,因为在过去一个月的大部分时间里,我一直用鼠标将它连接到扩展坞上。我昨天做的另一件事是从一个连接的驱动器短暂地将计算机启动到 Windows,这会破坏启动,所以我安装了一个实时的 Ubuntu 19.10 来修复 grub。在实时 Ubuntu 19.10 中,trackpoint 工作正常。
在跟踪点工作的 19.04 机器上,当我对以下任何文件进行分类时,我会收到跟踪点和按钮事件
/开发/输入/鼠标2
/dev/input/event9
/dev/input/event10
/dev/hidraw3
前两个不显示触控板及其按钮的事件,但 event10 和 hidraw 显示触控板、轨迹点和所有按钮的事件。
event9 和 event 10 的 xinput 设备分别是“PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Mouse”和“PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Touchpad”。
当我跑
xinput --test "PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Mouse"
我得到了跟踪点及其三个按钮的事件,但没有得到触控板的事件。当我跑
xinput --test "PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Touchpad"
,
我得到触控板及其按钮的事件,而不是轨迹点或其按钮。
在跟踪点不起作用的运行 19.10 的机器上,两个相同的 xinput 设备都存在。它们的属性与xinput --list-props
我的 19.04 机器上的相同。我从“PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Touchpad”获得触控板和按钮事件,而我从“PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Mouse”仅获得按钮 2 事件。当我cat /dev/input/mouse[n]
或/dev/input/event9
我一无所获时。 cat /dev/input/event10
并/dev/hidraw3
给我触控板、轨迹点和所有按钮的事件。
2020-05-11 更新
这是一些内核数据。
跟踪点在我的内核 5.0.0-38-generic 的 Ubuntu 19.04 X1 平板电脑上运行
它适用于内核分别为 5.3.0-28-generic 和 5.3.0.18-generic 的 Ubuntu live USB 18.04 和 19.10。
它不适用于内核为 5.4.0-26-generic 的 Ubuntu live USB 20.04。
请尝试我的补丁:
https://github.com/leakim/lenovo-x1-gen3-trackpoint-buttons
如果您尝试一下,希望得到一些反馈。
我不是 Ubuntu 用户,但在 Mageia 7 上遇到了相同的问题,并在这篇文章中寻找答案。跟踪点和鼠标按钮适用于最高 5.4.6 的内核版本,但是在下一个 Mageia 内核包 5.4.12 中,它们停止工作,进一步的内核更新也没有解决这个问题。所以我的猜测是内核中某处的回归 5.4.6 和 5.4.12 之间。该问题也在 Mageia bugzilla #26135 上,没有解决方案。