FreeBSD をクライアントとして使用する (X.org)
公開日:
:
最終更新日:2014/02/01
FreeBSD, FreeBSD くらいあんと
Seichan です.FreeBSD をクライアントとして使用する,其ノ三.
今回も X.org (X Window System) でマウスについて.
ホイールマウスを使用している場合,HAL のデフォルトの状態で,ホイールマウス等が利用できるので特にやる事はありません.
IBM のキーボードのようなトラックポイントタイプのいわゆる3ボタンチックなマウスの場合は,真ん中ボタンでのスクロールがデフォルトの状態では出来ません.
これではせっかくの IBM キーボードの良さが失われてしまいますので,これを何とかしましょう.
hal が使用するデフォルトのポリシーファイルは /usr/local/share/hal/fdi/policy に収められていますので,このファイルをコピーして編集するのが良いです.
[root@ayanami:~] > cp /usr/local/share/hal/fdi/policy/10osvendor/10-mouse-sysmouse.fdi /usr/local/etc/hal/fdi/policy
10-mouse-sysmouse.fdi は,マウス関連の設定ファイルになっています.このファイルを編集して IBM キーボードのマウス部分を設定しちゃいます.
面倒なので,編集前と編集後のファイルを以下に張り付けます.
— 編集前
<?xml version=”1.0″ encoding=”UTF-8″?>
<deviceinfo version=”0.2″>
<device>
<match key=”info.capabilities” contains=”input.mouse”>
<append key=”info.addons” type=”strlist”>hald-addon-mouse-sysmouse</append>
</match>
</device>
</deviceinfo>
— 編集後
<?xml version=”1.0″ encoding=”UTF-8″?>
<deviceinfo version=”0.2″>
<device>
<match key=”info.udi” contains=”/org/freedesktop/Hal/devices/usb_device_6cb_9_noserial_if0″>
<merge key=”input.x11_options.EmulateWheel” type=”string”>true</merge>
<merge key=”input.x11_options.EmulateWheelButton” type=”string”>2</merge>
<merge key=”input.x11_options.XAxisMapping” type=”string”>6 7</merge>
<merge key=”input.x11_options.YAxisMapping” type=”string”>4 5</merge>
<merge key=”input.x11_options.ZAxisMapping” type=”string”>4 5</merge>
<merge key=”input.x11_options.Emulate3Buttons” type=”string”>true</merge>
</match>
</device>
</deviceinfo>
Seichan が使っているのは,IBM トラベルキーボード で,USB接続のキーボードになっています.また,どうしてもマウスが使いたい場面があるので,全てのデバイスで上記設定が反映されると,今度はホイールマウスが有効に働かなくなります.
その為,まずは特定のデバイスだけにマッチさせる様に match タグでデバイスを指定しています.この場合,info.udi の文字列が /org/freedesktop/Hal/devices/usb_device_6cb_9_noserial_if0 の場合に上記設定を反映させる形となります.
特定のデバイスを探す場合,lshal コマンドを実行する事で,現在 hald が認識しているデバイスの一覧が列挙されます.一覧の中には,info.vendor のベンダ名や info.product のプロダクト名が表示されます.それらいずれかにマッチさせる事でデバイスの特定が出来るのならば,match タグ内で指定する事で特定デバイスの設定に反映が可能です.
で,設定が完了したら,hald をリスタートする事で設定が反映されます.
[root@ayanami:~] > /usr/local/etc/rc.d/hald restart
正しく設定が行われているかを確認するには,X Window 上で直接試す以外にも,lshal コマンドで確認する事が出来ます.例えば,今回の様なマウスの設定の場合 /org/freedesktop/Hal/devices/usb_device_6cb_9_noserial_if0 の中に以下の様に設定状態が表示されます.
— lshal の該当部分抜粋
udi = ‘/org/freedesktop/Hal/devices/usb_device_6cb_9_noserial_if0’
freebsd.device_file = ‘/dev/ums0’ (string)
freebsd.driver = ‘ums’ (string)
info.parent = ‘/org/freedesktop/Hal/devices/usb_device_6cb_9_noserial’ (string)
info.product = ‘Composite TouchPad / TrackPoint’ (string)
info.udi = ‘/org/freedesktop/Hal/devices/usb_device_6cb_9_noserial_if0’ (string)
info.vendor = ‘Synaptics Inc.’ (string)
input.device = ‘/dev/sysmouse’ (string)
input.x11_driver = ‘mouse’ (string)
input.x11_options.Emulate3Buttons = ‘true’ (string)
input.x11_options.EmulateWheel = ‘true’ (string)
input.x11_options.EmulateWheelButton = ‘2’ (string)
input.x11_options.XAxisMapping = ‘6 7’ (string)
input.x11_options.YAxisMapping = ‘4 5’ (string)
input.x11_options.ZAxisMapping = ‘4 5’ (string)
と言う事で,IBM キーボードのマウスも,ちゃんとスクロールボタンを有効に出来るのでした.
ちなみに,HAL/DBUS を使わない環境において xorg.conf の Mouse セクションに記述する事でも,当然同様の効果が得られます.


関連記事
-
-
FreeBSD で NFS (5) 【NFSクライアントとマウントオプション】
Seichan です.こんばんわ.公私ともにドタバタしていてまったく進みません... 前回「Fre
-
-
GEOM RAID0 を使ってみる
Seichan です.こんばんわ. 前回「GEOM のモジュールを理解する」でも書きましたが,GE
-
-
GEOM_LABEL をちょっと理解してみる
Seichan です.こんばんわ. 「GEOM 再学習」で宣言したとおり,GEOM の何かについて
-
-
GEOM RAID1 を管理する
Seichan です.こんばんわ. 前回の「GEOM RAID0 と GEOM RAID1 の組み
-
-
FreeBSD をクライアントとして利用する (X.org)
Seichan です.FreeBSD をクライアントとして利用する,其ノ二.今回は X.org (X
-
-
GEOM RAID0 と GEOM RAID1 の組み合わせ
Seichan です.こんばんわ. 前回の「GEOM RAID1 を使ってみる」に続いて今回は R
-
-
papu さんへご報告
なんだか,稚内にいないようなのでこっちに書いておく. papu さんのサイトを,こっちのサーバに移動