*

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へ 

関連記事

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

Seichan です.こんばんわ. 先日「PHPki で簡単証明書運用 (1)」を書いたのですが、

記事を読む

ucspi-tcp (SSL Patch) と ucspi-ssl (TLS Patch)

Seichan です.qmail 関連の SSL/TLS 化を考えてます.特に SMTP(submi

記事を読む

no image

FreeNAS と m0n0wall

そういや,FreeSBIE で色々遊んでるわけなのだが, FreeNAS が気になる. 今の Fil

記事を読む

no image

Multiple vulnerabilities in OpenSSH

今度は OpenSSH に関する SA が出てますなぁ… make world 終わったばっかりなの

記事を読む

GEOM 再学習

Seichan です.こんばんわ. 最近,GEOM (modular disk I/O reque

記事を読む

no image

TeX環境

最近,TeX を覚えようと思って,s30 に TeX 環境を入れてみた. TeX だの teTeX

記事を読む

no image

PostgreSQL サーバをかえた

PostgreSQL を 8.0 系から,8.1 系に変更. そのついでに,物理的なサーバをかえた.

記事を読む

pukiwiki を PHP 5.4 に対応させる方法 (2)

Seichan です.こんばんわ. pukiwiki を PHP 5.4 に対応させる方法 (1)

記事を読む

no image

オートローダ GET だぜっ!!

IBM の DDS4 オートローダを GET しました.Seichan です. Yahoo!! オ

記事を読む

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

Seichanです.こんばんわ. 先日の「PHPki で簡単証明書運用 (3) 【署名されたサーバ

記事を読む

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 ↑