美文网首页Linux学习|Gentoo/Arch/FreeBSD
在 Linux 下加速 Thinkpad 小红点

在 Linux 下加速 Thinkpad 小红点

作者: 李最美 | 来源:发表于2016-07-22 23:32 被阅读2187次

    Thinkpad大概是对Linux支持最好的笔记本了,Ubuntu大概是对硬件支持最好的Linux发行版了。Ubuntu16.04已经可以支持最新的2016年的Thinkpad X1 Carbon的CPU,但是还是有些安装后的设置要做,比如小红点。Ubuntu下并没有默认的对小红点Trackpoint的设置界面,所以小红点加速很慢,使用十分辛苦。

    修改加速设置也很简单,首先在终端下取得小红点的ID:

    $ xinput list | grep TrackPoint
      TPPS/2 IBM TrackPoint    id=14    [slave  pointer  (2)]
    

    我的X1c上小红点的输入ID是14。

    然后获得该ID的设置:

    $ xinput list-props 14
    Device 'TPPS/2 IBM TrackPoint':
        Device Enabled (137):   1
        Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (263): 0
        Device Accel Constant Deceleration (264):   1.000000
        Device Accel Adaptive Deceleration (265):   1.000000
    ...
    

    输出结果第5、6行就是关于小红点加速的设置:

    ...
    Device Accel Constant Deceleration (264): 1.000000 
    Device Accel Adaptive Deceleration (265): 1.000000
    ...
    

    其中括号里的整数就是该项设置的ID,后面的小数是该项设置的参数值。ID为264(我的机器)代表的是小红点的固定阻力值(Constant Deceleration),取值范围是 [0,1];ID为265代表的是随力度减弱时阻力增加的速度,即小红点停下来的速度,取值范围是 [1,?]。一般来说设置264就够了:

    $ xinput set-prop 14 264 0.25
    

    即把ID为14(小红点)的设备的ID为264(阻力)设置为0.25。

    把这条命令加入到 ~/.xprofile 或者其它启动运行的命令里就好了。当然还可以写个完整的shell脚本来运行上面的一切:

    #!/bin/bash
    
    # obtain TrackPoint ID from xinput list
    TP_ID=$(xinput list | grep TrackPoint | cut -f 2 | grep -Eo '[0-9]{1,}')
    
    if [ -n "$TP_ID" ]; then
            # obtain properties from xinput list-props "$TP_ID"
            AS_ID=$(xinput list-props "$TP_ID" | grep 'Accel Constant Deceleration (' | cut -f 2 | grep -Eo '[0-9]{1,}')
            # set the speed you want
            xinput set-prop "$TP_ID" "$AS_ID" 0.25 
    fi
    

    现在小红点又可以流畅的用起来啦~

    相关文章

      网友评论

        本文标题:在 Linux 下加速 Thinkpad 小红点

        本文链接:https://www.haomeiwen.com/subject/yziijttx.html