T431 上的 Evdev 车轮仿真

T431 上的 Evdev 车轮仿真

我有一台 Thinkpad T431s,带有指点杆(键盘中间的红棒)和触控板(也可用作按钮的触摸板)。这是第一款不为指点杆提供任何专用按钮的型号。我只想使用轨迹点。到目前为止,我可以配置触控板,使其充当轨迹点的按钮,同时通过以下方式禁用运动:

# Devide the clickpad into 3 areas for left/middle/right click
xinput set-prop 10 "Synaptics Soft Button Areas" 3477, 5112, 0, 0, 2659, 3476, 0, 0

# Disable mouse movements
xinput set-prop 10 "Device Accel Constant Deceleration" 9999999

# Disable tap events
xinput set-prop 10 "Synaptics Tap Action" 0, 0, 0, 0, 0, 0, 0

其中 10 是触控板的 ID。

但是,我不知道如何配置轨迹点以使用中间按钮进行滚动模拟。问题似乎是指点杆设备没有任何真正的按钮。因此以下内容不起作用:

xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 1
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 2

有什么方法可以将指点点配置为使用另一个设备(触控板)的中间按钮进行滚动模拟?还有其他建议吗?

答案1

我有一台t440,也有同样的问题。我的解决方案是让触摸板保持活动状态,但要排除我定义的 SoftButtonAreas 处于活动状态的区域(这样当我单击时光标不会移动)。我启用了水平和垂直两指滚动,这很容易用我的拇指完成,而我的手指仍然放在键盘上。

按照以下说明设置您的 xorg.conf

sudo mkdir /etc/Xll/xorg.conf.d
sudo vim touchpad.conf

paste the text below

  Section "InputClass"
          Identifier "SynPS/2 Synaptics TouchPad" 
          matchIsTouchpad "yes"
          Driver    "synaptics"                 
          Option    "AreaTopEdge"   "2235"
          Option    "AreaBottomEdge"  "0"
          Option    "AreaRightEdge"   "0"
          Option    "AreaLeftEdge"  "0"
          Option    "SoftButtonAreas"   "3874 0 0 2235  2673 3873 0 2235"
          Option    "RBCornerButton"    "1"
          Option    "VertTwoFingerScroll"    "1"
          Option    "HorizTwoFingerScroll"    "1"
 EndSection 

答案2

对于某些 Linux 发行版,已经有 evdev 驱动程序的修补版本,支持在按下配置为触控板“中心按钮”的区域时使用 TrackPoint 进行滚动。

在 Arch 上,这是 AUR 包: https://aur.archlinux.org/packages/xf86-input-evdev-trackpoint/ 我已经在 T440s 上尝试过,开箱即用,效果非常好。

如果您使用不同的发行版,您可以搜索已修补的 evdev 驱动程序,尝试对其进行修补并使用 AUR 站点上的 tar.gz 文件中提供的 diff 自行编译它(ATM 从 freedesktop 修补了 vanilla 2.8.2 evdev 驱动程序。 org),或者切换到 Arch 并直接使用 AUR 包;)

答案3

在 AskUbuntu 上看到这篇文章。问答题为:联想 T431s 上的 Ubuntu 12.04.2

一般步骤

  1. mkdir -p /etc/X11/xorg.conf.d
  2. 在上面的目录中创建一个文件 touchpad.conf。

    Section "InputClass"
        Identifier      "Touchpad"                      # required
        MatchIsTouchpad "on"                            # required
        Driver          "synaptics"                     # required
        Option          "MinSpeed"              "0.5"
        Option          "MaxSpeed"              "1.0"
        Option          "AccelFactor"           "0.075"
        Option          "TapButton1"            "1"     # left click with one finger tap
        Option          "TapButton2"            "3"     # right click with two finger tap
        Option          "TapButton3"            "2"     # middle click with three finger tap
        Option          "VertTwoFingerScroll"   "1"     # two finger vert scroll
        Option          "HorizTwoFingerScroll"  "1"     # two finger horz scroll
        Option          "MaxTapTime"            "250" # alter this to get good multifinger tap recognition, this is what worked well for me
        Option          "FastTaps"              "1"
        Option          "HorizEdgeScroll"       "1"
        Option          "PalmDetect"            "1" # detects palm touches while typing
    EndSection
    

    synaptic可以在以下位置找到对驱动程序的其他自定义设置:手册页

  3. dconf-editor在 org > gnome > settings-daemon > mouse 中取消选中“active” 。

以上应该可以让两个手指滚动、多指点击以及其他一切正常工作。要在打字时禁用触摸板,您可以使用syndaemon -i 0.5 -d

相关内容