Jak zainstalować trójprzyciskową mysz szeregową (mini-JTZ)

Autor: Geoff Short, geoff@kipper.york.ac.uk
v1.33, 31 maja 1998
Wersja polska: Krzysztof P. Jasiutowicz kpjas@priv.onet.pl
v1.1 beta, 14 sierpnia 1999 roku


Co zrobić aby 3 przyciskowa mysz szeregowa działała pod Linuksem. Dokument ten został napisany w standardzie ISO-8859-2. Oryginał tego dokumentu znajduje się pod adresem : ftp.icm.edu.pl.

1. Disclaimer

Ten dokument jest oddany do użytkowania w dobrej wierze, jako zawierający w sobie tylko bezpieczne programowanie i operacje. Autor nie bierze odpowiedzialności za żadne szkody i uszkodzenia powstałe w jakikolwiek sposób u jakichkolwiek osób i sprzętu, jako bezpośrednie lub niebezpośrednie następstwo wypełniania podanych zaleceń.

2. Wprowadzenie

Najnowsza wersja tego dokumentu (w oryginale ) jest zawsze dostępna : http://kipper.york.ac.uk/mouse.html

Istnieje japońska wersja tego dokumentu : http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/3-Button-Mouse.euc i francuska pod adresem http://www.freenix.fr/linux/HOWTO/mini/3-Button-Mouse.html. Inne tłumaczenia mogą być dostępne - sprawdź lokalne mirrory LDP.

Od tłumacza: moja wiedza dotycząca myszy jest ograniczona. Jeśli zauważyłeś jakieś błędy lub niedociągnięcia poinformuj mnie o tym. Pod adresem kpjas@priv.onet.pl.

Większość aplikacji X Window jest pisana z założeniem, że użytkownik będzie używał trzyprzyciskowej myszy. Myszy szeregowe są zazwyczaj stosowane w zestawach komputerowych i są tanie. Wiele z tych myszy ma trzy klawisze i opisane są, iż używają protokołu Microsoft, co teoretycznie znaczy, że idealnie nadają się do systemu X Window. ( Obecnie rekord najniższej ceny za działającą trzyprzyciskową mysz szeregową wynosi $1.14!)

Większość myszy o podwójnym protokole będzie działać w dwóch trybach:

Ten dokument poprowadzi cię krok po kroku przez konfigurację myszy w tych dwóch różnych trybach, w szczególności przez to co konieczne do używania bardziej przydatnej myszy trzyprzyciskowej.

Ponieważ dystrybucje stają się coraz łatwiejsze do zainstalowania, część problemów powinna zniknąć. Na przykład, RedHat ma program mouseconfig który ustawia pewne rzeczy za użytkownika. Jednak, niektóre wersje RH5.0 miały błąd w mouseconfig, więc upewnij się że posiadasz łatki.

3. Porty szeregowe

Pierwszą rzecz, którą trzeba sprawdzić to czy oprogramowanie może odnaleźć myszkę. Dowiedz się, do którego portu szeregowego twoja mysz jest podłączona - zazwyczaj będzie to /dev/ttyS0 ( COM1 w DOS-ie ) lub dev/ttyS1 (COM2). ( ttyS0 jest zwykle 9-pinowym gniazdem, ttyS1 25-pinowym, ale oczywiście nie ma w tej sprawie sztywno ustalonych reguł). Istnieje też odpowiadająca liczba urządzeń /dev/cua, które są prawie identyczne z /dev/ttyS ale odradza się ich używania. Dla wygody należy wykonać nowe powiązanie /dev/mouse z tym portem. Na przykład dla ttyS0:

ln -s /dev/ttyS0 /dev/mouse

4. Myszy z przełącznikiem

