trackpoint 以 evdev 驅動以 xinput config
無意間又進入 windows,才發現 linux 下的 trackpoint
速度是近不能用的狀態,虧我還能用這麼久。
找到 解法是移除 xserver-xorg-input-libinput
裝 xserver-xorg-input-evdev
即可 。
之後就能用 xinput 或 xorg.conf 調速度了。
在 windows 下可以直接用預附的工具調, 然後 重新開機 到 linux 下還是很快; 但如果是 關機再開機 就會變很慢了。
google 找類似的問題,多數太舊問題和解法都不對。 有找到一個 stack exchange 的問題,但沒人回答。 最後找到上面那串 reddit,仔細看才發現有解法。
一開始直接移除 xserver-xorg-input-libinput
後重啟 xserver systemctl restart lightdm
,
結果鍵盤和滑鼠就沒反應了。
完全無法操作電腦,只好重開進 recovery mode,
發現文字介面下還能操作,
但 startx 進 gui 就不行了。
之後仔細看,發現我預設沒裝 input-evdev 這個 package,
難怪拔了 input-libinput 就沒反應。
就裝再重開就好了。
裝好 evdev 發現 xinput 可以多看到很多選項,
調低 Device Accel Constant Deceleration
可以加速,
reddit 那個人調到 0.2,我調 0.3 就很快了,要適應一下。
其它還有模擬滾輪、中鍵,都有開。
evdev map-pages 裡有介紹 config 怎麼寫,
我就照著寫 ,然後丟到 /etc/X11/xorg.conf.d/
,
systemctl restart lightdm
就卡住了。
不知道哪裡錯 orz
最後用 shell script 呼叫 xinput 解決。
xorg config 雷點
後來終於寫對 config 了, 原本是照 evdev map-page 裡寫, 發現最後一些中間有空格的屬性不知道怎麼調, 用 Option 設的選項都是 UpperCamelCase, 那些是中間有空格的。
Evdev Axis Calibration
4 32-bit values, order min-x, max-x, min-y, max-y or 0 values to
disable in-driver axis calibration.
Evdev Axis Inversion
2 boolean values (8 bit, 0 or 1), order X, Y. 1 inverts the
axis.
這些是只能用 xinput 調的,
然後調速度的選項不在 evdev man-page,
在 xorg.conf 的 man-page。
有很多能調,像加速的曲線
AccelerationProfile
就有八九種。
主要我選了一個順手的曲線,
和 ConstantDeceleration 調減速倍率,
2 就是 1/2,所以調 0.3 就是近三倍。
然後一直錯的一個雷點是 config 裡 選項名和值都要用雙引號包起來。 總之 最後就用 xorg.conf 了 , shell script 就刪了。