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 セクションに記述する事でも,当然同様の効果が得られます.


関連記事
-
-
PHPki で簡単証明書運用 (4) 【作成した証明書を管理する】
Seichanです.こんばんわ. 先日の「PHPki で簡単証明書運用 (3) 【署名されたサーバ
-
-
djbdns から bind へ移行
DMZ 構成にして,ネットワーク構成を色々変更して,何か良くわからないんですが, djbdns でう
-
-
FreeBSD で NFS (2) 【NFSサーバ設定と /etc/exports 詳解】
Seichan です.こんばんわ.あけましておめでとうございます. 前回「FreeBSD で NF
-
-
antibadmail
X'mas って書くのは間違いらしいね.最近しった Seichan です. # 省略形は Xmas
-
-
PHPki で簡単証明書運用 (5) 【管理ユーザのメンテナンスとCRLの取得】
Seichanです.こんばんわ. いつものとおり,だいぶ日が経ってしまいました... 先日の「P
-
-
6.2-PRERELEASE
今日(昨日)会社を休んでだるだるすごしていた Seichan です. でも,会社(部)の飲み会にはし
-
-
FreeNAS 0.683b Japanese
Seichan です.おひさしぶしです. FreeNAS のメッセージを日本語化しておりました. と
-
-
仕事中ですが臨時のカキコです
本日,仕事中にも関わらず,某社勤務の Seichan が Blog に記事を投稿するという暴挙に打っ
-
-
s30 を再度 FreeBSD にしてみた
ちょっと前に,IBM s30 に FreeBSD を入れたんだけど,その時は手持ちの NIC が駄目