Kensington SlimBlade Trackball 軌跡球在 Linux 中的使用設定
我最近去日本時,趁便宜買了兩隻 Kensington 的軌跡球,分別是 Kensington SlimBlade Trackball 和 Kensington Orbit Trackball 。分別說明這兩隻軌跡球在 Linux 下使用的設定心得。
在 Debian 8 中,基本上不用設定任何項目便可正常使用。
如果你是左撇子,或者想要更快的捲頁速度,請繼續閱讀。
指令工具 xinput
指令工具 xinput 可以操作軌跡球設定。
鍵碼與按鍵動作
查看全部屬性值:
xinput list-props "Kensington Kensington Slimblade Trackball"
按鍵動作設置與鍵碼:
- 左下鍵: 鍵碼 1 ;預設動作 滑鼠左鍵。
- 右下鍵: 鍵碼 3 ;預設動作 滑鼠右鍵。
- 左上鍵: 鍵碼 2 ;預設動作 滑鼠中鍵。
- 右上鍵: 鍵碼 8 ;預設動作 返頁(page back)。少數應用軟體支持此鍵。在瀏覽器中按下此鍵,等於回上一頁。
查看現行按鍵動作設置:
xinput get-button-map "Kensington Kensington Slimblade Trackball"
右撇子的按鍵動作設置:
xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 2 3 4 5 6 7 8 9 10 11 12
左撇子可以採用下列設置,將按鍵設置和水平滾動的捲頁方向倒過來:
xinput set-button-map "Kensington Kensington Slimblade Trackball" 3 8 1 5 4 6 7 2 9 10 11 12
水平滾動與捲頁
SlimBlade Trackball 軌跡球的特色就是以水平滾動軌跡球做到上、下捲頁。但是在 Linux 中,水平滾動的捲頁速度無法調得更快。有時會讓人覺得捲太慢。我試過調整屬性 “Evdev Scrolling Distance” ,並不影響捲頁速度。
另外,想要水平滾動軌跡球又不想要讓指標漂動的話有個小技巧,就是用指頭頂著軌跡球旁那一圈裝飾環,沿著那一圈順勢滾動軌跡球。那一圈環看來不是單純的裝飾用途。
雖然沒辦法從系統方面調整水平滾動軌跡球的捲頁速度,但 Mozilla Firefox 版本 17 或更新版本的使用者,可以調整 Firefox 的內部設定,加快在 Firefox 中瀏覽網頁時的捲頁速度。
在 Firefox 瀏覽器網址列輸入 about:config
,然後找到 mousewheel.default.delta\_multiplier\_y 項目。它的預設值是 100 ,這代表 1 個捲頁單位,而 1 個捲頁單位其實是 3 行。軌跡球水平滾動「滴」一聲就是一個單位。若將此項目改為 200 就是一次捲 6 行。最大可以設 400 ,一次捲 12 行。參考: Gecko:Mouse Wheel Scrolling 。
四方向捲頁
除此之外,還可以用滾輪模擬功能實現快速捲頁。滾輪模擬功能是用垂直滾動軌跡球的方式捲頁,和水平滾動相比有下列兩個優點:
- 可以上、下、左、右的四方向捲頁。
- 此模式的捲頁速度比水平滾動軌跡球更快。
但缺點是,要額外配合一個按鍵使用。一般會設定在按住左上或右上鍵的狀態下垂直滾動軌跡球。
啟用滾輪模擬功能:
xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 1
設定滾輪模擬鍵: (此例指定右上鍵,鍵碼 8)
xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8
設定滾輪可以四方向捲頁:
xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Axes" 6 7 4 5
預設只模擬上下方向捲頁。在第一欄填 6 ,第二欄填 7 ,便可加上左右方向捲頁。
X 組態檔
上述調整的 xinput 指令,也可以 X 組態檔設置,如下:
## Debian: /usr/share/X11/xorg.conf.d/50-slimblade.conf
Section "InputClass"
Identifier "Slimblade Trackball"
MatchProduct "Kensington Kensington Slimblade Trackball"
MatchDevicePath "/dev/input/event*"
Option "Buttons" "12"
## Right hand (default setting)
#Option "ButtonMapping" "1 2 3 4 5 6 7 8 9 10 11 12"
## Left hand
#Option "ButtonMapping" "3 8 1 5 4 6 7 2 9 10 11 12"
## xinput "Evdev Wheel Emulation" 1
Option "EmulateWheel" "true"
## xinput "Evdev Wheel Emulation Button" 8
Option "EmulateWheelButton" "8"
## xinput "Evdev Wheel Emulation Axes" 6 7 4 5
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
xinput 與 evdev 的屬性說明請參考 EVDEV manual 。
本文提到的屬性,其預設狀態如下:
- 按鍵動作對照(button-map): 1 2 3 4 5 6 7 8 9 10 11 12
- Evdev Wheel Emulation: 0
- Evdev Wheel Emulation Button: 4
- Evdev Wheel Emulation Axes: 0 0 4 5