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.
O STRONIE¶
Angielska wersja tej strony pochodzi z wydania 4.05 projektu Linux
man-pages. Opis projektu, informacje dotyczące zgłaszania
błędów oraz najnowszą wersję
oryginału można znaleźć pod adresem
https://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>,
Andrzej M. Krzysztofowicz (PTM) <ankry@green.mf.pg.gda.pl> i
Michał Kułach <michal.kulach@gmail.com>.
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ą
4.05 oryginału.