mouse -
シリアルマウスインターフェース
シリアルマウスは RS232/V24
ダイアルアウトラインに接続される。
RS232/V24
ダイアルアウトライン
については
ttyS(4)
を参照のこと。
シリアルマウスで使われる普通の
9
ピンプラグのピン配列は以下である:
pin |
name |
used for |
2 |
RX |
Data |
3 |
TX |
-12 V, Imax = 10 mA |
4 |
DTR |
+12 V, Imax = 10 mA |
7 |
RTS |
+12 V, Imax = 10 mA |
5 |
GND |
Ground |
これは仕様書であり、実際はほとんどのマウスでは
9 V で十分である。
マウスドライバは RTS
をロー(low)に落し、再び上げることによって、マウスを認識でき
る。およそ 14 ms
後、マウスはデータライン上に
0x4D ('M')
を送るだろう。さら
に 63ms
あと、マイクロソフト互換
3ボタンマウスは 0x33 ('3')
を送る。
マウスの相対的な移動は、
dx(正が右)と
dy(正が下)として伝えられる。
各種のマウスは異なったスピードで操作できる。スピードを選択するには、
下の表の2文字を送ってから
0.1 秒待つことで、9600, 4800, 2400,
1200 bit/s を順に選べる。
以下の表では選択可能なスピードとそれを選択するための文字列を示している。
bit/s |
string |
9600 |
*q |
4800 |
*p |
2400 |
*o |
1200 |
*n |
データパケットの第 1
バイトは同期をとるのに利用できる。
マイクロソフトプロトコルは、1200
bits/sec のスピードで、1 ス
タートビット(1 start bit)、7
データビット(7 data
bits)、パリティな し、1
ストップビット(1 stop
bit)である。 データは RxD
に 3
バイトのパケットとして送られる。
dx と
dy の動きは 2
の補数表示で送られ、左(右)のボタンが押された時には
lb (
rb)がセットされる。
byte |
d6 |
d5 |
d4 |
d3 |
d2 |
d1 |
d0 |
1 |
1 |
lb |
rb |
dy7 |
dy6 |
dx7 |
dx6 |
2 |
0 |
dx5 |
dx4 |
dx3 |
dx2 |
dx1 |
dx0 |
3 |
0 |
dy5 |
dy4 |
dy3 |
dy2 |
dy1 |
dy0 |
本来のマイクロソフトマウスは
2
つのボタンしか持たない。しかし、3
つボタン
のマウスでマイクロソフトプロトコルの物も存在する。真中のボタンを押す、
または放すということは、動きゼロでボタンが押されていないというパケット
を送ることで伝えられる。(従って他の二つのボタンと違い、真中のボタ
ンのステータスは、それぞれのパケットからは伝わって来ない。)
ロジテック シリアル
3つボタンマウスは、マイクロソフト
プロトコルとは
異なった拡張をしている。:真中のボタンが押されてないと、上記
3バイトの
パケットが送られる。真中のボタンが押されていると、4バイトのパケットが
送られる。第4バイトは
0x20
の値を持っている(あるいは、少なくとも
0x20
ビットがセットされている)。
但し、他のボタンが押されていない状態で、
真中のボタンが押されると、0,0,0,0x20
と伝えられる。
マウスシステムズプロトコルは、1200
bits/secで、1
スタートビット、 8
データビット、パリティなし、2
ストップビットである。
データは、RxD に 5
バイトのパケットとして送られる。
dx は 2 つの 2
の補数の和として送られ、
dy は 2 つの 2
の補数の和の否定
として送られる。左(中、右)のボタンが押された時には
lb (
mb,
rb)
がクリアされる。
byte |
d7 |
d6 |
d5 |
d4 |
d3 |
d2 |
d1 |
d0 |
1 |
1 |
0 |
0 |
0 |
0 |
lb |
mb |
rb |
2 |
0 |
dxa6 |
dxa5 |
dxa4 |
dxa3 |
dxa2 |
dxa1 |
dxa0 |
3 |
0 |
dya6 |
dya5 |
dya4 |
dya3 |
dya2 |
dya1 |
dya0 |
4 |
0 |
dxb6 |
dxb5 |
dxb4 |
dxb3 |
dxb2 |
dxb1 |
dxb0 |
5 |
0 |
dyb6 |
dyb5 |
dyb4 |
dyb3 |
dyb2 |
dyb1 |
dyb0 |
第 4,5 バイトには、第 2,3
バイトが送られたあと生じた変更が記述される。
サン
プロトコルは、上記の
5 バイト
マウスシステムプロトコルの
3 バイト版です。後の 2
バイトは送られません。
MM プロトコルは 1200 bits/sec
で 1 スタートビット、8
データビッ
ト、奇数パリティ、 1
ストップビットを使う。データは
RxD に 3 バイトのパ
ケットとして送られる。
dx と
dy
は一つの符号つきの値として
送られ、サインビットは負の値を表す。左(中、右)のボタンが押された時には
lb (
mb,
rb)がセットされる。
byte |
d7 |
d6 |
d5 |
d4 |
d3 |
d2 |
d1 |
d0 |
1 |
1 |
0 |
0 |
dxs |
dys |
lb |
mb |
rb |
2 |
0 |
dx6 |
dx5 |
dx4 |
dx3 |
dx2 |
dx1 |
dx0 |
3 |
0 |
dy6 |
dy5 |
dy4 |
dy3 |
dy2 |
dy1 |
dy0 |
- /dev/mouse
- 一般的にマウスデバイスをさすのに使われるシンボリックリンク
ttyS(4),
gpm(8)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。