x250 笔记本触控板按键变成上下滚屏。
平台是 opensuse13.2
解决办法是:
在内核命令行参数上加入:
psmouse.proto=imps
在 /etc/X11/xorg.conf.d/ 目录中建立一个文件
99-evdev.conf
内容如下:
Section "InputClass"
Identifier "Touchpad/TrackPoint"
MatchProduct "PS/2 Synaptics TouchPad"
MatchDriver "evdev"
Option "EmulateWheel" "1"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "0"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
基本原理是触摸板的内核驱动有问题,upstream 改了,但是在 3.16.7-21-desktop 内核中还没有修复。通过内核命令行参数 psmouse.proto=imps,切换成默认的驱动(公版驱动)。
然后,在应用层工作的 X11, 通过 evdev 驱动和内核里的公版驱动,替代厂商专用驱动。
modification
version-1:
修改了一个错别字。
另外注意,以上修改尚不能实现相应功能,例如 emulatewheel 功能,希望各位大神可以指点。
不能实现 emulatewheel 功能的现象如下,正如上面的配置:
Option “EmulateWheel” "1"
Option “EmulateWheelButton” "2"
它的意思是如果恩下第二个按键,可以模拟滚轮,滚动的效果,2 号按键就是,触控板上方的中键。但是我的不好使。不知道问题在哪里,希望大神们能给点提示。
version-2:
问题找到了,因为 MatchProduct 行写错了,已经改好了,注意在使用不同的内核驱动时,报告到上层的设备名称有所不同。
以上问题全部没有通过代码阅读分析问题,仅凭猜测,如有问题请指正。