问题
我的 16.04 笔记本电脑有 1366x768 显示屏,一切都很完美。当我连接外接显示器(1920x1200)时,一切都很完美,但鼠标灵敏度(我可以称之为解决或者精确)。
光标在缓慢移动时会在像素之间“跳跃”,我发现很难指向小区域。
换句话说:指针精度不高.
使用鼠标或触摸板时都会发生这种情况。
我在另一台 16.04 PC 上使用另一个鼠标和一个高分辨率显示器(1920x1080)时也看到了同样的问题(“像素跳跃”),所以我猜这是高分辨率显示器才具有的“特性”。
我尝试过 #1
xset -q|grep accel
输出acceleration: 5/1 threshold: 5
通过对 xset 参数进行修改,我发现xset -m 1 5
效果稍好一些,但根本没有解决“精度”问题(仍然跳跃像素)。
我尝试过的方法 #2
xinput
我尝试在插入外部显示器时寻找参数变化:xinput list
输出很多设备,然后我使用以下方法对它们进行测试:xinput list-props
。
连接第二台显示器时唯一改变的是:
xinput list-props "Atmel Atmel maXTouch Digitizer"
唯一改变的参数是:
Coordinate Transformation Matrix (144):
1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
到
Coordinate Transformation Matrix (144):
0.415703, 0.000000, 0.000000, 0.000000, 0.640000, 0.000000, 0.000000, 0.000000, 1.000000
问题
- 我可以阻止这种情况发生吗?
- 我可以
Coordinate Transformation Matrix
用 xinput 修改参数吗? - 是否可以同时针对不同的显示分辨率实现不同的指针行为?我的意思是:高分辨率实现“快速”,低分辨率实现“流畅”?
谢谢!
答案1
两个月后,我回答了我自己的问题,我再次研究了这个问题并找到了解决方案。
xinput --list --short
输出两个与触摸板相关的驱动:
Atmel Atmel maXTouch Digitizer id=11
和
ETPS/2 Elantech Touchpad id=14
连接外部显示器时唯一发生变化的是。使用(144 是坐标变换矩阵道具)id=11
更改其参数并没有改变光标行为,然后我尝试使用其他驱动程序进行破解并成功:xinput set-prop 11 144 1 0 0 0 1 0 0 0 1
xinput set-prop 14 144 .5 0 0 0 .5 0 0 0 1
xinput set-prop 14 273 25
这样,我就能够在缓慢移动时提高光标精度(通过坐标变换矩阵,道具 144),并在手指在触摸板上快速移动时保持较高的加速度(设备加速度缩放,道具 273)。
我认为这些信息对于其他全高清用户可能也有用。