mouse(4) Device Drivers Manual mouse(4)

mouse - interfață de mouse serial

Mouse-urile seriale sunt conectate la o linie de apelare serială RS232/V24, consultați ttyS(4) pentru o descriere.

Schema de conectare a mufei obișnuite cu 9 pini utilizată pentru mouse-urile seriale este:

pin nume utilizat pentru
2 RX Date
3 TX -12 V, Imax = 10 mA
4 DTR +12 V, Imax = 10 mA
7 RTS +12 V, Imax = 10 mA
5 GND Masă

Aceasta este specificația, de fapt 9 V sunt suficienți cu majoritatea mouse-urilor.

Controlorul de mouse poate recunoaște un mouse coborând valoarea RTS la minim și ridicând-o din nou. După aproximativ 14 ms, mouse-ul va trimite 0x4D („M”) pe linia de date După încă 63 ms, un mouse cu 3 butoane compatibil Microsoft va trimite 0x33 („3”).

Mișcarea relativă a mouse-ului este transmisă ca dx (pozitiv înseamnă dreapta) și dy (pozitiv înseamnă jos). Diversele mouse-uri pot funcționa la viteze diferite. Pentru a selecta vitezele, treceți în mod ciclic prin vitezele 9600, 4800, 2400 și 1200 bit/s, scriind de fiecare dată cele două caractere din tabelul de mai jos și așteptând 0,1 secunde. Tabelul următor prezintă vitezele disponibile și șirurile care le selectează:

bit/s șir
9600 *q
4800 *p
2400 *o
1200 *n

Primul octet al unui pachet de date poate fi utilizat în scopuri de sincronizare.

Protocolul Microsoft utilizează 1 bit de start, 7 biți de date, fără paritate și un bit de stop la viteza de 1200 biți/sec. Datele sunt trimise către RxD în pachete de 3 biți. Mișcările dx și dy sunt trimise ca două complementare, lb (rb) sunt activate atunci când este apăsat butonul din stânga (dreapta):

octet 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

Mouse-urile Microsoft originale au doar două butoane. Cu toate acestea, există unele mouse-uri cu trei butoane care utilizează, de asemenea, protocolul Microsoft. Apăsarea sau eliberarea butonului din mijloc este raportată prin trimiterea unui pachet cu mișcare zero și niciun buton apăsat. (Astfel, spre deosebire de celelalte două butoane, starea butonului din mijloc nu este raportată în fiecare pachet).

Mouse-urile Logitech cu 3 butoane seriale utilizează o extensie diferită a protocolului Microsoft: atunci când butonul din mijloc este ridicat, se trimite pachetul de 3 octeți de mai sus. Atunci când butonul din mijloc este apăsat, se trimite un pachet de 4 octeți, în care al 4-lea octet are valoarea 0x20 (sau cel puțin are bitul 0x20 activat). În special, o apăsare a butonului din mijloc este raportată ca 0,0,0,0x20 atunci când niciun alt buton nu este apăsat.

Protocolul Mousesystems utilizează 1 bit de start, 8 biți de date, fără paritate și doi biți de stop la o viteză de 1200 biți/sec. Datele sunt trimise la RxD în pachete de 5 octeți. dx este trimisă ca sumă a celor două valori două-complementare, dy este trimisă ca sumă negată a celor două valori două's-complementare. lb (mb, rb) sunt șterse atunci când este apăsat butonul din stânga (mijloc, dreapta):

octet 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

Octeții 4 și 5 descriu schimbarea care a avut loc de la transmiterea octeților 2 și 3.

Protocolul Sun este versiunea pe 3 octeți a protocolului Mousesystems pe 5 octeți de mai sus: ultimii doi octeți nu sunt trimiși.

Protocolul MM utilizează 1 bit de start, 8 biți de date, paritate impară și un bit de stop la viteza de 1200 biți/sec. Datele sunt trimise la RxD în pachete de 3 octeți. dx și dy sunt trimise ca valori cu un singur semn, bitul de semn indicând o valoare negativă. lb (mb, rb) sunt activate atunci când este apăsat butonul din stânga (mijloc, dreapta):

octet 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

/dev/mouse
O legătură simbolică utilizată în mod obișnuit care indică un dispozitiv mouse.

ttyS(4), gpm(8)

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

2 mai 2024 Pagini de manual de Linux 6.12