table of contents
MOUSE(4) | Linux - příručka programátora | MOUSE(4) |
JMÉNO¶
mouse - rozhraní pro sériovou myš
KONFIGURACE¶
Sériové myši jsou připojeny na sériová rozhraní RS232/V24, viz ttyS(4).
POPIS¶
Ú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¶
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 |
3-tlačítkový Microsoft protokol¶
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.)
Logitech protokol¶
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.
Mousesystems protokol¶
Protokol Mousesystems používá 1 start bit, 8 datových bitů, žádný paritní a dva stop bity na rychlosti 1200 bitů/sec. Data jsou posílána na RxD v 5-bajtových paketech. dx je posíláno jako součet dvou dvojkových doplňků, dy je posíláno jako invertovaný součet dvou dvojkových doplňků. lb (mb, rb) jsou vymazány, je-li stisknuto levé (prostřední, pravé) tlačítko:
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.
Sun protokol¶
Protokol Sun je 3-bajtová verze 5-bajtového protokolu Mousesystems: poslední dva bajty se neposílají.
MM protokol¶
Protokol MM používá 1 start bit, 8 datových bitů, lichou paritu 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 samostatné hodnoty se znaménkem. Nastavení bitu pro znaménko znamená zápornou hodnotu. lb (mb, rb) jsou nastaveny, je-li stisknuto levé (prostřední, pravé) tlačítko:
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 |
SOUBORY¶
- /dev/mouse
- často používaný symbolický odkaz na skutečné zařízení myši.
DALŠÍ INFORMACE¶
TIRÁŽ¶
Tato stránka je součástí projektu Linux man-pages. Popis projektu a informace o hlášení chyb najdete na http://www.kernel.org/doc/man-pages/.
2009-09-03 | Linux |