我刚买了一台配备了突触触摸板的联想 T440s。默认情况下没有中间按钮,右键位于触摸板的右下角。我习惯了轨迹指针+左/中/右按钮的组合,我真的很想念我的新模型。每次按下按钮都会产生一些噪音,因为按钮也是触摸板的一部分。
到目前为止我所做的是:
但问题是中间按钮没有映射到 trackpointer。在这个模型上,它们似乎是两个独立的设备。我想知道如何将中间按钮触发的事件连接到 trackpointer 的滚轮仿真按钮。
这是我的 xinput 属性的输出: Xinput 列表:
? Virtual core pointer id=2 [master pointer (3)]
? ? Virtual core XTEST pointer id=4 [slave pointer (2)]
? ? SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)]
? ? TPPS/2 IBM TrackPoint id=11 [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)]
? Integrated Camera id=8 [slave keyboard (3)]
? AT Translated Set 2 keyboard id=9 [slave keyboard (3)]
? ThinkPad Extra Buttons id=12 [slave keyboard (3)]
Run Code Online (Sandbox Code Playgroud)
SynPS/2 Synaptics 触摸板:
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (133): 1
Coordinate Transformation Matrix (135): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (256): 1
Device Accel Constant Deceleration (257): 2.500000
Device Accel Adaptive Deceleration (258): 1.000000
Device Accel Velocity Scaling (259): 12.500000
Synaptics Edges (260): 1726, 4858, 1577, 3665
Synaptics Finger (261): 25, 30, 256
Synaptics Tap Time (262): 180
Synaptics Tap Move (263): 192
Synaptics Tap Durations (264): 180, 180, 100
Synaptics ClickPad (265): 1
Synaptics Tap FastTap (266): 0
Synaptics Middle Button Timeout (267): 0
Synaptics Two-Finger Pressure (268): 282
Synaptics Two-Finger Width (269): 7
Synaptics Scrolling Distance (270): 87, 87
Synaptics Edge Scrolling (271): 0, 0, 0
Synaptics Two-Finger Scrolling (272): 1, 1
Synaptics Move Speed (273): 1.000000, 1.750000, 0.045725, 40.000000
Synaptics Edge Motion Pressure (274): 30, 160
Synaptics Edge Motion Speed (275): 1, 349
Synaptics Edge Motion Always (276): 0
Synaptics Off (277): 2
Synaptics Locked Drags (278): 0
Synaptics Locked Drags Timeout (279): 5000
Synaptics Tap Action (280): 0, 0, 0, 0, 0, 0, 0
Synaptics Click Action (281): 1, 3, 0
Synaptics Circular Scrolling (282): 0
Synaptics Circular Scrolling Distance (283): 0.100000
Synaptics Circular Scrolling Trigger (284): 0
Synaptics Circular Pad (285): 0
Synaptics Palm Detection (286): 0
Synaptics Palm Dimensions (287): 10, 200
Synaptics Coasting Speed (288): 20.000000, 50.000000
Synaptics Pressure Motion (289): ... of unknown type CARDINAL
Synaptics Pressure Motion Factor (290): 1.000000, 1.000000
Synaptics Resolution Detect (291): 1
Synaptics Grab Event Device (292): 1
Synaptics Gestures (293): 1
Synaptics Capabilities (294): 1, 0, 0, 1, 1, 1, 1
Synaptics Pad Resolution (295): 42, 42
Synaptics Area (296): 0, 0, 0, 0
Synaptics Soft Button Areas (297): 3656, 0, 1000, 0, 2600, 3619, 1000, 3000
Synaptics Noise Cancellation (298): 500, 500
Device Product ID (250): 2, 7
Device Node (251): "/dev/input/event5"
Run Code Online (Sandbox Code Playgroud)
Xinput 列表道具 11:
Device 'TPPS/2 IBM TrackPoint':
Device Enabled (133): 1
Coordinate Transformation Matrix (135): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (256): 0
Device Accel Constant Deceleration (257): 1.000000
Device Accel Adaptive Deceleration (258): 1.000000
Device Accel Velocity Scaling (259): 10.000000
Device Product ID (250): 2, 10
Device Node (251): "/dev/input/event6"
Evdev Axis Inversion (300): 0, 0
Evdev Axes Swap (302): 0
Axis Labels (303): "Rel X" (143), "Rel Y" (144)
Button Labels (304): "Button Left" (136), "Button Middle" (137), "Button Right" (138), "Button Wheel Up" (139), "Button Wheel Down" (140), "Button Horiz Wheel Left" (141), "Button Horiz Wheel Right" (142)
Evdev Middle Button Emulation (305): 0
Evdev Middle Button Timeout (306): 50
Evdev Third Button Emulation (307): 0
Evdev Third Button Emulation Timeout (308): 1000
Evdev Third Button Emulation Button (309): 3
Evdev Third Button Emulation Threshold (310): 20
Evdev Wheel Emulation (311): 1
Evdev Wheel Emulation Axes (312): 6, 7, 4, 5
Evdev Wheel Emulation Inertia (313): 10
Evdev Wheel Emulation Timeout (314): 200
Evdev Wheel Emulation Button (315): 2
Evdev Drag Lock Buttons (316): 0
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索并检查了很多线程,但未能找到合适的解决方案。但是,当我在此型号上使用 Windows 8.1 并安装 Synaptics 触摸板驱动程序时,它运行良好。所以另一个建议是将该驱动程序移植到 linux。
任何帮助将不胜感激提前感谢!
进展更新: http : //who-t.blogspot.de/2014/03/xorg-synaptics-support-for-lenovo-t440.html
[...] 这次的支持是真实的,或者至少接近完成。[...] 我忘了提及:synaptics 1.8 将拥有所有这些 [...]
更新 2:上面的帖子已更新,差异:http : //who-t.blogspot.de/2014/04/t440-touchpads-story-continues.html
更新 3: 在 Ubuntu 中为联想触控板启用中间点击滚动,作者为Björn Tillenius
更新4:解释为什么新一代的实体按键可能会和上一代非实体按键一样坏
如果我没有正确理解您,那么Peter Hutterer 的这篇文章可能对您有所帮助。T440 轨迹点按钮支持似乎正在进行中,目前更像是一种解决方法。
他用 ASCII-art 说明他们不能像在 Windows 上那样配置触摸板:
+----------------------------+
| LLLLLLLLLL MMMMM RRRRRRRRR |
| |
| |
| |
| |
| |
| |
| LLLLLLLL RRRRRRRR |
+----------------------------+
Run Code Online (Sandbox Code Playgroud)
并且必须像这样配置触摸板按钮:
+----------------------------+
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
+----------------------------+
Run Code Online (Sandbox Code Playgroud)
声明和当前解决方法:
我正在研究正确配置的解决方案,但现在您必须对此感到满意。
最简单的本地配置方法是一个新的 InputClass 部分,形式如下:
Run Code Online (Sandbox Code Playgroud)Section "InputClass" Identifier "t440 top buttons" MatchDriver "synaptics" # right btn|middle btn Option "SoftButtonAreas" "60% 0 0 0 40% 60% 0 0" EndSection
把它放进
/etc/X11/xorg.conf.d/99-t440-synaptics.conf
去,你就可以开始了。