コタツの上で、古い 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