mouse(4) Device Drivers Manual mouse(4) NAZWA mouse - interfejs myszy szeregowej KONFIGURACJA Myszy szeregowe podlaczane sa do linii szeregowej RS232/V24, ktorej opis mozna znalezc w ttyS(4). OPIS Wstep Polaczenia zwyklej 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 wiekszosci myszy wystarcza 9 V. Sterownik moze rozpoznawac mysz poprzez ustawienie niskiego poziomu linii RTS, a nastepnie przywrocenie jej poziomu wysokiego. Po okolo 14 ms mysz odesle 0x4D (,,M") linia danych. Po kolejnych 63 ms 3-przyciskowa mysz zgodna z protokolem Microsoft przesle 0x33 (,,3"). Wzgledne przemieszczenie myszy wysylane jest jako dx (wartosc dodatnia oznacza w prawo) i dy (wartosc dodatnia oznacza w dol). Myszy moga pracowac z roznymi predkosciami. Wybor predkosci odbywa sie poprzez cykliczne przejscie przez predkosci 9600, 4800, 2400 i 1200 bitow/s, za kazdym razem zapisujac dwa znaki z ponizszej tabeli i czekajac 0,1 sekundy. Nastepujaca tabela pokazuje dostepne predkosci i sekwencje znakow, sluzace do ich wyboru: bitow/s sekwencja 9600 *q 4800 *p 2400 *o 1200 *n Pierwszy bajt pakietu danych moze byc uzywany do celow synchronizacji. Protokol Microsoft Protokol Microsoft uzywa 1 bitu startu, 7 bitow danych, bez parzystosci i z jednym bitem stopu przy predkosci 1200 bitow/sekunde. Dane sa przesylane do RxD w 3-bajtowych pakietach. Przesuniecia dx i dy sa przesylane jako uzupelnienie do dwoch, lb (rb) sa ustawiane, gdy wcisniety 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 protokol Microsoft Oryginalne myszy Microsoft maja jedynie dwa przyciski. Istnieja jednak myszy trojprzyciskowe, ktore rowniez korzystaja z protokolu Microsoft. Wcisniecie trzeciego przycisku zglaszane jest przez wyslanie pakietu z zerowym przesunieciem i bez wcisnietych przyciskow (zatem, w odroznieniu od pozostalych dwu przyciskow, stan przycisku srodkowego nie jest zglaszany w kazdym pakiecie). Protokol Logitech Szeregowa 3-przyciskowa mysz Logitech korzysta z innego rozszerzenia protokolu Microsoft: gdy srodkowy przycisk jest zwalniany, wysylany jest 3-bajtowy pakiet opisany powyzej. Gdy srodkowy przycisk jest naciskany, wysylany jest 4-bajtowy pakiet, w ktorym czwarty bajt ma wartosc 0x20 (lub ma ustawiony przynajmniej bit 0x20). W szczegolnosci, nacisniecie srodkowego przycisku jest sygnalizowane jako 0,0,0,0x20, gdy zaden inny przycisk nie jest wcisniety. Protokol Mousesystems Protokol Mousesystems korzysta z 1 bitu startu, 8 bitow danych, bez parzystosci i dwu bitow stopu przy predkosci 1200 bitow/s. Dane sa wysylane do RxD w 5-bajtowych pakietach. dx jest przesylany jako suma dwoch wartosci uzupelnionych do dwoch, dy jest przesylane jako zanegowana suma dwoch wartosci uzupelnionych do dwoch. lb (mb, rb) sa zerowane, gdy wcisniety jest lewy (srodkowy, 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 opisuja zmiane, ktora nastapila od chwili wyslania bajtow 2 i 3. Protokol Sun Protokol Sun jest 3-bajtowa wersja opisanego powyzej 5-bajtowego protokolu Mousesystems: ostatnie dwa bajty nie sa wysylane. Protokol MM Protokol MM uzywa 1 bitu startu, 8 bitow danych, nieparzystosci i jednego bitu stopu przy predkosci 1200 bitow/s. Dane sa wysylane do RxD w 3-bajtowych pakietach. dx i dy sa wysylane jako pojedyncze wartosci ze znakiem, bit znaku oznacza wartosc ujemna. lb (mb, rb) sa ustawiane, gdy wcisniety jest lewy (srodkowy, 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 uzywane dowiazanie symboliczne wskazujace na urzadzenie myszy. ZOBACZ TAKZE ttyS(4), gpm(8) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Pawel Olszewski , Andrzej Krzysztofowicz i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. mouse(4)