如何让 Dell XPS DE 在 Ubuntu 13.10 下识别 Cypress 触摸板?

如何让 Dell XPS DE 在 Ubuntu 13.10 下识别 Cypress 触摸板?

我最近买了一台戴尔 XPS 13 开发者版(也称为 Sputnik),附带 Ubuntu 12.04。我删除了它并从头安装了 13.10。我相信戴尔所做的所有代码改进现在都已纳入主线内核,因此理论上一切都应该可以正常工作,而无需额外的 PPA。

但是,触摸板可以用作类似鼠标的输入设备(我有一个指针,可以左键单击,也可以触摸单击),但不支持手势。我特别需要双指滚动。此外,打字光标经常跳动,从我在网上读到的内容来看,触控板的灵敏度可能是原因。

如果有合适的设备,Ubuntu 应该会在系统设置->鼠标和触摸板中显示额外的触控板选项,但我只得到通常的选项(主按钮、双击 [速度] 和鼠标速度)。

以下是其中的摘录cat /proc/bus/input/devices

I: Bus=0018 Vendor=06cb Product=2734 Version=0100
N: Name="DLL060A:00 06CB:2734"
P: Phys=
S: Sysfs=/devices/pci0000:00/INT33C3:00/i2c-8/8-002c/input/input12
U: Uniq=
H: Handlers=mouse1 event12 
B: PROP=0
B: EV=17
B: KEY=30000 0 0 0 0
B: REL=3
B: MSC=10

来自xinput

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SYNAPTICS Synaptics Large Touch Screen    id=9    [slave  pointer  (2)]
⎜   ↳ DLL060A:00 06CB:2734                      id=11   [slave  pointer  (2)]
⎜   ↳ PS/2 Synaptics TouchPad                   id=10   [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)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=14   [slave  keyboard (3)]

以下是来自 X 日志 (/var/log/Xorg.0.log) 的一个片段:

[    25.877] (II) config/udev: Adding input device DLL060A:00 06CB:2734 (/dev/input/event12)
[    25.877] (**) DLL060A:00 06CB:2734: Applying InputClass "evdev pointer catchall"
[    25.877] (II) Using input driver 'evdev' for 'DLL060A:00 06CB:2734'
[    25.877] (**) DLL060A:00 06CB:2734: always reports core events
[    25.877] (**) evdev: DLL060A:00 06CB:2734: Device: "/dev/input/event12"
[    25.888] (--) evdev: DLL060A:00 06CB:2734: Vendor 0x6cb Product 0x2734
[    25.888] (--) evdev: DLL060A:00 06CB:2734: Found 3 mouse buttons
[    25.888] (--) evdev: DLL060A:00 06CB:2734: Found relative axes
[    25.888] (--) evdev: DLL060A:00 06CB:2734: Found x and y relative axes
[    25.888] (II) evdev: DLL060A:00 06CB:2734: Configuring as mouse
[    25.888] (**) evdev: DLL060A:00 06CB:2734: YAxisMapping: buttons 4 and 5
[    25.888] (**) evdev: DLL060A:00 06CB:2734: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    25.888] (**) Option "config_info" "udev:/sys/devices/pci0000:00/INT33C3:00/i2c-8/8-002c/input/input12/event12"
[    25.888] (II) XINPUT: Adding extended input device "DLL060A:00 06CB:2734" (type: MOUSE, id 11)
[    25.889] (II) evdev: DLL060A:00 06CB:2734: initialized for relative axes.
[    25.889] (**) DLL060A:00 06CB:2734: (accel) keeping acceleration scheme 1
[    25.889] (**) DLL060A:00 06CB:2734: (accel) acceleration profile 0
[    25.889] (**) DLL060A:00 06CB:2734: (accel) acceleration factor: 2.000
[    25.889] (**) DLL060A:00 06CB:2734: (accel) acceleration threshold: 4
[    25.889] (II) config/udev: Adding input device DLL060A:00 06CB:2734 (/dev/input/mouse1)
[    25.889] (II) No input driver specified, ignoring this device.

看起来它正在做某物但“忽略此设备”对我来说是一个危险信号。此外,该设备以十六进制字符串的形式出现,而不是被视为“Cypress”pad - 似乎应该像这样显示在 gpointing-device-settings 中。

我搜索了一些可能的字符串dmesg并发现了这些:

jon@jon-XPS13-9333:~$ dmesg | grep synap
[ 1412.350563] psmouse serio1: synaptics: device claims to have extended capabilities, but I'm not able to read them.
[ 1412.550727] psmouse serio1: synaptics: device claims to have extended capability 0x0c, but I'm not able to read it.
[ 1412.951089] psmouse serio1: synaptics: Unable to initialize device.
[15884.370843] psmouse serio1: synaptics: Unable to query device.
[17513.516033] psmouse serio1: synaptics: Unable to query device.
[41102.794436] psmouse serio1: synaptics: Unable to query device.
jon@jon-XPS13-9333:~$ dmesg | grep trackpad
jon@jon-XPS13-9333:~$ dmesg | grep cypr

此外,我注意到似乎有两个触摸板设备被错误地检测到。起初我误以为其中一个是错误报告的触摸屏,但实际上它报告正常。xinput上面的输出揭示了这个问题,gpointing-device-settings 也是如此:

gpointing-device-settings 的屏幕截图

我意识到我在网上看到后就假设我有一块 Cypress 触摸板,所以我想试试 Synaptiks 应用程序。它报告了一个错误并且无法启动:

未找到触摸板

此系统中未找到触摸板。如果系统有触摸板,请确保已正确安装和配置 synaptics 驱动程序。

因此暂时,我将继续假设我有一个需要 Cypress 驱动程序的 Cypress 垫。

答案1

这是使用固定的这些说明,通过以下方式找到这个帖子。尽管第一个链接中的发帖者发现该修复在他们的情况下没有完全发挥作用,但它已经为我彻底解决了问题。

修复方法很简单,在末尾添加这一行/etc/modprobe.d/blacklist.conf

blacklist i2c-hid

这导致只有一个驱动程序被识别,该驱动程序现在在 Ubuntu 设置中提供预期的触控板开关。双指滚动现在可以正常工作。

有趣的是,看起来我确实在运行 Synaptics 触摸板 - 它仍然可以被检测到:

SynPS/2 Synaptics 触摸板

并且根本没有提及 Cypress 设备。

g-pointer-settings 和 Synaptiks 现在看起来都可以使用了(虽然我现在不再需要它们了)。我没有注意到任何虚假的光标行为,但会继续监控。

相关内容