マウスの設定・続

d:id:pneumaster:20090529:1243574703の続き.


gsynaptics上で設定が変更できない件は置いておくとして,
次はこの状態で,以前動いていたUSBマウスを挿入するとどうなるかという話.


という話というか,xorg.confの編集なしには動きませんでした.
ホットプラグの設定はどこいってしまったのでしょうか...?


USBマウスを抜き差しする前後で次のファイルが作成されました.udevかな?
# 必要とあらばudevinfoを確認してもいいかも.

$ ls -lFGg /dev/input/by-path/
lrwxrwxrwx 1 9 May 31 17:41 pci-0000:00:1d.0-usb-0:2:1.0-event-mouse -> ../event8
lrwxrwxrwx 1 9 May 31 17:41 pci-0000:00:1d.0-usb-0:2:1.0-mouse -> ../mouse2

(snip)
$ ls -lFGg /dev/input/by-id/
lrwxrwxrwx 1 9 May 31 17:41 usb-Microsoft_Microsoft_IntelliMouse_Explorer-event-mouse -> ../event8
lrwxrwxrwx 1 9 May 31 17:41 usb-Microsoft_Microsoft_IntelliMouse_Explorer-mouse -> ../mouse2


次はデバイス情報.

$ cat /dev/bus/input/devices
(snip)

I: Bus=0003 Vendor=045e Product=0095 Version=0111
N: Name="Microsoft Microsoft IntelliMouse? Explorer"
P: Phys=usb-0000:00:1d.0-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/input/input25
U: Uniq=
H: Handlers=mouse2 event8 
B: EV=17
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=1c3
B: MSC=10

一部文字化けして「?」になっちゃってますが,shiftjisで「∃」みたいなやつです.
登録商品名につくマークだったかな?


man evdevでxorg.confのOptionsセクションについて調べてみると,
eNameとかevendorなどがありましたが,他の設定箇所が十分でないのか結局動きません.

以前,タッチパッドが使えず,USBマウスが使えていたときのxorg.confが残っていたので,
そこから設定を拝借することにしました.

(snip)

Section "Files"
(snip)

  InputDevices "/dev/input/by-id/usb-Microsoft_Microsoft_IntelliMouse_Explorer-event-mouse"
EndSection
(snip)


Section "InputDevice"
  Driver       "evdev"
  Identifier   "Mouse[2]"
  Option       "Device" "/dev/input/by-id/usb-Microsoft_Microsoft_IntelliMouse_Explorer-event-mouse"
  Option       "HWHEELRelativeAxisButtons" "7 6"
  Option       "InputFashion" "Mouse"
  Option       "Name" "Microsoft IntelliMouse Explorer"
  Option       "Pass" "3"
  Option       "Vendor" "Sysp"
  Option       "evBits" "+1-2"
  Option       "keyBits" "~272-287"
  Option       "relBits" "~0-2 ~6 ~8"
EndSection
(snip)


Section "ServerLayout"
(snip)

  InputDevice  "Mouse[2]" "SendCoreEvents"
(snip)

EndSection
(snip)

そのままXを再起動かけてみたが,できず.
その後/proc/bus/input/devicesからeNameではなく,Nameとしてコピペ.


それでも動かないので,

"/dev/input/by-id/usb-Microsoft_Microsoft_IntelliMouse_Explorer-event-mouse"ではなく,

"/dev/input/event8"を使うことにしたところ,ポインタが動くようになりました.


でも,これってUSBマウスが2つ以上挿していたりすると,
挿入する順番によってデバイスファイルの名前が変わると思うのです.
# USBマウスの手持ちが無いので試せないのですが.


そもそも,そういう理由で一意に識別されるようにby-idもしくはby-pathでやり始めたのに.

結局はudev使ってデバイスファイル名固定しないとダメなのでしょうか...