在官方網站上面,它只有提供 Windows 和 Mac 的程式,並沒有 Linux 的版本。也就導致我一直認為它不能在 Linux 正常運作。一直到後來看關於 Linux XWindow 的書,裡頭説到在理論上可以支援無限數量按鍵的滑鼠。照這個説法來看,我的這支滑鼠應該可以跑在 Linux 上,而不用接在另一台常常會拿來拿去的 Notebook上(工作用桌機是 Linux,筆電是 Windows 7)。
一開始的嘗試並不順利,原因在於一直以來使用 Windows 的習慣告訴我︰「使用硬體一定要安裝對應的驅動程式」,因為像是 nvidia 的顯示卡,就需要安裝對應的 diver 才能發揮其較能。所以我在工作之餘,斷斷續續花了一個多月的時間在找「給 Kensington 的驅動程式」, 而結果當然是找不到。
就快要放棄的時候,翻到書上關於 XWindow 的設定檔 Xorg.conf,其中定義了關於滑鼠 Driver (又是驅動程式,但我就是找不到)和每個按鈕的定義…咦!定義?當下閃過的念頭就是「也許 Linux 已經抓到 Kensongton 了,只是我沒有去定義左右鍵之外的按鈕所代表的功能。
最後查到設定中有一個「ButtonMapping」的屬性,並且有個 xinput set-button-map 的指令,就是定義每一個滑鼠按鍵代表的意義。由於設定每個按鍵的作用,可以算是每個使用者的自由,因此我將設定的指令放在 ~/.xprofile 裡,加了一行…
xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 8 3 4 5 6 7 2 9 10 11 12這樣軌軌球的左上及右上的按鈕就會有作用。
其作法是利用 xinput 設定滑鼠的「button-map」,而「Kensington Kensinton Slimblade Trackball」是系統本身抓到的硬體名稱。後頭那一堆數字,就是代表每一個按鍵代表的意思。不同的數字代表的意思可以在這裡看到。
雖然是另外的滑鼠,不過重點放在第一行的 ID 和第三行的 Result。我的猜想是,當滑鼠按鍵(包含移動)會發出 ID 訊號,由電腦作出對應的行為。就像是鍵盤上每一個按鈕都有獨立的 ID 編號,這樣上電腦才能精確的辨別出今天使用者按到的右邊還是左邊的「Ctrl 鍵」。因此,只要這個對應表作好,就能夠正常運作。
Kensington 的 ID 送出排列方式,是…「左下 左上 右下 移動(下上左右) 右上,所以上例的設定表示…
左下 → 左鍵(1)
左上 → 回上一頁(8)
右下 → 右鍵(3)
移動 → (4, 5, 6, 7)
右上 → 中鍵(2)
至於後的 10, 11, 12 我就不清楚了,還沒查到是什麼意思。
到目前為止仍不清楚的是…為什麼沒有設定的時候沒有滾輪的部分,是因為是它模擬鍵盤的行為嗎?還有 Kensington 在上個版本的設定程式,支援兩個按鍵同時按,能夠模擬特別的效果,在 Linux 能不能也實現,就有待之後看看還沒有時間讓我去研究了…
沒有留言:
張貼留言