コタツの上で、古い PC に linuxBean を入れて使っている。 PC は快調なんだけどトラックボールが壊れかけてて、クリックが約 50% 失敗するので、キーボードに機能を持たせることにした。
xdm だか gdm だか忘れたけど、startx 以外だと .xinitrc を見ないんだっけ、とか不安になったので、いちばん確実なのは wm だろうということで、openbox の設定ファイルに xmodmap を書いた。
しかし実は既定の起動実行ファイルは ~/.config/option/lxsession/LXDE/autostart だった。なんでやねん。*1 LXDE だからですね。
その autostart に
# 画面が10分で暗くなるのヤメテ xset s 0 0 xset -dpms # テンキーでマウス操作できるといい #setxkbmap -option mousekeys xkbset m # スピード調整 xkbset ma 60 10 10 5 2 # 勝手にやめるのヤメテ xkbset exp "=m" # 上のexpiryを設定する前はこれで何度もenableしてた #xmodmap -e "keycode 77 = Pointer_EnableKeys" #テンキーの0でクリック、.で右クリック xmodmap -e "keycode 90 = Pointer_Button1" xmodmap -e "keycode 91 = Pointer_Button3"
という感じのことを書いた。
あとは、/usr/share/X11/xorg.conf.d/11-evdev-marblemouse.conf みたいなファイルを作って
Section "InputClass" Identifier "marble mouse catchall" MatchIsPointer "true" # Marble じゃマッチしない。Ball が大文字でもダメ。 # 文字列は "Logitech USB Trackball" なんだよなぁ。 MatchProduct "Trackball" MatchDevicePath "/dev/input/event*" Option "Emulate3Buttons" "true" Option "EmulateWheel" "true" # 左ボタンの内側のちっちゃいボタンを押しながら # ボールを動かすと、ホイールになるようにする。 # ThinkPad の中央ボタンみたいな感じね。 Option "EmulateWheelButton" "8" # ちょっと動かしただけで反応するように Option "EmulateWheelInertia" "1" # このボタンも壊れかけてるので、 # 押してすぐ離したと思われることがある。 # そういうとき「戻る」ボタンと思わないでほしいので。 Option "EmulateWheelTimeout" "0" # 正直 XAxis はあまり使わないけど、たまに欲しい。 Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection
って書いた。*2