*

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へ 

関連記事

仕事中ですが臨時のカキコです

本日,仕事中にも関わらず,某社勤務の Seichan が Blog に記事を投稿するという暴挙に打っ

記事を読む

no image

やっぱ HDD は壊れてた…

もうね.駄目 orz 手持ちの 40GB と交換する事も考えたが… 時間がねー

記事を読む

GEOM のモジュールを理解する

Seichan です.こんばんわ. GEOM の状態がどういう風になっているのかを確認したい.なん

記事を読む

no image

PostgreSQLが…

家のサーバは2台あって,それぞれが Flets ADSL に接続されています.この内1台マシンの R

記事を読む

no image

MovableTypeを入れてみた

FreeBSD なサーバにこの blog ツールである,MovableType を入れてみた. DB

記事を読む

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

Seichan です.こんばんわ. さて,先日の「PHPki で簡単証明書運用 (2) 【初期設定

記事を読む

FreeBSD で NFS (5) 【NFSクライアントとマウントオプション】

Seichan です.こんばんわ.公私ともにドタバタしていてまったく進みません... 前回「Fre

記事を読む

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

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

記事を読む

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

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

記事を読む

no image

fukuoka-u.ac.jp の NTP サーバ

2ch の Linux 板のあるスレッドに,福岡大学の ntp 管理者(?) からの書込みがあった.

記事を読む

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 ↑