table of contents
MOUSE(4) | Podręcznik programisty Linuksa | MOUSE(4) |
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¶
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.
10-02-1996 | Linux |