NAZWA¶
mouse - interfejs myszy szeregowej
KONFIGURACJA¶
Myszy szeregowe podłączane są do linii szeregowej RS232/V24,
której opis można znaleźć w
ttyS(4).
OPIS¶
Wstęp¶
Połączenia zwykłej wtyczki 9-pinowej stosowanej w myszach to:
pin |
nazwa |
zastosowanie |
2 |
RX |
Dane |
3 |
TX |
-12 V, Imax = 10 mA |
4 |
DTR |
+12 V, Imax = 10 mA |
7 |
RTS |
+12 V, Imax = 10 mA |
5 |
GND |
Masa |
Taka jest specyfikacja, ale w praktyce dla większości myszy wystarcza
9 V.
Sterownik może rozpoznawać mysz poprzez ustawienie niskiego poziomu
linii RTS, a następnie przywrócenie jej poziomu wysokiego. Po
około 14 ms mysz odeśle 0x4D ("M") linią danych. Po
kolejnych 63 ms 3-przyciskowa mysz zgodna z protokołem Microsoft
prześle 0x33 ("3").
Względne przemieszczenie myszy wysyłane jest jako
dx
(wartość dodatnia oznacza w prawo) i
dy (wartość
dodatnia oznacza w dół). Myszy mogą pracować z
różnymi prędkościami. Wybór prędkości
odbywa się poprzez cykliczne przejście przez prędkości
9600, 4800, 2400 i 1200 bitów/s, za każdym razem zapisując dwa
znaki z poniższej tabeli i czekając 0,1 sekundy.
Następująca tabela pokazuje dostępne prędkości i
sekwencje znaków, służące do ich wyboru:
bitów/s |
sekwencja |
9600 |
*q |
4800 |
*p |
2400 |
*o |
1200 |
*n |
Pierwszy bajt pakietu danych może być używany do celów
synchronizacji.
Protokół Microsoft¶
Protokół
Microsoft używa 1 bitu startu, 7 bitów
danych, bez parzystości i z jednym bitem stopu przy prędkości
1200 bitów/sekundę. Dane są przesyłane do RxD w
3-bajtowych pakietach. Przesunięcia
dx i
dy są
przesyłane jako uzupełnienie do dwóch,
lb (
rb)
są ustawiane, gdy wciśnięty jest lewy (prawy) przycisk myszy:
bajt |
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 |
3-przyciskowy protokół Microsoft¶
Oryginalne myszy Microsoft mają jedynie dwa przyciski. Istnieją jednak
myszy trójprzyciskowe, które również korzystają z
protokołu Microsoft. Wciśnięcie trzeciego przycisku
zgłaszane jest przez wysłanie pakietu z zerowym przesunięciem i
bez wciśniętych przycisków. (Zatem, w odróżnieniu od
pozostałych dwu przycisków, stan przycisku środkowego nie jest
zgłaszany w każdym pakiecie).
Protokół Logitech¶
Szeregowa 3-przyciskowa mysz Logitech korzysta z innego rozszerzenia
protokołu Microsoft: gdy środkowy przycisk jest zwalniany,
wysyłany jest 3-bajtowy pakiet opisany powyżej. Gdy środkowy
przycisk jest naciskany, wysyłany jest 4-bajtowy pakiet, w którym
czwarty bajt ma wartość 0x20 (lub ma ustawiony przynajmniej bit
0x20). W szczególności, naciśnięcie środkowego
przycisku jest sygnalizowane jako 0,0,0,0x20, gdy żaden inny przycisk nie
jest wciśnięty.
Protokół Mousesystems¶
Protokół
Mousesystems korzysta z 1 bitu startu, 8 bitów
danych, bez parzystości i dwu bitów stopu przy prędkości
1200 bitów/s. Dane są wysyłane do RxD w 5-bajtowych pakietach.
dx jest przesyłany jako suma dwóch wartości
uzupełnionych do dwóch,
dy jest przesyłane jako
zanegowana suma dwóch wartości uzupełnionych do dwóch.
lb (
mb,
rb) są zerowane, gdy wciśnięty
jest lewy (środkowy, prawy) przycisk myszy:
bajt |
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 |
Bajty 4 i 5 opisują zmianę, która nastąpiła od chwili
wysłania bajtów 2 i 3.
Protokół Sun¶
Protokół
Sun jest 3-bajtową wersją opisanego
powyżej 5-bajtowego protokołu Mousesystemsi: ostatnie dwa bajty nie
są wysyłane.
Protokół MM¶
Protokół
MM używa 1 bitu startu, 8 bitów danych,
nieparzystości i jednego bitu stopu przy prędkości 1200
bitów/s. Dane są wysyłane do RxD w 3-bajtowych pakietach.
dx i
dy są wysyłane jako pojedyncze wartości ze
znakiem, bit znaku oznacza wartość ujemną.
lb
(
mb,
rb) są ustawiane, gdy wciśnięty jest lewy
(środkowy, prawy) przycisk myszy:
bajt |
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 |
PLIKI¶
- /dev/mouse
- Powszechnie używane dowiązanie symboliczne
wskazujące na urządzenie myszy.
ZOBACZ TAKŻE¶
ttyS(4),
gpm(8)
O STRONIE¶
Angielska wersja tej strony pochodzi z wydania 3.40 projektu Linux
man-pages. Opis projektu oraz informacje dotyczące zgłaszania
błędów można znaleźć pod adresem
http://www.kernel.org/doc/man-pages/.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Paweł Olszewski (PTM) <alder@civic.amg.net.pl> i Andrzej
M. Krzysztofowicz (PTM) <ankry@green.mf.pg.gda.pl>.
Polskie tłumaczenie jest częścią projektu manpages-pl;
uwagi, pomoc, zgłaszanie błędów na stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją
3.40 oryginału.