Trackpoint 和 Clickpad:启用按钮和滚动(联想 T440s)

Trackpoint 和 Clickpad:启用按钮和滚动(联想 T440s)

我刚买了一台配备 Synaptics 触控板的联想 T440s。默认情况下没有中间按钮,右按钮位于触控板的右下角。我习惯了触控点 + 左/中/右按钮的组合,我真的很怀念我的新型号。每次按下按钮都会产生一些噪音,因为按钮也是触控板的一部分。

我目前所做的是:

  • 将触摸板的滞后增加到非常高的值,这实际上禁用了导航
  • 启用 Clickpad 模式,提供中/右键功能
  • 按预期在触摸板上定义中/右按钮区域

但问题是中键没有映射到 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)]

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"

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

我搜索了一番,查看了很多帖子,但还是没能找到合适的解决方案。但是当我在这个型号上使用 Windows 8.1 并安装 Synaptics 触摸板驱动程序时,它运行正常。所以另一个建议是将该驱动程序移植到 Linux。

任何帮助都将不胜感激,提前致谢!

答案1

进展更新: 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 艺术说明他们无法像在 Windows 上那样配置触摸板:

+----------------------------+
| LLLLLLLLLL MMMMM RRRRRRRRR |
|                            |
|                            |
|                            |
|                            |
|                            |
|                            |
| LLLLLLLL          RRRRRRRR |
+----------------------------+

并且必须像这样配置触摸板按钮:

+----------------------------+
| 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 |
+----------------------------+

声明和当前的解决方法:

我正在努力寻找正确配置的解决方案,但现在你必须对此感到满意。

本地配置最简单的方法是新建一个 InputClass 部分,形式如下:

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,您就可以开始了。

答案2

你并不孤单,你可以查看此链接并注册,表明你也受到了这个错误的影响。

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/1246683?comments=all

相关内容