*

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

SPONSORED LINK
  ☆ ブログランキング参加しました (*≧∀≦)ノシ
にほんブログ村 IT技術ブログ FreeBSDへ 

関連記事

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

記事を読む

no image

RAID

RAID Level が悩ましい Seichan です.風呂上り.さっぱり.乾燥して体かゆっ ATA

記事を読む

no image

qmail

qmail も ports から入れてみた. いつも当てているパッチが Makefile 自動化と言

記事を読む

GEOM RAID0 と GEOM RAID1 の組み合わせ

Seichan です.こんばんわ. 前回の「GEOM RAID1 を使ってみる」に続いて今回は R

記事を読む

no image

s30 復活

Seichan です.まいど. HDD が壊れかけてた為,引っ張り出してきたものの,また休眠中ステー

記事を読む

no image

papu さんへご報告

なんだか,稚内にいないようなのでこっちに書いておく. papu さんのサイトを,こっちのサーバに移動

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Google Adsense

PHPki で簡単証明書運用 (5) 【管理ユーザのメンテナンスとCRLの取得】

Seichanです.こんばんわ. いつものとおり,だいぶ日が経ってし

PHPki で簡単証明書運用 (4) 【作成した証明書を管理する】

Seichanです.こんばんわ. 先日の「PHPki で簡単証明書運

PHPki で簡単証明書運用 (3) 【署名されたサーバ証明書を作る】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単

PHPki で簡単証明書運用 (2) 【初期設定と Root CA 証明書作成】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単

PHPki で簡単証明書運用 (1) 【PHPki の修正と導入 (修正版)】

Seichan です.こんばんわ. 先日「PHPki で簡単証明書運

→もっと見る

PAGE TOP ↑