はじめに
今までキーボードの腱鞘炎対策は色々してきて、自分の手にフィットするキーボードを使い始めてから全く問題がなかったんだが、マウスについては全く無頓着で、右手右腕が腱鞘炎になってしまった。
トラックボールがいいぞって色々な人からオススメされて結構高いけど買ってみた。ヨドバシに行って一番手にフィットするやつを選んだ。値段は6000ちょいだったかな。色々ファンクションキーがついていて割当られるところも悪くないのだが、ubunt上での使用を考えているので少し面倒。忘れないように設定方法をメモしておく。
ちまみにだけど、元々はlogicoolのマウスを使っていたんだけど、これはこれで中々オススメ。
デバイスの特定
$ xinput list

これよりデバイスのidがid=9であることが分かる。
トラックボールのボタン配列を調べる
先程調べたデバイスのidを指定して、以下のコマンドを実行する。
この時知りたいボタンを押した状態で実行すると、押しているボタンはdown表示になって
現れるので、ボタンとボタンのidの対応関係がわかる。
xinput query-state 12

ちなみにDEFT proのボタンの対応関係は以下の通り
| id | key |
|---|---|
| 1 | 左クリック |
| 2 | ホイール押し込み |
| 3 | 右クリック |
| 4 | ホイール前 |
| 5 | ホイール後 |
| 6 | 不明 |
| 7 | 不明 |
| 8 | 戻る(>) |
| 9 | 進む(<) |
| 10 | Fn1 |
| 11 | Fn2 |
| 12 | Fn3 |
左クリックをFn1キーに割当
DEFT proの左クリックは親指で押す設計になっていて、スマホの使いすぎのせいか、結構痛いんので左クリックの位置を変更してみる。まずは現在のマッピングを表示してみよう。デバイスのidは9なので、
$ xinput get-button-map 9
Fn1キーが10番、左クリックが1番であることが分かっているので、10から1へ変更すればFn1が左クリックとして機能してくれそう。以下のコマンドで設定しみると、確かにFnが左クリックとして働いている。
$ xinput set-button-map 9 1 2 3 4 5 6 7 8 9 1 11 12

設定を固定する
xinput set-button-map コマンドでボタンの割当を変更しても、再起動時に設定がリセットされてしまうので、起動時に設定を自動で再度実施してもらう
$ echo "xinput set-button-map 9 1 2 3 4 5 6 7 8 9 1 11 12" >> ~/.xsessionrc
参考文献
Linuxでマウス/トラックボールのボタン割当て変更 - がとらぼ


