MOUSE(4) Linux - příručka programátora MOUSE(4)

mouse - rozhraní pro sériovou myš

Sériové myši jsou připojeny na sériová rozhraní RS232/V24, viz ttyS(4).

Úvod

Zapojení 9 pinového konektoru sériové myši:

pin jméno použití
2 RX Data
3 TX -12 V, Imax = 10 mA
4 DTR +12 V, Imax = 10 mA
7 RTS +12 V, Imax = 10 mA
5 GND Zem

To je specifikace, ve skutečnosti vystačí většina myší s 9 V.

Ovladač myši rozpozná typ myši tak, že na RTS nasadí logickou nulu a vzápětí jedničku. Po asi 14 ms pošle myš na datový pin 0x4D ('M'). Po dalších 63 ms pošle Microsoft kompatibilní třítlačítková myš 0x33 ('3').

Relativní pohyb myši je posílán jako dx (kladné znamená pohyb vpravo) a dy (kladné znamená dolů). Různé myši mohou fungovat na různých rychlostech. Chcete-li vybrat rychlost (jednu z 9600, 4800, 2400 nebo 1200 bitů/s, zapište vždy dva znaky z následující tabulky a počkejte 0.1 sekundy. Následující tabulka udává dostupné rychlosti a řetězce, které je vyberou:

bitů/s řetězec
9600 *q
4800 *p
2400 *o
1200 *n

První bajt z datového paketu může být určen k synchronizačním účelům.

Microsoft protokol používá 1 start bit, 7 datových bitů, žádný paritní a jeden stop bit na rychlosti 1200 bitů/sec. Data jsou posílána na RxD v 3-bajtových paketech. dx a dy jsou posílány jako dvojkové doplňky, lb (rb) jsou poslány, je-li stisknuto levé (pravé) tlačítko:

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

Původní myš Microsoft měla pouze dvě tlačítka. Nyní jsou již i třítlačítkové myši, které komunikují tímto protokolem. Stisk prostředního tlačítka je poslán jako paket, kde se myš nepohla a ani jedno tlačítko nebylo stisknuto. (Takže, narozdíl od levého a pravého tlačítka, stav prostředního tlačítka není vysílán v každém paketu.)

Sériové 3-tlačítkové myši Logitech používají jiné rozšíření protokolu Microsoft: Pokud není prostřední tlačítko stisknuto, posílá se výše popsaný 3-bajtový paket. Pokud stisknuto je, posílá se 4-bajtový paket, jehož čtvrtý bajt má hodnotu 0x20 (nebo má alespoň nastavený bit 0x20). Konkrétně, stisk prostředního tlačítka (pokud nejsou stisknuta ostatní tlačítka) se posílá jako 0,0,0,0x20.

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:

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 a 5 popisují změny, které nastaly od vyslání bajtů 2 a 3.

Protokol Sun je 3-bajtová verze 5-bajtového protokolu Mousesystems: poslední dva bajty se neposílají.

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:

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

/dev/mouse
často používaný symbolický odkaz na skutečné zařízení myši.

ttyS(4), gpm(8)

Tato stránka je součástí projektu Linux man-pages v5.13. Popis projektu a informace o hlášení chyb najdete na https://www.kernel.org/doc/man-pages/.

Překlad této příručky do španělštiny vytvořili Jiří Pavlovský <pavlovsk@ff.cuni.cz> a Pavel Heimlich <tropikhajma@gmail.com>

Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.

Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu translation-team-cs@lists.sourceforge.net.

13. srpna 2020 Linux