スポンサーリンク

MOUSED(8) FreeBSD システム管理者マニュアル MOUSED(8)

名称

moused − マウスデータをコンソールドライバに渡す

書式

moused [−DPRacdfs] [−I file] [−F rate] [−r resolution] [−S baudrate] [−V [−U distance]] [−a X[,Y]] [−C threshold] [−m N=M] [−w N] [−z target] [−t mousetype] [−l level] [−3 [−E timeout]] −p port

moused [−Pd] −p port −i info

解説

moused ユーティリティとコンソールドライバは協力し、テキストコンソールや ユーザプログラムにおけるマウス操作をサポートします。マウスの仮想化とユー ザプログラムへのマウスデータの提供は標準フォーマットにて行われます (sysmouse(4) を御覧ください)。

マウスデーモンはマウスデータの読みとりのために指定されたポートを監視し、 解釈したデータを ioctl を介してコンソールドライバに渡します。マウスデーモ ンは、移動、ボタンの押し/離しイベント、存在するならばローラやホイールの移 動も報告します。ローラ/ホイールの移動は ‘‘Z’’ 軸での移動として報告されま す。

マウスポインタが vidcontrol(1) によって有効にされていれば、コンソールドラ イバはマウスポインタをスクリーンに表示し、カットとペーストの機能を提供し ます。 sysmouse(4) をユーザプログラムがオープンすると、コンソールドライバ はマウスデータをこのデバイスに送るので、ユーザプログラムはこのデータを使 用できます。

マウスデーモンがシグナル SIGHUP を受けとると、マウスポートを再オープン し、自己を再初期化します。システムがサスペンドされている間にマウスの挿抜 を行なった場合に有用です。

以下のオプションがあります:

       −3

2 ボタンマウスで 3 番目(中)のボタンをエミュレートします。物理的な ボタンで左と右のものを同時に押すとエミュレートされます。

−C threshold
ダブルクリック速度をボタンクリック間最大インターバルとしてミリ秒 で指定します。このオプションを指定しないと、デフォルト値は 500 ミ リ秒が仮定されます。このオプションは、テキストモードコンソールの カットとペーストの操作においてのみ有効です。 sysmouse(4) を介して マウスデータを得るユーザプログラムは影響を受けません。

−D
シリアルポートの DTR を下げます。このオプションが有効なのは、 mousesystems がマウスプロトコルとして選択されている場合のみです。 mousesystems モードで 3 ボタンマウスを操作するためには、 DTR ライ ンを落とすことが必要かもしれません。

−E timeout
第 3 ボタンエミュレーション (前述) が有効なとき、2 つのボタンが同 時に押されたかを判定する前に moused ユーティリティは最長 timeout ミリ秒待ちます。デフォルトのタイムアウトは 100 ミリ秒です。

−F rate
サポートされていれば、デバイスのレポート頻度(秒あたりの回数)を設 定します。

−I file
moused
ユーティリティのプロセス ID を、指定されたファイルに書きま す。このオプションを指定しないと、プロセス ID は /var/run/moused.pid に格納されます。

−P
シリアルマウス識別時に、プラグアンドプレイ COM デバイス列挙処理を 開始しません。 −i オプションと共にこのオプションが指定された場 合、 moused ユーティリティはシリアルマウスに関する有用な情報を表 示できません。

−R
シリアルポートの RTS を下げます。このオプションが有効なのは mousesystems がプロトコルタイプとして、後述する −t オプションで指 定されている場合のみです。これは前記 −D オプションと共によく使用 されます。 mousesystems モードで 3 ボタンマウスを操作するために は、 RTS と DTR のラインを共に下げる必要があるかもしれません。

−S baudrate
シリアルポートの速度を指定します (1200 から 9600)。全シリアルマウ スがこのオプションをサポートするわけではありません。

−V
‘‘仮想スクロール’’ を有効にします。このオプションが設定されている 場合、中マウスボタンを押していると、動きがスクロールと解釈される ようになります。スクロールモードを有効にするためにマウスが動かな ければならない距離を設定するには −U オプションを使って下さい。