Niektóre myszy, zazwyczaj nie te najtańsze, mają przełącznik na spodzie oznaczony `2/3'. Czasem może to być `PC/MS'. W tym wypadku oznaczenie `2' dotyczy trybu dwuprzyciskowego Microsoft-u, a `3' trzyprzyciskowego trybu MouseSystems. Przełącznik `PC/MS' jest nieco bardziej skomplikowany. Prawdopodobnie stwierdzisz, że ustawienie `MS' oznacza tryb Microsoft, a `PC' oznacza tryb MouseSystems. Możliwe, że ustawienie `PC' będzie opisane jako ps/2, ale powinno ono działać także jako tryb MouseSystems. Jeśli posiadasz taką mysz, możesz przełączyć ją w ustawienie `3' lub `PC', wstawić ustawienie dla MouseSystems w Xconfigs (patrz poniżej) i mysz powinna doskonale działać w trybie trzyprzyciskowym.

5. Zwykłe myszy

Jeżeli nie masz żadnych przełączników i nie masz instrukcji, to trzeba trochę eksperymentować. Po pierwsze spróbuj założyć, że producent myszy mówi prawdę, i mysz obsługuje w pełni tryb Microsoft. Ustaw w Xconfig tak żeby spodziewał się myszy Microsoft (zobacz w rozdziale Przykłady plików XF86Config i Xconfig) i wypróbuj to.

Jeśli mysz w ogóle nie działa, wtedy nie jest to mysz Microsoft, lub jest jakiś inny problem. Wypróbuj inne ustawienia w konfiguracji, najlepiej zacząć od dokumentacji systemowej dla pliku konfiguracyjnego. Także zajrzyj do Różne problemy w rozdziale poniżej.

Zauważysz prawdopodobnie, że kiedy uruchomisz X-y, mysz działa doskonale, ale tylko zewnętrzne przyciski coś robią. Możesz to oczywiście zaakceptować i emulować trzeci przycisk ( naciśnij oba przyciski jednocześnie, aby kliknąć środkowy ), tak jak to się robi z myszą dwuprzciskową. Aby to zrobić, zmień swój plik Xconfig jak to pokazano w rozdziale Przykłady plików XF86Config i Xconfig poniżej. Może to oznaczać, że niepotrzebnie kupiłeś mysz trzyprzyciskową i nie posuwasz się do przodu. A więc, teraz musisz przyjrzeć się swojemu sprzętowi.

6. Przełączanie myszy w tryb trójprzyciskowy

Nawet tanie myszy mogą pracować w protokole MouseSystems, z wszystkimi trzema przyciskami działającymi. Sztuczka polega na tym, aby mysz myślała, że jest myszą Mouse System, coś co rzadko znajduje się w instrukcjach.

Kiedy mysz otrzymuje zasilanie i jeżeli lewy przycisk jest wciśnięty, mysz przełącza się w tryb MouseSystems. To proste, ale nie zawsze opisywane zjawisko. Zwróć uwagę, że soft reboot komputera może nie odciąć zasilania myszy i dlatego może nie działać. Jest kilka sposobów przełączania trybu, które mogą działać lub nie z twoim rodzajem myszy. Niektóre z nich są mniej drastyczne niż rebootowanie komputera, a dwa są bardziej !

To już wszystko, wybór należy do was. Pozostańcie przy dwóch klawiszach trybu Microsoft, albo znajdźcie sposób, aby przełączyć tryb i ustawić tak X-y, aby z tego korzystały.

7. Myszy z kółkiem

Myszy z kółkiem pojawiły się w ciągu ostatnich lat, zaczęło się od Microsoft Intellimouse i rozniosło się na innych producentów. Kółko można klikać jak przycisk lub kręcić w górę i w dół. Bez wątpienia najlepszym źródłem informacji jest http://www.inria.fr/koala/colas/mouse-wheel-scroll/ gdzie opisane jest jak sprawić żeby wiele aplikacji X Window wykorzystywało funkcję skrolowania.

W zasadzie, potrzebny jest w miarę nowy X serwer żeby używać funkcji skrolowania, lecz niektóre starsze serwery rozpoznają funkcję klikania. Na przykład, Intellimouse jest wspierana przez XFree 3.3.1 i późniejsze.

8. Używanie gpm do przełączania trybów myszy

gpm jest programem, który pozwala używać myszy w konsoli. Jest on zazwyczaj dołączany do dystrybucji linuksowych i można go uruchomić z linii poleceń lub w skrypcie startowym /etc/rc.d/rc.local. Należy zwrócić uwagę, że dystrybucje nie zawsze posiadają najnowszą wersję ( obecnie 1.13 ), która jest dostępna na mirrorach sunsite.unc.edu.

Podstawowe tryby dla myszy szeregowych z gpm to:

gpm -t ms
gpm -t msc
gpm -t help

dla trybu Microsoft lub MouseSystems, lub aby przetestować mysz i wyświetlić wyniki. Aby uruchomić mysz w trybie MouseSystems, może być potrzebna flaga -3 oraz być może opcja DTR przez użycie flagi -o dtr :

gpm -3 -o dtr -t msc
gpm często potrafi rozpoznać trzy przyciski myszy nawet w trybie Microsoft. A nowsze wersje ( wersja 1.0 i późniejsze (?)) potrafią udostępnić tą informację innym programom. Działa to po uruchomieniu gpm z flagą -R w ten sposób :
gpm -R -t ms
To spowoduje reeksport danych myszy do nowego urządzenia, nazywanego /dev/gpmdata, jest odczytywane jako mouse przez inne programy. Zwróć uwagę, że to urządzenie zawsze korzysta z protokołu Mouse Systems. Można, tak zapisać Xconfig, aby używała tego zamiast /dev/mouse tak jak to pokazano poniżej, ale oczywiście miej na uwadze, aby gpm zawsze działało, kiedy używasz X-ów. Niektórzy pisali do mnie, że niektóre eventy X-ów nie są poprawnie interpretowane przez X-y przy użyciu tego sposobu, co może być związane z indywidualnym ustawieniem myszy.

Zmiana mapowania przycisku dla gpm i X ( gustafso@math.utah.edu)

Można stwierdzić, że gpm używa różne defaultowe mapowanie przycisków dla X, więc używanie obu systemów na tej samej maszynie może być frustrujące. Aby X-y używały tych samych przycisków jak gpm dla operacji wyboru i wklejania zastosuj polecenie X-ów :

xmodmap -e "pointer = 1 3 2"
co powoduje, że lewy przycisk wybiera, a prawy przycisk wkleja, zarówno w myszach dwu- i trzyprzyciskowych. Aby wymusić na gpm użycie standardowego mapowania przycisków, uruchom go z poleceniem -B, np.:
gpm -t msc -B 132

9. Używanie dwóch myszy

W niektórych przypadkach, na przykład w laptopie z wbudowanym urządzeniem wskazującym, ktoś może chcieć używać jako drugiego urządzenia myszy szeregowej. W większości przypadków, wbudowane urządzenie używa protokołu PS/2 i można go pominąć jeśli nie chce się go używać. Po prostu skonfiguruj gpm lub X-y do używania /dev/ttyS0 ( lub innego) w sposób typowy.

Aby używać obu jednocześnie, można użyć gpm -M do reeksportu urządzeń. Więcej szczegółów w podręczniku systemowym w rozdziale dotyczącym gpm. Poza tym, XFree 3.3.1 i późniejsze wspierają wiele input devices, z użyciem mechanizmu XInput. Automatycznie wygenerowane pliki XF86Config powinny mieć potrzebne komentarze.

10. Przykłady plików XF86Config i Xconfig

Lokalizacja pliku konfiguracyjnego dla X-ów zależy od konkretnej wersji i rodzaju dystrybucji. Prawdopodobnie będzie to albo /etc/Xconfig, /etc/XF86Config albo /usr/X11/lib/X11/XF86Config. Powinieneś zobaczyć, który to jest kiedy uruchomisz X - będzie wypisany na ekranie zanim wszystkie opcje będą wyświetlone. Składnia nieco się różni pomiędzy poszczególnymi plikami XF86Config i Xconfig, więc oba będą tu podane.

Mysz szeregowa Microsoft

Mysz szeregowa Microsoft z emulacją myszy trójprzyciskowej

Trójprzyciskowa mysz MouseSystems

Microsoft Serial Mouse z gpm -R

11. Kable, przedłużki i przelotki

Jedyne przewody potrzebne w kablu myszy to: TxD i RxD do przesyłu danych, RTS i/lub DTR dla zasilania i ground. Co przekłada się na numery pinów, w ten sposób:

         port 9-pinowy      port 25-pinowy 
        TxD     3                2
        RxD     2                3
        RTS     7                4
        DTR     4               20
        Gnd     5                7
Powyższa tabela może być użyteczna jeśli chcesz robić przelotki między 9- i 25-pinowymi wtyczkami, lub kable przedłużające.

12. Różne kłopoty i ustawienia

13. Przetestowane modele

Jest wiele różnych myszy na świecie i nie mogę z czystym sercem powiedzieć, że powinieneś iść i kupić raczej tą mysz, a nie tamtą. To co mogę zrobić to wyliczyć co te myszy potrafią, opierając się na doświadczeniu i pogłoskach. Nawet z tymi informacjami ostrożność jest wskazana - mieliśmy w biurze dwie identyczne myszy przy dwóch komputerach i niektóre rzeczy działały z jedną myszą i nie działały z drugą. Wszelkie dodatki do tego wyliczenia będą mile widziane.

Optyczna mysz MouseSystems, wersja szeregowa
Działa dobrze (jak można by się spodziewać po nazwie!) bez ClearDTR lub ClearRTS w konfiguracji.
WiN mouse, sprzedawana przez Office World za osiem funtów.
Standardowa dwutrybowa mysz Microsoft/MouseSystems.
Agiler Mouse 2900
Standardowa dwutrybowa mysz Microsoft/MouseSystems. SYSGRATION SYS2005i układ scalony nadaje się do lutowania.
Sicos mouse,
Działa ok, wymaga ClearDTR & Clear RTS w konfiguracji.
Index sprzedają mysz za 10 funtów,
Nie działa w trybie 3 przyciskowym, ale ma fajną instrukcję :-)
Artec mouse
Zwyczajna mysz o podwójnym protokole, wymaga `ClearDTR' ustawionego w konfiguracji, NIE `ClearRTS'
DynaPoint 3 przyciskowa mysz szeregowa.
Zwyczajna mysz o podwójnym protokole, wymaga `ClearDTR' i `ClearRTS' w konfiguracji X-ów.
Genius Easymouse mysz 3-przyciskowa
Doskonale działa w protokole Mouseman bez ustawiania parametru ChordMiddle. Od Roderick Johnstone ( rmj@ast.cam.ac.uk)
Truemouse, made in Taiwan
Działa OK, wymaga `ClearDTR' w konfiguracji. (Od Tim MacEachern)
Mysz marki Champ
Wymaga przełączenia w tryb PC, co uaktywnia także protokół MouseSystems. (Od tnugent@gucis.cit.gu.edu.au)
Mysz MicroSpeed
Zwykła mysz o podwójnym protokole.
Mysz marki Venus ($7)
Ma w środku przełącznik między trybem 2 i 3 przyciskowym. (Od mhoward@mth.com )
Saturn
Mysz z przełącznikiem, działa OK jako mysz MouseSystems w pozycji 3-przyciskowej. (Od grant@oj.rsmas.miami.edu .)
Manhattan mouse.
Jest przełącznik trybów `MS AM' / `PC AT', tryb MS działa doskonale z rozwiązaniem z gpm -R. (Od komanec@umel.fee.vutbr.cz).
Mysz Inland.
Przełącznik dla trybów `PC/MS', działa doskonale. (Od http://ptsg.eecs.berkeley.edu/~venkates).
qMouse (3-przyciskowa), FCC ID E6qmouse X31.
Sprzedawana w USA za około $10. działa z `gpm -t msc -r 20'. Nie ma jumperów lub przełączników do 3-przyciskowego trybu MouseSystems. Nie jest godna polecenia w X. Nie reaguje na echo "*n" > /dev/mouse.
Mitsumi Mouse (2-przyciskowa), FCC ID EW4ECM-S3101.
Sprzedawana w USA za około $12. Godna polecenia w X i w gpm, łagodny klik. (Te dwa od gustafso@math.utah.edu)
Myszy PC Accessories które kupiłem w CompUSA poniżej $10.
Ma przełącznik PC/MS na spodzie. Działa OK. (Od steveb@communique.net)
First Mouse - naprawdę tanio za 7.79 funtów w Tempo.
Dwutrybowa mysz Microsoft/MouseSystems, tryb ustawiany przez wciśnięcie przycisku przy włączeniu zasilania. Nie ma przełączników, ani połączeń. Cztero kablowe połączenie, echo '*n' nie działa. `gpm -R' działa wspaniale. (Od peterk@henhouse.demon.co.uk)
Mysz 3-przyciskowa Trust.
O dwóch trybach z przełącznikiem, działa dobrze jako MouseSystems w trybie `PC'. gpm gryzie się z trybem Microsoft.
Chic 410
działa doskonale w ustawionym trybie ms i przy użyciu polecenia gpm -R Od Stephena M. Weissa ( steve@esc.ie.lehigh.edu)
Trzyprzyciskowa mysz KeyMouse.
działa prawidłowo z ClearDTR i ClearRTS w Xconfig; w gpm konieczne `-o dtr' . (Od EZ4PHIL@aol.com)
Klawiatura Qtronix `Scorpio 60'
Wszystkie trzy przyciski działają w protokole MouseSystems. (Od hwe@uebemc.siemens.de)
Laptop Tecra 720
Glidepoint jest na /dev/cua0; rysik na /dev/psaux. (Od apollo@anl.gov)
Mysz Anubis
Działa doskonale, wymaga przytrzymywania lewego przycisku przy przełączaniu do wirtualnej konsoli X. (Od Joel Crisp)
Yakumo No.1900 mouse
Działa z eksportem do X-ów gpm -R -t ms. (Od Oliver Schwank)
Genius `Easy Trak' Trackball
Nie jest zgodna z trybem Microsoft, użyj Mouseman w konfiguracji X-ów i będzie działać doskonale. (Od VTanger@aol.com.)
Highscreen Mouse Pro
`Działa doskonale' twierdzi alfonso@univaq.it.
Logitech CA series
Działa w X-ach używając protokołu MMseries, przy 2400 Baud, 150 SampleRate. (Powinno też odnosić się do myszy Logitech CC, CE, C7 & C9). (Od vkochend@nyx.net.)
Mysz A4-Tech
Działa OK, wymaga wpisu DTR pod X-ami i gpm. (Od deane@gooroos.com)
Mysz Vertech
Prawidłowe zachowanie Microsoft/Mousesystems, można zalutować do ustawienia na stałe. (Od duncan@fs3.ph.man.ac.uk.)
Boeder M-7 ``Bit Star'' (i inne z serii M oprócz M13)
Przełącza się w tryb Mousesystems trzymając lewy przycisk przy włączaniu zasilania. (Od mailto:sjt@tappin.force9.co.uk.)
Mouse Systems ``Scroll'' Mouse (cztery przyciski i roller/przycisk)
Ma przełącznik 2/3 - w trybie 3 działa jako trzyprzyciskowa mysz MouseSystems, bez działającego dodatkowego przycisku & kółka. Nie wymaga ClearRTS/DTR. (Od parker1@airmail.net.)
Mysz Szeregowa 3-przyciskowa Radio Shack
Model 26-8432, dostępny w Tandy za około 20 funtów. Działa jako Mousesystems z ClearDTR. (Od Sherilyn@sidaway.demon.co.uk.)
Myszy szeregowe Dexxa
Działają doskonale w trybie Microsoft w Xconfig, nie jest potrzebne ChordMiddle lub nic podobnego. (Od mailto: slevy@ncsa.uiuc.edu.)
Myszy 3-przyciskowe Belkin
Kupowane w Sears (\$10), wymagają -o rts z gpm (i prawdopodobnie ClearRTS w X) gdy jest w trybie PC. (Od mailto: mmicek@csz.com.)

14. Dalsze informacje

15. Ogon myszy

Większość informacji w tym dokumencie została zaczerpnięta z różnych linuksowych grup dyskusyjnych. Przepraszam, że nie umieściłem informacji o wszystkich, którzy pośrednio przyczynili się w ten sposób, dziękuję bardzo wam wszystkim.

Podsumowując :