from: http://www.jianshu.com/p/b9677e9e56ec

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。

Ubuntu开机之后会执行/etc/rc.local文件中的脚本,
所以我们可以直接在/etc/rc.local中添加这条命令。
当然要添加到语句:exit 0 前面才行

把这条命令加入到 ~/.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

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

05-11 18:17