搜尋了一下才知道現在設定的方式都是用 xinput 的方式設定。不過上面的設定方式是針對 Synaptics Touchpad,所以要先用以下指令找出 Elantech 所用的裝置名稱:
xinput list用完之後會有以下輸出,可以從裡面發現使用的 Touchpad 裝置名稱是 ETPS/2 Elantech Touchpad
⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ ETPS/2 Elantech Touchpad id=13 [slave pointer (2)] ⎜ ↳ Macintosh mouse button emulation id=14 [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)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳ USB2.0 0.3M UVC WebCam id=10 [slave keyboard (3)] ↳ Asus EeePC extra buttons id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
所以只要用以下指令就可以設定好 Elantech Touchpad 的雙指滾輪
xinput set-int-prop "ETPS/2 Elantech Touchpad" "Two-Finger Scrolling" 8 1 xinput set-int-prop "ETPS/2 Elantech Touchpad" "Synaptics Two-Finger Scrolling" 8 1 1 xinput set-int-prop "ETPS/2 Elantech Touchpad" "Synaptics Two-Finger Pressure" 32 10 xinput set-int-prop "ETPS/2 Elantech Touchpad" "Synaptics Two-Finger Width" 32 8
不過這些設定都不會保存下來,需要在登入的時候重新設定。所以我把他放在 ~/bin/touchpad-setting.sh 底下,並且用 chmod +x touchpad-setting.sh 更改成可執行權限,然後在 [系統] → [偏好設定] → [始動應用程式] → [初始啟動程式] 裡面加入 touchpad-setting.sh。
這個時候又遇到一個奇怪的問題,我直接執行這個 script 有用,不過如果是登入的時候自動執行卻沒用。後來我猜是剛登入的時候 xinput 的 backend 可能還沒準備好,所以執行下去沒反應。最後我又加入了 sleep 5 之後,就一切正常了。
#!/bin/bash sleep 5 xinput set-int-prop "ETPS/2 Elantech Touchpad" "Two-Finger Scrolling" 8 1 xinput set-int-prop "ETPS/2 Elantech Touchpad" "Synaptics Two-Finger Scrolling" 8 1 1 xinput set-int-prop "ETPS/2 Elantech Touchpad" "Synaptics Two-Finger Pressure" 32 10 xinput set-int-prop "ETPS/2 Elantech Touchpad" "Synaptics Two-Finger Width" 32 8
沒有留言 :
張貼留言