−a X[,Y]
マウスの入力を加速または減速します。線型加速のみです。 1.0 より小 さい値は、しばらく減速します。 1.0 より大きい値は、加速します。 1 個の値だけを指定した場合、両方の座標軸での加速を設定します。

−c
マウスによっては、中ボタンを押したイベントを、左右ボタンが押され たかのようにレポートするものがあります。このオプションはこれを扱 うものです。

−d
デバッグ用のメッセージを有効にします。

−f
デーモンにならずに、フォアグラウンドプロセスとして実行します。テ ストやデバッグに有用です。

−i info
指定された情報を表示し終了します。指定可能な情報を以下に示します:

port
ポート(デバイスファイル)名、例えば /dev/cuaa0, /dev/mse0, /dev/psm0 です。
if

インタフェースタイプ: serial, bus, inport, ps/2 です。
type

プロトコルタイプ。 −t オプションの説明の後でリストされ ているものか、ドライバが sysmouse データフォーマット標 準をサポートする場合には sysmouse です。
model

マウスモデル。 moused ユーティリティは常にモデルを識別 できるわけではありません。
all

上記全部。ポート、インタフェース、タイプ、モデルをこの 順に一行に表示します。

moused ユーティリティは要求された情報を判別できない場合、 ‘‘unknown’’ か ‘‘generic’’ を表示します。

−l level
moused
がどのレベルでマウスドライバを動作させるか指定します。より 詳しいことは psm(4) の 動作レベルを参照して下さい。

