我刚收到一台新的 Dell Vostro 笔记本。当我启动设置或 Windows 安装 DVD 时,触摸板工作正常,但使用 Fedora 22 工作站(实时和已安装),鼠标指针出现,但尝试移动指针或单击触摸板按钮不起作用。我将 USB 鼠标插入端口以解决此问题。我想让触摸板正常工作。
以下是 journalctl 的片段:
(II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event7)
(**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
(**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
(**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default clickpad buttons"
(**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall"
(II) systemd-logind: got fd for /dev/input/event7 13:71 fd 27 paused 0
(II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'
(**) SynPS/2 Synaptics TouchPad: always reports core events
(**) Option "Device" "/dev/input/event7"
(II) input device 'SynPS/2 Synaptics TouchPad', /dev/input/event7 is tagged by udev as: Touchpad
(II) input device 'SynPS/2 Synaptics TouchPad', /dev/input/event7 is a touchpad
(**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input6/event7"
(II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 14)
(**) Option "AccelerationScheme" "none"
(**) SynPS/2 Synaptics TouchPad: (accel) selected scheme none/0
(**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
(**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
(II) input device 'SynPS/2 Synaptics TouchPad', /dev/input/event7 is tagged by udev as: Touchpad
(II) input device 'SynPS/2 Synaptics TouchPad', /dev/input/event7 is a touchpad
(II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
以下是 dnf 命令输出,显示已安装的驱动程序:
$ dnf list *synaptics*
Fedora 22 - x86_64 1.9 MB/s | 41 MB 00:21
Fedora 22 - x86_64 - Updates 1.2 MB/s | 12 MB 00:10
Last metadata expiration check performed 0:00:10 ago on Sun Jul 19 23:53:39 2015.
Installed Packages
xorg-x11-drv-synaptics.x86_64 1.8.2-2.fc22 @System
Available Packages
xorg-x11-drv-synaptics-devel.i686 1.8.2-2.fc22 fedora
xorg-x11-drv-synaptics-devel.x86_64 1.8.2-2.fc22 fedora
据我所知,Fedora 中不再有 xorg.conf 可供编程,因为默认情况下所有内容都是自动检测的。既然不是这样,我希望得到有关该怎么做的建议。
编辑 1 - 澄清鼠标指针出现在 Fedora 22 启动时,但无法移动或单击。
编辑 2 - 包括建议的 grub 更改之后的大部分 Xorg.0.log。
编辑 3 - 已删除编辑 2 - 看起来那是一个转移注意力的幌子,并且触摸板实际上正在被检测到。
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ DLLC6C1:00 06CB:796A id=12 [slave pointer (2)]
⎜ ↳ HID 062a:0001 id=16 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics 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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ Dell WMI hotkeys id=15 [slave keyboard (3)]
啊啊。我尝试通过 xinput CLI 和 gnome 设置界面启用/禁用触摸板。没有效果,它总是关闭的。尝试了 Ubuntu 的实时版本,看到了同样的情况。经过一番谷歌搜索。我发现它可能在硬件内被关闭了。戴尔 Vostro 3558 没有用于触摸板的键盘 Fn 键,但我读到安装 Windows 和戴尔 synaptics 驱动程序,禁用触摸板,启用它,保存设置,切断电源并启动 fedora。我试过了,结果是一样的。关闭或打开触摸板没有任何作用
我想我需要知道如何排除为什么打开/关闭触摸板没有效果并且它始终处于关闭状态。
答案1
似乎所有戴尔笔记本电脑都配有 Synaptics 触控板。较新的笔记本电脑使用一种称为 I2C-HID 的协议,而不是 PS/2。我曾在某处读到过 i2c-hid 协议是由 Microsoft 定义的。
根据我从大量关于“触控板在(在此处插入发行版名称)中不起作用”的帖子中读到的内容,该问题的一些可能的解决方案是(选择一个):
- 通过在 /etc/modprobe.d/blacklist.conf 中添加条目将 i2c-hid 模块列入黑名单。添加“blacklist i2c-hid”。
- 将 Linux 内核升级到 4.1 或更高版本
- 为你的发行版手动安装 Synaptics i2c-hid 模块
将 i2c 模块列入黑名单似乎是最简单、最快捷的解决方案。但是,如果你这样做,可能会产生一些意想不到的后果。
以下是我读过的一段红帽 Bugzilla:
Matt Hirsch 2014-11-24 06:50:02 EST
我有一台戴尔 Inspiron 13 7000 系列。它有一个上面描述的新型 synaptics 触控板,同时具有 ps2 和 hid 模式。我正在运行 Fedora 21。
kernel-3.17.3-300.fc21.x86_64
如果我将 i2c_hid 模块列入黑名单,触控板将正常工作,我也可以使用触摸屏。但是,我无法正确挂起系统。它会立即再次唤醒。如果我插入 i2c_hid 模块,我可以正确挂起系统,但我无法通过按下触控板的右下角来右键单击——我必须用两根手指按下。
答案2
尝试下面的方法,它对我在另一个版本的 Linux 上遇到的同样的问题有用:
# modprobe -r psmouse && modprobe psmouse