概要
対象は次のようなものです.
- AT 互換機 + USB キーボード,USB マウス
- FreeBSD/i386 7.2 + X.Org 7.4 および FreeBSD/i386 8.1 + X.Org 7.5
概要
対象は次のようなものです.
目的は次のようなものです.
(注) xf86-input-mouse が 1.6.0 から 1.7.1 へと更新されましたが,ある期間だけ動作に不具合が生じています.
X.Org 7 on AT (3) 2.2 節 の (注) を御覧下さい.
目次
ここでは X.Org on AT (1) と同じ検討を USB キーボード,USB マウスに対して行ないます.[1] 差異は以下の通り.
[1] PS/2, USB の両方のキーボードとマウスを挿した状態は X.Org on AT (3) にて検討します.
(Note PC に USB キーボードやマウスを挿せばそうなるので,そう例外的な状況でもないでしょう.)
[2] 厳密には,私は USB マウスを所有しておりません.
上記の検討には AT 互換機用 PC-98 配列キーボード に示したキーボード PK-KB002 を用いました.
これには PS/2 マウスのコネクタが付いており,ここに繋げたマウスは USB マウスとして認識されます.
→ USB マウスを入手したので試しました.当然ですが下記と同様の結果になります.
[3] USB マウスを挿して OS を起動すると,自動的に moused が起動します. それを抑制するには,/etc/rc.conf に次のように設定します.
moused_nondefault_enable="NO"
あくまで当方の環境においてですが,moused on の方がマウスの効きが若干鈍いので,私は moused off で使っています.
それと,Hot Plug (活線挿抜) の機能として HAL と moused が重複しているように思います. PC の電源 on の状態でマウスの抜き挿しを試す必要もありそうです.
hald は起動しているものとします.
xorg.conf の記述は PS/2 キーボード,PS/2 マウスとまったく同じです.
キーボードの設定法も PS/2 キーボードとまったく同じです.
マウスの設定法も PS/2 マウスと同様ですが,mouse-sysmouse.fdi に記述する内容が一部異なります.
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.mouse">
<merge key="input.x11_options.Protocol" type="string">Auto</merge>
<merge key="input.x11_options.Device" type="string">/dev/ums0</merge>
<merge key="input.x11_options.Emulate3Buttons" type="string"></merge>
</match>
</device>
</deviceinfo>
これは moused が off の場合であり,on ならば ums0 の部分を sysmouse に換えて下さい. (mouse-sysmouse.fdi を作成しなければ,HAL は moused の動作を検知して,この差異を反映した設定を自動的に行ないます.)
moused off の場合,X Window System の log には次のように出力されます.
(**) |-->Input Device "Mouse1" (**) |-->Input Device "Keyboard1" (==) Automatically adding devices (==) Automatically enabling devices (中略) (WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled. (WW) Disabling Mouse1 (WW) Disabling Keyboard1 (中略) (II) config/hal: Adding input device PC98KEY USB KBD/M (II) Loading /usr/local/lib/xorg/modules/input//mouse_drv.so (II) Module mouse: vendor="X.Org Foundation" compiled for 1.6.1, module version = 1.4.0 (**) PC98KEY USB KBD/M: Device: "/dev/ums0" (**) PC98KEY USB KBD/M: Protocol: "Auto" (**) PC98KEY USB KBD/M: always reports core events (==) PC98KEY USB KBD/M: Emulate3Buttons, Emulate3Timeout: 50 (**) PC98KEY USB KBD/M: ZAxisMapping: buttons 4 and 5 (**) PC98KEY USB KBD/M: Buttons: 9 (**) PC98KEY USB KBD/M: Sensitivity: 1 (II) XINPUT: Adding extended input device "PC98KEY USB KBD/M" (type: MOUSE) (**) PC98KEY USB KBD/M: (accel) keeping acceleration scheme 1 (**) PC98KEY USB KBD/M: (accel) filter chain progression: 2.00 (**) PC98KEY USB KBD/M: (accel) filter stage 0: 20.00 ms (**) PC98KEY USB KBD/M: (accel) set acceleration profile 0 (WW) fcntl(11, F_SETOWN): Inappropriate ioctl for device (II) config/hal: Adding input device PC98KEY USB KBD/M (II) Loading /usr/local/lib/xorg/modules/input//kbd_drv.so (II) Module kbd: vendor="X.Org Foundation" compiled for 1.6.1, module version = 1.3.2 (**) PC98KEY USB KBD/M: always reports core events (**) PC98KEY USB KBD/M: Protocol: standard (**) PC98KEY USB KBD/M: XkbRules: "xorg" (**) PC98KEY USB KBD/M: XkbModel: "jp106" (**) PC98KEY USB KBD/M: XkbLayout: "jp" (**) PC98KEY USB KBD/M: CustomKeycodes disabled (II) XINPUT: Adding extended input device "PC98KEY USB KBD/M" (type: KEYBOARD) (中略) 以下の log は出るべきではないのですが,動作に不具合はないようです. (II) config/hal: Adding input device AT Keyboard (**) AT Keyboard: always reports core events (**) AT Keyboard: Protocol: standard (**) AT Keyboard: XkbRules: "xorg" (**) AT Keyboard: XkbModel: "jp106" (**) AT Keyboard: XkbLayout: "jp" (**) AT Keyboard: CustomKeycodes disabled (II) XINPUT: Adding extended input device "AT Keyboard" (type: KEYBOARD)
moused on の場合には,/dev/ums0 の行が次のようになり
(**) PC98KEY USB KBD/M: Device: "/dev/sysmouse"
また次の行がなくなるだけで,それ以外は同一です.
(WW) fcntl(11, F_SETOWN): Inappropriate ioctl for device
xorg.conf の記述は PS/2 キーボード,PS/2 マウスとほぼ同じですが,マウスの部分に差異があります.
Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "Auto" Option "Device" "/dev/ums0" ← moused on ならば sysmouse Option "Emulate3Buttons" EndSection
hald は起動していないものとします. moused off の場合,X Window System の log には次のように出力されます.
(**) Not automatically adding devices (**) Not automatically enabling devices (中略) (**) Mouse1: Device: "/dev/ums0" (**) Mouse1: Protocol: "auto" (**) Mouse1: always reports core events (**) Mouse1: Emulate3Buttons, Emulate3Timeout: 50 (**) Mouse1: ZAxisMapping: buttons 4 and 5 (**) Mouse1: Buttons: 9 (**) Mouse1: Sensitivity: 1 (II) XINPUT: Adding extended input device "Mouse1" (type: MOUSE) (**) Mouse1: (accel) keeping acceleration scheme 1 (**) Mouse1: (accel) filter chain progression: 2.00 (**) Mouse1: (accel) filter stage 0: 20.00 ms (**) Mouse1: (accel) set acceleration profile 0 (WW) fcntl(10, F_SETOWN): Inappropriate ioctl for device (**) Keyboard1: always reports core events (**) Keyboard1: Protocol: standard (**) Keyboard1: XkbRules: "xorg" (**) Keyboard1: XkbModel: "jp106" (**) Keyboard1: XkbLayout: "jp" (**) Keyboard1: CustomKeycodes disabled (II) XINPUT: Adding extended input device "Keyboard1" (type: KEYBOARD)
moused on の場合には,前節の設定 (1) の場合と同様ですが,/dev/ums0 の行が次のようになり
(**) Mouse1: Device: "/dev/sysmouse"
また次の行がなくなるだけで,それ以外は同一です.
(WW) fcntl(10, F_SETOWN): Inappropriate ioctl for device