−m N=M
物理ボタン M に論理ボタン N を割当てます。このオプションは任意個 数指定可能です。複数の物理ボタンを単一の論理ボタンに割り当て可能 です。この場合、指定された物理ボタンのいずれかが押されている場 合、論理ボタンが押されていることになります。 `=’ の周りにスペース を入れてはなりません。

−p port
マウスと通信するためのポートとして port を使います。

−r resolution
デバイスの解像度を設定します; インチあたりのドット数または、 low, medium-low, medium-high, high のいずれかです。全デバイスにてこの オプションがサポートされているわけではありません。

−s
シリアルラインのために 9600 ボーを選びます。全シリアルマウスがこ のオプションをサポートしているわけではありません。

−t type
ポートに接続されているマウスのプロトコルタイプを指定します。以下 に列挙されるタイプを陽に指定するか、 auto を指定して moused ユー ティリティに適切なプロトコルを自動選択させることができます。コマ ンドラインにてこのオプションを指定しないと、 −t auto が仮定されま す。通常では、 moused ユーティリティがプロトコルの自動検出ができ ない場合に必要です (マウスデーモンの構成) を参照。

このオプションでプロトコルタイプを指定した場合、前記 −P オプショ ンが暗示され、プラグアンドプレイ COM デバイス列挙処理が無効になり ます。

また、マウスを PS/2 マウスポートに接続している場合、常に autops/2 を選択すべきです。これは、マウスのブランドやモデルとは関係あ りません。同様に、マウスをバスマウスポートに接続している場合、 autobusmouse を選択してください。これらのマウスではシリアルマ ウスプロトコルは動作しません。

USB マウスでは、プロトコルは auto であることが必要です。他のプロ トコルは USB マウスで動作しません。

このオプションにおける有効なタイプを以下に列挙します。

シリアルマウス:
microsoft

Microsoft シリアルマウスプロトコル。大抵の 2 ボ タンマウスはこのプロトコルを使用します。
intellimouse

Microsoft IntelliMouse プロトコル。 Genius NetMouse, ASCII Mie Mouse, Logitech MouseMan+, FirstMouse+ もこのプロトコルを使用します。他の ローラ/ホイールを持つマウスもこのプロトコル互換 でしょう。
mousesystems

MouseSystems の 5 バイトプロトコル。 3 ボタンマ ウスはこのプロトコルを使用するかもしれません。
mmseries

MM Series マウスプロトコル。
logitech

Logitech マウスプロトコル。これは古い Logitech モデルであることに注意。新しいモデルには mouseman もしくは intellimouse を指定します。
mouseman

Logitech MouseMan と TrackMan のプロトコル。 3 ボタンマウスによってはこのプロトコル互換かもしれ ません。 MouseMan+ と FirstMouse+ は、このプロト コルではなく、 intellimouse プロトコルを使用しま す
glidepoint

ALPS GlidePoint プロトコル。
thinkingmouse

Kensington ThinkingMouse プロトコル。
mmhitab

Hitachi タブレットプロトコル。
x10mouseremote

X10 MouseRemote。
kidspad

Genius の Kidspad と Easypad のプロトコル。
versapad

Interlink VersaPad プロトコル。

バスおよび InPort マウス:
busmouse

バスおよび InPort マウスはこのプロトコルのみ使用 可能であり、バスおよび InPort マウスはブランドに 依らずこのオプションを指定する必要があります。

PS/2 マウス:
ps/2

PS/2 マウスはこのプロトコルのみ使用可能であり、 PS/2 マウスはブランドに依らずこのオプションを指 定する必要があります。

USB マウスでは、 auto が使用可能な唯一のプロトコルであり、ブラン ドにかかわらず USB マウスにはこれを指定すべきです。

−w N
物理ボタン N が、ホイールモードボタンとして動作するようにします。 このボタンが押されている間、X 軸および Y 軸の移動は 0 と報告さ れ、 Y 軸の移動は Z 軸の移動に割り付けられます。後述する −z オプ ションを使用することにより、 Z 軸の移動を更に仮想ボタンに割り付け ることができます。

−z target
Z 軸(ローラ/ホイール)動作を別の軸や仮想ボタンに割り付けます。有効 な target は以下のいずれかです:
x
y

X または Y 軸の移動として、検知した Z 軸移動を報告します。
N

仮想ボタン N および N+1 を押したイベントとして、検知した負/ 正の Z 軸移動をそれぞれ報告します。物理ボタン NN+1 が存 在する必要はありません。論理ボタンへの割り付けは Z 軸移動を 仮想ボタンへ割り付けた後に行われます。
N1 N2

仮想ボタン N1 および N2 を押したイベントとして、検知した負/ 正の Z 軸移動をそれぞれ報告します。
N1 N2 N3 N4

2 個のホイールがあり 2 番目のホイールが水平スクロール動作を 生成するために使用されるマウス、およびユーザが加えた水平の力 を検知するノブまたはスティック付きのマウスで有用です。

2 番目のホイールの動きは、負の向きが N3 にマップされ、正の向 きが N4 にマップされます。ボタン N3 および N4 がマウスに実在 する場合、このアクションは検出されません。

水平移動や 2 番目のローラ/ホイールの動きは常に検出されるわけ ではないことに注意してください。なぜなら、これらをエンコード するための受け入れられた標準が無いように見えるからです。

また、水平方向において、左が負であると考えるマウスもいれば、 逆だと考えるマウスもいることにも注意してください。更に、2 個 のホイールが両方とも垂直に搭載されており、一方の方向がもう一 方の方向とはマッチしないものもあります。

マウスデーモンの構成
まず、使用予定マウスのインタフェースタイプを知ることが必要です。これはマ ウスのコネクタを見れば分かります。シリアルマウスは D-Sub の 9 ピンまたは 25 ピンのメスです。バスおよび InPort のマウスは D-Sub 9 ピンのオスか丸い DIN 9 ピンコネクタです。 PS/2 マウスは小さくて丸い DIN 6 ピンコネクタで す。マウスによってはコネクタを別の形状に変換可能なコネクタが附属していま す。このようなアダプタを使用する場合には、マウスから一番遠いコネクタの形 状を見てください。 USB マウスは、平らな長方形のコネクタを持ちます。

次に決めねばならないことは、インタフェースのために使用するポートです。バ ス、InPort、PS/2 マウスでは、選択肢はありません: バスおよび InPort マウス は常に /dev/mse0 を使用し、 PS/2 マウスは常に /dev/psm0 を使用します。シ リアルマウスの場合、接続可能なポートが複数ありえます。多くの人が組み込み のシリアルポート /dev/cuaa0 をマウスに割当てます。複数の USB マウスをシス テムまたは USB ハブに接続可能です。それらは /dev/ums0, /dev/ums1 のように アクセス可能です。 ~ シンボリックリンク /dev/mouse でマウスの実際のポート を指すようにして、どのマウスポートか後で簡単に分かるようにするのが良いか もしれません。

次に適切なマウスプロトコルを選択します。 moused ユーティリティはマウスタ イプを自動決定可能かもしれません。 moused ユーティリティを −i オプション を付けて実行し、表示を見ます。コマンドがプロトコルタイプを識別した場合、 あなたは何も調べる必要はありません。プロトコルタイプを指定せずにデーモン を起動可能です (使用例) を参照。

コマンドは、マウスドライバが sysmouse プロトコルをサポートする場合、 sysmouse と表示するかもしれません。

−i オプションで表示される type と model は、対象のポインティングデバイス の製品名では必ずしもありませんが、互換性のあるデバイスの名前でしょう。

−i オプションがなにも表示しない場合、 moused ユーティリティに対して −t オ プションを使用し、プロトコルタイプを指定する必要があります。予測して試行 する必要があります。以下に経験則を示します:

1. バスおよび InPort マウスはブランドに依らず busmouse プロトコルを使用 します
2. PS/2 マウスはブランドに依らず ps/2 プロトコルを使用します
3. USB マウスには auto プロトコルを指定する必要があります。
4. ほとんどの 2 ボタンシリアルマウスは microsoft プロトコルをサポートし ます。
5. 3 ボタンシリアルマウスは mousesystems プロトコルで動作するかもしれま せん。動作しない場合には、三番目(中)ボタンが機能せずに microsoft プ ロトコルで動作するでしょう。 3 ボタンシリアルマウスは、期待通り三番 目のボタンが動作しつつ mouseman プロトコルで動作するかもしれません。
6. 3 ボタンマウスには小さなスイッチが付いていて、 ‘‘MS’’ と ‘‘PC’’ また は ‘‘2’’ と ‘‘3’’ とで選択できるようになっているかもしれません。 ‘‘MS’’ と ‘‘2’’ は通常 microsoft プロトコルを意味します。 ‘‘PC’’ と ‘‘3’’ は mousesystems プロトコルを選択します。
7. マウスにローラやホイールが付いている場合、 intellimouse プロトコル互 換でしょう。

マウスのために選択したプロトコルタイプが正しいかどうかテストする目的で、 現在の仮想コンソールでマウスポインタを有効にします。

vidcontrol -m on

マウスデーモンをフォアグラウンドで開始します。

moused -f -p _selected_port_ -t _selected_protocol_

マウスポインタがマウスの移動に伴い、正しく移動することを確認してくださ い。そして、カットとペーストの機能を左、右、中のボタンを使用して確認して ください。 ^C をタイプすると、コマンドは停止します。

複数のマウス
システムに接続したマウスと同じ数だけ、マウスデーモンを同時実行可能です; 一つのマウスデーモンが一つのマウスに対応します。ラップトップコンピュータ 組み込みの PS/2 ポインティングデバイスを移動中使用し、オフィスではドッキ ングステーション接続のシリアルマウスを使用する場合に有用です。マウスデー モンを二つ実行し、アプリケーションプログラム (例えば X Window System) に sysmouse(4) を使用させます。するとアプリケーションプログラムは常に両マウ スからマウスデータを受け取ります。シリアルマウスが取り付けられていない場 合、対応するマウスデーモンは移動やボタン状態の変化を検出しませんので、ア プリケーションプログラムは PS/2 マウスのデーモンからのマウスデータのみを 使います。一方この構成で両方のマウスを接続し同時に両方を動かした場合、マ ウスの移動をすべて組み合わせたようにマウスポインタがスクリーン上を移動し ます。

関連ファイル

       /dev/consolectl

コンソール制御デバイス
/dev/mse%d
バスおよび InPort マウスのドライバ
/dev/psm%d
PS/2 マウスドライバ
/dev/sysmouse
仮想化されたマウスドライバ
/dev/ttyv%d
仮想コンソール
/dev/ums%d
USB マウスドライバ
/var/run/moused.pid
現在実行中の moused ユーティリティのプロセス ID
/var/run/MouseRemote
X10 MouseRemote のイベントのための UNIX ドメインストリー ムソケット

使用例

moused -p /dev/cuaa0 -i type

moused ユーティリティにシリアルポート /dev/cuaa0 に接続されたマウスのプロ トコルタイプを識別させます。成功すると、コマンドはタイプを表示しますが、 失敗すると ‘‘unknown’’ が表示されます。

moused -p /dev/cuaa0

vidcontrol -m on

moused ユーティリティが指定されたポートのマウスプロトコルタイプを識別可能 な場合、 −t オプション無してデーモンを起動可能であり、前記のようにマウス ポインタをテキストコンソール上で有効にできます。

moused -p /dev/mouse -t microsoft

vidcontrol -m on

シリアルポート /dev/mouse に対してマウスデーモンを起動します。プロトコル タイプは microsoft−t オプションにて陽に指定しています。

moused -p /dev/mouse -m 1=3 -m 3=1

物理ボタン 3 (右ボタン) を論理ボタン 1 (論理的に左) に、物理ボタン 1 (左 ボタン) を論理ボタン 3 (論理的に右) に、それぞれ割当てます。左右のボタン を事実上交換します。

moused -p /dev/mouse -t intellimouse -z 4

Z 軸 (例えばマウスホイール) における負の移動をボタン 4 が押されたものと し、 Z 軸 (例えばマウスホイール) における正の移動をボタン 5 が押されたも のとします。

警告

moused ユーティリティは現在別のコンソールドライバ pcvt(4) では動作しませ ん。

パッドデバイスの多くは、ユーザがパッド表面を ‘‘タップ’’ した場合に最初の( 左) ボタンが押されたものとします。また、ALPS GlidePoint および Interlink VersaPad のモデルによっては、タップ動作を 4 番目のボタンのイベントとして 扱います。このようなモデルでは、オプション ‘‘-m 1=4’’ を使用して、他の パッドデバイスと同様の効果を得られます。

仮想コンソールでのカットとペーストの機能は、マウスに 3 ボタンあることを仮 定しています。論理ボタン 1 (論理的に左) は、コンソールのテキスト領域を選 択してカットバッファにコピーします。論理ボタン 3 (論理的に右) は、選択さ れた領域を拡張します。論理ボタン 2 (論理的に中) は、選択されたテキストを テキストカーソル位置にペーストします。マウスに 2 つしかボタンが無い場合、 中央の ‘ペースト’ ボタンは使用できません。ペースト機能を使用するために は、 −3 オプションを使用して中ボタンをエミュレートするか、 −m オプション を ‘‘-m 2=3’’ のように使用して物理右ボタンに論理中ボタンを割当てます。

関連項目

kill(1), vidcontrol(1), keyboard(4), mse(4), pcvt(4), psm(4), screen(4), sysmouse(4), ums(4)

規格

moused ユーティリティは ‘‘Plug and Play External COM Device Specification’’ の一部をサポートし、PnP シリアルマウスをサポートします。 しかしながら、シリアルマウスごとに仕様充足の度合が異なりますので、標準の バージョン 1.0 に完全に従ってはいません。このように厳密さを欠いた方法で も、シリアルマウスの適切なプロトコルタイプを常に決定できるわけではありま せん。

作者

moused ユーティリティは、 Michael Smith ⟨msmith@FreeBSD.org⟩ によって書か れました。このマニュアルページは Mike Pritchard ⟨mpp@FreeBSD.org⟩ によっ て書かれました。コマンドとマニュアルページを、 Kazutaka Yokota ⟨yokota@FreeBSD.org⟩ が更新しました。

歴史

moused ユーティリティは、 FreeBSD 2.2 ではじめて登場しました。

FreeBSD 10.0 April 1, 2000 FreeBSD 10.0

スポンサーリンク