我在新的 Asus X540L 上启用两指滚动时遇到问题。
sugarman@sugarman:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN1000:00 04F3:0401 id=10 [slave pointer (2)]
sugarman@sugarman:~$ cat /proc/bus/input/devices | grep ELAN
N: Name="ELAN1000:00 04F3:0401"
S: Sysfs=/devices/pci0000:00/INT3433:00/i2c-9/i2c-ELAN1000:00/0018:04F3:0401.0001/input/input6
sugarman@sugarman:~$ uname -a
Linux sugarman 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux
我有一个 ELAN 触摸板,并且使用 Debian。我按照此页面的说明进行操作:https://wiki.debian.org/SynapticsTouchpad。
我将 /usr/share/X11/xorg.conf.d/50-synaptics.conf --> 复制到 /etc/X11/xorg.conf.d/synaptics.conf
我修改了该文件以满足我的需要,如下:
# 分配触摸板驱动程序的示例 xorg.conf.d 片段 # 所有触摸板。有关更多信息,请参阅 xorg.conf.d(5) # 输入类。 # 不要编辑此文件,您的发行版可能会覆盖 # 更新时。将此文件复制(并重命名)到 # 首先是 /etc/X11/xorg.conf.d。 # 可以以以下形式添加其他选项 # 选项“选项名称”“值” # “输入类”部分 标识符“触摸板包罗万象” 驱动器“突触” MatchIs触摸板“打开” # 建议在所有使用 evdev 的 Linux 系统上使用此选项,但不能 # 默认启用。详细信息请参见以下链接: # http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html MatchDevicePath“/dev/input/event*” 选项“最小速度”“0.5” 选项“最大速度”“1.0” 选项“加速系数”“0.075” 选项 "VertTwoFingerScroll" "1" # 多点触控 选项 "HorizTwoFingerScroll" "1" # 多点触控 结束部分 “输入类”部分 标识符“触摸板忽略重复项” MatchIs触摸板“打开” 匹配操作系统“Linux” MatchDevicePath“/dev/input/mouse*” 选项“忽略”“打开” 结束部分 # 此选项使右下角成为触控板上的右键 # 右侧和中间顶部区域为触控板上的右侧/中间按钮 # 带有顶部按钮区域。 # 此选项仅由触控板解释。 “输入类”部分 标识符“默认触控板按钮” MatchDriver“突触” 选项“SoftButtonAreas”“50% 0 82% 0 0 0 0 0” 选项“辅助软按钮区域”“58% 0 0 15% 42% 58% 0 15%” 结束部分 # 此选项禁用 Apple 触摸板上的软件按钮。 # 此选项仅由触控板解释。 “输入类”部分 标识符“禁用 Apple 触摸板上的触控板按钮” 匹配产品“苹果|bcm5974” MatchDriver“突触” 选项“软按钮区域”“0 0 0 0 0 0 0 0” 结束部分
根据这个页面:http://who-t.blogspot.ca/2010/11/how-to-ignore-configuration-errors.html,导致该问题的原因是设备加载了两次,一次使用 /dev/input/eventX 路径,另一次使用 /dev/input/mouseX 路径。
重新启动后,这些新配置仍然会导致驱动程序“ic2_hid”出现错误:
Sugarman@sugarman:~$ sudo cat /var/log/kern.log | grep 隐藏 9 月 18 日 10:27:28 Sugarman 内核:[ 0.773763] hidraw:原始 HID 事件驱动程序 (C) Jiri Kosina 9 月 18 日 10:27:28 Sugarman 内核:[7.930955] i2c_hid i2c-ELAN1000:00:i2c_hid_init_report 大小错误:653 / ret_size:7 9 月 18 日 10:27:28 Sugarman 内核:[7.935696] i2c_hid i2c-ELAN1000:00:i2c_hid_init_report 大小错误:131 / ret_size:7 9月18日10:27:28 Sugarman内核:[7.935941] hid-generic 0018:04F3:0401.0001:输入,hidraw0:HID v1.00鼠标[ELAN1000:00 04F3:0401]
即使安装了 xserver-xorg-input-synaptics 软件包(synaptics 驱动程序),我仍然收到这些错误。
Sugarman@sugarman:~$ synclient 找不到突触属性。没有加载 synaptics 驱动程序? Sugarman@sugarman:~$ syndaemon 无法找到突触设备。
答案1
根据 Debian Wiki,您似乎使用的是 libinput 驱动程序而不是 synaptics 驱动程序,这就是该synclient
命令失败的原因。根据 Debian Wiki 的建议:
您可以通过将 /usr/share/X11/xorg.conf.d/50-synaptics.conf 复制到 /etc/X11/xorg.conf.d 来使 synaptics 驱动程序优先于 libinput,从而使其优先于 libinput libinput 配置文件位于 /usr/share/X11/xorg.conf.d/90-libinput.conf。
制作副本,根据需要修改复制的文件,但一定要50-synaptics.conf
在新目录中保持相同的名称(即 ),因为该编号是一种优先级编号。要在系统中找到正确的conf文件,请运行
find / -name '*.conf' |grep synaptics
例如,在我的电脑中,文件的名称是70-synaptics.conf
50,而不是 50。
此外,为了确保 libinput 驱动程序不在游戏中,我使用以下操作:
我找到 libinput conf 文件:find / -name '*.conf' |grep libinput
我编辑此90-libinput.conf
文件(您的 libinput.conf 可以有不同的编号)abd 我注释掉引用的部分触摸板以确保 libinput 不会处理触摸板:
#Section "InputClass"
# Identifier "libinput touchpad catchall"
# MatchIsTouchpad "on"
# MatchDevicePath "/dev/input/event*"
# Driver "libinput"
#EndSection
一旦 libinput 退出游戏并使用 synaptics 驱动程序,您必须能够使用 synclient。
答案2
不要复制任何配置文件,只需将其放入桌面环境的自动启动中即可:synclient VertTwoFingerScroll=1