mouse - interfejs myszy szeregowej
Myszy szeregowe podłączane są do linii szeregowej RS232/V24, której opis można znaleźć w ttyS(4).
Wstęp
Połączenia zwykłej wtyczki 9-pinowej stosowanej w myszach to:
Taka jest specyfikacja, ale w praktyce dla większości myszy wystarcza 9 V.
The mouse driver can recognize a mouse by dropping RTS to low and raising it again. About 14 ms later the mouse will send 0x4D ('M') on the data line. After a further 63 ms, a Microsoft-compatible 3-button mouse will send 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:
The first byte of a data packet can be used for synchronization purposes.
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:
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
The Mousesystems protocol uses 1 start bit, 8 data bits, no parity, and two stop bits at the speed of 1200 bits/sec. Data is sent to RxD in 5-byte packets. dx is sent as the sum of the two two’s-complement values, dy is send as negated sum of the two two’s-complement values. lb (mb, rb) are cleared when the left (middle, right) button is pressed:
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
The MM protocol uses 1 start bit, 8 data bits, odd parity, and one stop bit at the speed of 1200 bits/sec. Data is sent to RxD in 3-byte packets. dx and dy are sent as single signed values, the sign bit indicating a negative value. lb (mb, rb) are set when the left (middle, right) button is pressed:
/dev/mouse
A commonly used symbolic link pointing to a mouse device.
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Paweł Olszewski <alder AT amg DOT net DOT pl>, Andrzej Krzysztofowicz <ankry AT green DOT mf DOT pg DOT gda DOT pl> i Michał Kułach <michal DOT kulach AT gmail DOT com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list.