我有小米笔记本 Pro(15.6 英寸),它有非常大、可用的触摸板(显然是 Elantech 制造的)。
但它的手掌检测效果很差。我开始用它敲头,希望能调整一下我的触摸板,结果发现实际上有二。这是列表:
$ sudo libinput list-devices | grep -A18 Touchapd
Device: ETD2303:00 04F3:3083 Touchpad
Kernel: /dev/input/event5
Group: 6
Seat: seat0, default
Size: 125x78mm
Capabilities: pointer gesture
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Accel profiles: none
Rotation: n/a
--
Device: ETPS/2 Elantech Touchpad
Kernel: /dev/input/event8
Group: 10
Seat: seat0, default
Size: 125x81mm
Capabilities: pointer gesture
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Accel profiles: none
Rotation: n/a
实际产生输入事件的触摸板是ETD2303:00 04F3:3083 Touchpad
(/dev/input/event5
),我用 发现了它libinput debug-events
。
它提出了一系列问题。总的一个就是为什么有两个触摸板?我的笔记本电脑中的触摸板有指纹扫描仪(我没有使用它),第二个可能是指纹扫描仪吗?
第二个主要问题如下。由于列出的触摸板名称很奇怪(是 PCI ven:dev ID 吗?),内核中似乎没有适合我的触摸板的驱动程序。如何检查?
最后但并非最不重要的问题是如何调整手掌检测以使其工作更方便?首先有可能吗?
我有 Budgie 10.5(Gnome stack 3.28.1)、xorg 1.20.3、xorg-driver-input-libinput 0.28.1、libinput 1.12.3 和 linux 4.19.8。
UPD
我无意中查看了内核日志,发现了很有趣的事情:它是噗噗本次活动:
i2c_hid i2c-ETD2303:00: i2c_hid_get_input: incomplete report (14/65535)
当我这样做的时候,几乎十亿本次活动!我决定重新启动,然后再次测量频率:
$ uptime
01:13:31 up 13 min, 1 user, load average: 0,14, 0,61, 0,67
$ journalctl -k | grep i2c-ETD2303:00 | wc -l
24219
正如您所看到的,13 分钟内发生约 24000 个相同的事件是疯狂的。
那么,这是另一个问题:这里有什么用hid-i2c
?这不是触摸板驱动吗elantech
?我发现这个问题,答案中有建议禁用“HID over I2c”功能。我在固件设置中没有选项可以做到这一点。可以通过编程来完成吗?触摸板是通过 I2c“物理”连接的吗?