TrackPoint

来自 Arch Linux 中文维基

小红点(TrackPoint)是联想所有的键盘中间的指点杆的商标。xf86-input-evdevxf86-input-libinput 都支持它。evdev是 Xorg 的默认驱动。

在默认设置中,Xorg 支持点击和指点, 但是用中键做滚轮需要更多的配置。

GUI 配置[编辑 | 编辑源代码]

安装 gpointing-device-settingsAUR 软件包。

用中键作滚轮[编辑 | 编辑源代码]

使用 xf86-input-libinput 时,用中键作滚轮的功能默认启用。

使用 xf86-input-evdev 时,用中键作滚轮的功能由 xorg-xinput 软件包的 xinput 支持。例如:

~/.xinitrc
tpset() { xinput set-prop "TPPS/2 IBM TrackPoint" "$@"; }

tpset "Evdev Wheel Emulation" 1
tpset "Evdev Wheel Emulation Button" 2
tpset "Evdev Wheel Emulation Timeout" 200
tpset "Evdev Wheel Emulation Axes" 6 7 4 5
tpset "Device Accel Constant Deceleration" 0.95
注意:
  • 可以用 xinput --listhwinfo 列出设备名。
  • "Device Accel Constant Deceleration" 一行配置小红点的敏感度。

按压选择[编辑 | 编辑源代码]

小红点和很多触摸板一样支持按压选择功能。要手工打开此功能:

# echo -n 1 > /sys/devices/platform/i8042/serio1/press_to_select
注意: press_to_select 文件的位置可能会因为你使用的设备而有所不同。同时带有小红点和触摸板的系统会用 /sys/devices/platform/i8042/serio1/serio2/ 路径,而只有小红点的设备会用 /sys/devices/platform/i8042/serio1/ 路径。

udev规则[编辑 | 编辑源代码]

这条规则增大小红点的速度并在启动时打开按压选择功能(如上所述)。 随便改变这些数值并添加其他修改到 /sys/devices/platform/i8042/serio1/serio2/ 的文件中。这个规则也使用于只有小红点的设备。

/etc/udev/rules.d/10-trackpoint.rules
ACTION=="add", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/sensitivity}="240", ATTR{device/press_to_select}="1"

Xorg配置[编辑 | 编辑源代码]

要打开按下中键时用小红点作滚轮的功能,创建 /etc/X11/xorg.conf.d/20-thinkpad.conf,用xinput给的设备名字替换 TPPS/2 IBM TrackPoint:

Section "InputClass"
    Identifier	"Trackpoint Wheel Emulation"
    MatchProduct	"TPPS/2 IBM TrackPoint"
    MatchDevicePath	"/dev/input/event*"
    Option		"EmulateWheel"		"true"
    Option		"EmulateWheelButton"	"2"
    Option		"Emulate3Buttons"	"false"
    Option		"XAxisMapping"		"6 7"
    Option		"YAxisMapping"		"4 5"
EndSection

故障排除[编辑 | 编辑源代码]

小红点没被检测到或者在X分钟后被检测到[编辑 | 编辑源代码]

这看起来是个内核的bug: https://bugzilla.kernel.org/show_bug.cgi?id=33292

一个方案是往 psmouse 模块传入 proto=bare 参数。但是这会禁止触摸板的滚动功能和两指中键点击功能。

modprobe psmouse proto=bare

参考[编辑 | 编辑源代码]