配置 Thinkpad TrackPoint 的最佳方法是什么?

Jon*_*all 48 mouse hardware input-devices thinkpad udev

以前有用的ThinkWiki 页面似乎已经过时了。我正在尝试永久更改我的 TrackPoint 灵敏度和速度设置并启用鼠标中键滚动。我过去尝试过 configure-trackpoint,但设置没有永久保存(重启后它们会丢失)。

我试过了gpointing-device-settings。使用它,我可以让鼠标中键滚动工作,但我无法更改轨迹点的速度或灵敏度设置。我尝试过的 ThinkWiki 页面上的所有方法都无法按照 Ubuntu 11.04 中的指示工作。有人可以解释如何永久编辑 TrackPoint 设置以便我可以正确使用它吗?

hto*_*que 51

不幸的是,似乎没有简单的方法。我将描述的是如何创建一个新的 Upstart 作业以通过 /sys 下的虚拟文件系统设置启动时的值。

  1. 找到您的轨迹点的设备路径

    在 gnome 终端中运行以下命令(按Alt+ F2,键入gnome-terminal,然后点击Enter):

    find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//'
    
    Run Code Online (Sandbox Code Playgroud)

    在我的情况下,这将返回/sys/devices/platform/i8042/serio1/serio2- 在以下步骤中更改为它为您返回的任何内容。

  2. 查找灵敏度和速度的值

    在 gnome-terminal 中运行以下命令:

    echo 220 | sudo tee /sys/devices/platform/i8042/serio1/serio2/sensitivity
    
    Run Code Online (Sandbox Code Playgroud)

    敏感度为 220(这将要求您输入密码),以及

    echo 100 | sudo tee /sys/devices/platform/i8042/serio1/serio2/speed
    
    Run Code Online (Sandbox Code Playgroud)

    速度为 100。一旦找到您满意的值,请使用 Upstart 作业使更改永久化:

  3. 创建新的 udev 规则

    现在我们需要在系统启动期间应用设置。因此,按Alt+ F2,键入gksu gedit /etc/udev/rules.d/trackpoint.rules,然后点击Enter(这将要求您输入密码)。然后粘贴以下内容:

    SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="220", ATTR{speed}="110"
    
    Run Code Online (Sandbox Code Playgroud)

    (更新)由于WAIT_FOR已弃用,您可以在较新的系统上DEVPATH改用:

    SUBSYSTEM=="serio", DRIVERS=="psmouse", DEVPATH=="/sys/devices/platform/i8042/serio1/serio2", ATTR{sensitivity}="220", ATTR{speed}="110"     
    
    Run Code Online (Sandbox Code Playgroud)

    保存文件并重新启动或运行上面的命令:

    sudo udevadm control --reload-rules
    sudo udevadm trigger 
    
    Run Code Online (Sandbox Code Playgroud)

  • 感谢非常详细的回复。所以我昨晚从 ThinkWiki 文章中进行了更多的挖掘和调整,我发现了其他有用的东西。前两步应该是一样的。我没有使用 Upstart 工作,而是使用了 udev 规则。我按 Alt+F2 创建了一个文件,输入 `gksu gedit /etc/udev/rules.d/trackpoint.rules` 并粘贴以下内容:`SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR=" /sys/devices/platform/i8042/serio1/serio2/sensivity", ATTR{sensivity}="200", ATTR{speed}="150"` 然后重启。我有什么理由应该使用 Upstart 与 udev 规则吗? (5认同)

Vit*_*yna 21

所以,是什么帮助我让 TRACKPOINT 更加敏感。

1.最简单的方法是在终端中做:

 $ xinput --list --short
Run Code Online (Sandbox Code Playgroud)

你会看到这样的事情:

omicron@omicron:~$ xinput --list --short
? Virtual core pointer                      id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=10.  [slave  pointer  (2)]
?   ? ImPS/2 Generic Wheel Mouse                id=12   [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)]
    ? Power Button                              id=8    [slave  keyboard (3)]
    ? Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=9    [slave  keyboard (3)]
    ? Eee PC WMI hotkeys                        id=11   [slave  keyboard (3)]
Run Code Online (Sandbox Code Playgroud)

2.找到您的轨迹点设备。就我而言,它是 id=10。

3.然后在终端做:

$ xinput --set-prop "10" "Device Accel Constant Deceleration" 0.5
Run Code Online (Sandbox Code Playgroud)

这里的“10”是设备ID(Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint id=10),这里输入你的ID,“0.5”是灵敏度级别。您可以通过输入大于 0 到 1000 的数字来试验灵敏度。但您绝对不需要它。数字越小速度越高。

我使用 0.4 或 0.45

4. 重要。选择速度后,将上一个脚本复制到自动启动。

在此处输入图片说明

PS如果设置有一天停止工作,请再次检查 ID。您的设备表可能会发生一些变化,并且 ID 可能会发生变化。

希望它会帮助你。

享受您的 ThinkPad!

  • 不幸的是我得到:`属性'设备加速恒定减速'不存在,你需要指定它的类型和格式`不知道如何做到这一点......有什么建议吗?(Thinkpad T420,Ubuntu 18.04) (4认同)
  • 我有 thinkpad E480 和 Ubuntu 18.04 和 `xinput --set-prop "12" "libinput Accel Speed" -0.5` 命令工作 (2认同)

小智 14

对于我的 Thinkpad T530 和 Ubuntu 15.10。只需使用:

sudo -i gedit /etc/udev/rules.d/10-trackpoint.rules
Run Code Online (Sandbox Code Playgroud)

然后在上面添加以下内容,然后重启。设置值将被保留。

ACTION=="add",
SUBSYSTEM=="input",
ATTR{name}=="TPPS/2 IBM TrackPoint",
ATTR{device/sensitivity}="190",
ATTR{device/speed}="180",
ATTR{device/inertia}="6",
ATTR{device/press_to_select}="0"
Run Code Online (Sandbox Code Playgroud)

  • @JamesBB 运行 `udevadm trigger --action add --subsystem all` 将使 udev 将规则应用于所有现有设备。 (2认同)

Han*_*uys 10

这是基于 Vitaly Dubyna 的回答,但已更新为适用于最近(2019 年)Thinkpads 和 Xorg 版本(感谢对该答案的评论)。

从命令行,输入此命令(仅 $ 后面的部分):

$ xinput | grep -i trackpoint
TPPS/2 Elan TrackPoint   id=12 
Run Code Online (Sandbox Code Playgroud)

注意 id=12(可能在您的系统上有所不同)。

$ xinput --list-props 12
...
libinput Accel Speed (300):     0.000000
libinput Accel Speed Default (301):     0.000000
...
Run Code Online (Sandbox Code Playgroud)

试验速度设置;允许负值。例如,

$ xinput --set-prop 12 'libinput Accel Speed' -0.25
Run Code Online (Sandbox Code Playgroud)

满意后,将该命令添加为启动应用程序(通常在开始菜单 > 首选项 > 启动应用程序下)。

以上设置名称已针对 Thinkpad 型号 X1c5 (Ubuntu 18.04)、E480 (18.04) 和 E490 (Mint 19.1) 进行确认。

注意:如果您插入了外部键盘或鼠标,编号 (id=12) 可能会被打乱。为了更稳健,请尝试以下操作:

xinput --set-prop $(xinput | perl -ne 'if(/TrackPoint.*id=(\d+)/) { print $1; }') 'libinput Accel Speed' -0.25
Run Code Online (Sandbox Code Playgroud)