Wacom Tablet HOWTO

Autor: Stefan Runkel runkel@runkeledv.de
v1.0.4, listopad 1999
Wersja polska: Marek Guevara Braun marek@atm.com.pl
v1.0, 2 kwietnia 2000


Instalacja graficznych tabletów (nie tylko) Wacoma pod Linuksem i/lub XFree86.

1. Prawa autorskie

Prawa autorskie należą do Stefana Runkela (c) 1999 Runkel@runkeledv.de

Dokument ten opisuje proces instalacji tabletów Wacoma pod systemem Linux.
Nieskrępowane używanie, rozpowszechnianie oraz reprodukowanie tego dokumentu jest możliwe pod następującymi warunkami:

2. Wprowadzenie

Tablety graficzne są obecnie niezbyt drogie i mogą być bardzo pomocne przy obróbce obrazów. Obok tego czego możemy dokonać przy użyciu myszy tablety cechuje dodatkowa funkcjonalność:

Dokument ten opisuje głównie produkty firmy Wacom. Powodem tego jest fakt posiadania przeze mnie trzech różnych urządzeń tego producenta oraz to, że są one bardzo popularne w Europie.

Niemniej jednak, sądzę że zaadaptowanie nakreślonej koncepcji do innych produktów nie powinno być rzeczą trudną.

Powodem napisania tego dokumentu było to, iż nigdzie w Sieci nie mogłem znaleźć niczego podobnego. Zamiast tego miałem bardzo dużo dokumentów opisujących temat tylko częściowo. Po ich przeczytaniu, wciąż pozostawały (i nadal pozostają) otwarte pytania, na które nie znałem odpowiedzi. Zmusiło mnie to do zadawania pytań wielu różnym ludziom.

Po tym wszystkim co zostało zrobione, nadal jestem przekonany, że dokument ten był tego wart.

2.1 Nowe wersje dokumentu

Oryginał tego dokumentu znajduje się pod adresem: http://www.runkeledv.de/linux.htm

2.2 Uwagi i Poprawki

Mile widziane są wszelkie komentarze, poprawki oraz uzupełnienia. Skontaktować się można ze mną pod adresem:

Runkel@runkeledv.de

2.3 Podziękowania

Chciałbym podziękować wszystkim autorom wymienionym w sekcji Dalsze informacje/wykorzystane dokumenty oraz wszystkim osobom, które odpowiedziały na moje pytania pocztą elektroniczną. Ten dokument jest odzwierciedleniem ich pracy.

3. Wymagania

Ten rozdział mówi co jest potrzebne aby tablet zaczął działać

3.1 Jaki sprzęt jest obsługiwany

Na początek powinieneś zdobyć tablet. Ponieważ obsługa USB pod Linuksem jest wciąż w fazie rozwoju, a ADB najprawdopodobniej długo już nie pociągnie, powinien to być model wyposażony w port szeregowy (RS232)

Obsługiwane są następujące tablety Wacoma:

Pomimo, iż starsze tablety Wacoma z serii SD oraz HD nie są standardowo obsługiwane przez sterowniki XFree86, istnieje zmodyfikowany sterownik obsługujący zarówno te, jak i inne urządzenia (np. produkty OEM ze zintegrowanymi wyświetlaczami, takie jak IBM Thinkpad 360 PE oraz Toshiba T200). Wspomniany sterownik znajduje się pod adresem: http://hwr.nici.kun.nl/pen-computing/pen-computing-formats.html

3.2 Jakiego oprogramowania potrzebujemy

3.3 Jakie oprogramowanie jest obsługiwane

Wiele programów bazuje na bibliotece gtk. Gtk posiada obsługę specyfikacji XInput dzięki czemu łatwo jest z niej skorzystać.


Wsparcie dla XInput zawieraja poniższe aplikacje:

4. Tablety jako zamiennik myszy dla konsoli Linuksa

4.1 Tablety i gpm

Demon gpm obsługuje całkiem sporą liczbę urządzeń wejściowych, w tym tablety. Jeżeli chciałbyś otrzymać listę obsługiwanych przez Twoją wersję gpm urządzeń wykonaj następujące polecenie:

gpm -t help

Pomimo tego, że nie znalazłem nic na ten temat w dokumentacji, wydaje mi się że zawarty w gpm-ie sterownik do Wacoma został napisany dla bardzo starych modeli UltraPad. Testowałem go z modelami PenPartner, Graphire oraz Intuos ale nie działał. Dopisałem obsługę Graphire dla gpm, aby jej użyć potrzebna jest przynajmniej wersja 1.18.1 programu gpm.

Jeżeli posiadasz starego ArtPada, spróbuj wykonać: killall gpm ; gpm -t wacom -m /dev/ttyS0 powinno zadziałać.
Jeśli używasz modelu Graphire, polecenie powinno wyglądać następująco: killall gpm ; gpm -t graphire -m /dev/ttyS0

Oczywiście, uzyskasz dostęp wyłącznie do funkcji ruchu i klawiszy, nacisk i pochylenie nie będą obsługiwane, gdyż tak naprawdę nie są to zbyt przydatne funkcje w aplikacjach tekstowych.

Jeżeli równocześnie korzystasz z gpm i XFree86 to możesz, choć nie musisz, popaść w kłopoty w związku z tym, że w tym samym czasie urządzenie zwykle może być używane tylko przez jeden program. Istnieją dwa rozwiązania tego problemu:

5. Tablety w XFree

5.1 Wymagana wersja XFree

Minimalną wersją XFree powinna być 3.3.3.1. Jest to związane z rozszerzoną obsługą XInput, działaniem drugiego przełącznika oraz zlikwidowaniem efektu blokowania myszy.

Jeżeli musisz korzystać z wersji wcześniejszej, obsługa XInput powinna być dostępna od 3.1.2.d.

Obsługa XInput w XFree jest zwykle konfigurowana w pliku XF86Config. W większości wypadków plik XF86Config umieszczony jest w katalogu /etc lub /etc/x11. Pokażę teraz bardzo krótką sekcję konfiguracyną i wyjaśnię co może być zmienione i dlaczego jest to potrzebne.

5.2 Przykładowy wycinek XF86Config (prosty)

Section "Module"
# sterownik urządzenia Wacom
Load "xf86Wacom.so"
EndSection

Section "Xinput"
# ustawienia dla rysika Wacoma 
  SubSection "WacomStylus"    # typ urządzenia wejściowego
    DeviceName "Pen1"         # nazwa, wybierz dowolną
    Port "/dev/ttyS0"         # port szeregowy
    Baudrate 9600             # użyteczne tylko dla Intuosa
    Mode Absolute             # mapuj obszar tableta na ekran
    AlwaysCore                # patrz opis
    HistorySize 200           # rozmiar bufora dla ruchu
  EndSubSection
EndSection

5.3 Sekcja modułu

Obsługa XInput w XFree jest osiągana przez użycie modułów. Moduł sterownika urządzenia dla Wacoma nosi nazwę xf86Wacom.so. Jego wywołanie umieszczamy w sekcji "Module" pliku XF86Config tylko jeden raz.

5.4 Rodzaje urządzeń

Urządzeniem fizycznym może być:

PenPartner oraz Graphire rozpoznaja typ urządzenia ale nie potrafią ich rozróżnić. Dla przykładu, nie możesz użyć dwóch różnych rysików, skonfigurowanych powiedzmy, jeden na czerwono, drugi na niebiesko - wszystko co te urządzenia rozpoznają to: "Znalazłem czubek rysika na mojej powierzchni", lub "Znalazłem gumkę na mojej powierzchni", lub "znalazłem myszkę na mojej powierzchni".

XInput przypisuje urządzeniom ich rodzaj, które z kolei zostaną później opisane w pliku XF86Config w podsekcjach sekcji Xinput:

5.5 Nazwa urządzenia

Każdemu skonfigurowanemu urządzeniu musisz nadać unikalną nazwę. Nazwa ta będzie później używana w Twoim programie do komunikacji z tym urządzeniem. Wybór nazwy zależy od ciebie.

5.6 Port

XInput chce wiedzieć do którego portu szeregowego podłączone jest nasze urządzenie. Pozwala mi to na używanie dwóch różnych tabletów w tym samym czasie, na przykład Graphire podłączonego do /dev/ttyS0 i PenPartnera podłączonego do /dev/ttyS01.

5.7 Poziom DebugLevel

Dzięki ustawieniu poziomu DebugLevel możemy kontrolować poziom "gadatliwości" sterownika Wacoma do logów. Poziomy mogą przybierać wartości od 0 do 10. Jeżeli pominiemy to ustawienie przyjęta zostanie wartość domyślna DebugLevel równa 0, co odpowiada bardzo skąpemu logowaniu.

Przykład:

SubSection "WacomStylus" # rysik
  DeviceName "PenRed"    # nazwa, wybież dowolną
  ...
  DebugLevel 10          # generuj bardzo dużo komunikatów
  ...
EndSubSection

5.8 Numer seryjny (tylko dla tabletów Intuos)

Tablety Intuos są bardziej wydajne niż PenPartner i Graphire ponieważ potrafią rozróżnić wiele urządzeń tego samego rodzaju. Znaczy to tyle, że możemy już używać dwa rysiki, jeden skonfigurowany jako czerwony, drugi skonfigurowany jako niebieski. Jak widać rozróżnianie wyłącznie rodzajów urządzeń nie daje wystarczającej informacji do obsługi różnych rysików. Dlatego, każde urządzenie Intuosa, niech będzie to rysik, piórko, mysz lub cokolwiek, posiada numer seryjny, który możesz wyspecyfikować by umożliwić rozpoznanie konkretnego urządzenia przez XInput. Wygląda to następująco:

Section "Xinput"
  SubSection "WacomStylus" # rysik
    DeviceName "PenRed"    # nazwa, wybierz dowolną
    ...
    Serial 2609917443      # numer seryjny tego urządzenia
    ...
  EndSubSection
  SubSection "WacomStylus" # inny rysik
    DeviceName "PenBlue"   # nazwa, wybierz dowolną
    ...
    Serial 2609918664      # numer seryjny tego urządzenia
    ...
  EndSubSection
EndSection

Chciałbym zaznaczyć że złożone urządzenia wejściowe posiadają tylko jeden mumer seryjny. Sterownik używa otrzymany numer seryjny do rozpoznania specyficznego rysika, natomiast czubek rysika od gumki jest rozpoznawany na podstawie rodzaju urządzenia.

Jak uzykać numer seryjny danego urządzenia

  1. Ustaw DebugLevel na 6
  2. Uruchom serwer X wypisując polecenie X 2>t
  3. Dotknij powierzchni tableta po kolei wszystkimi urządzeniami, zapamiętując kolejnosć.
  4. Usuń proces serwera X (zwykle Ctrl+Alt+Backspace)
  5. Uruchom grep serial_num t

Powinieneś otrzymać listę z różniącymi się numerami.

Numer seryjny - przykład tego co zostało zalogowane

BEGIN xf86WcmProc dev=0x8354d60 priv=0x833e3f0 type=stylus flags=9 what=1
xf86WcmProc pWcm=0x8354d60 what=ON
END xf86WcmProc Success what=1 dev=0x8354d60 priv=0x833e3f0
device_id=0x96 serial_num=2595227137 type=cursor
[cursor] abs prox=false x=0 y=0 z=0 button=false buttons=0

5.9 Tryby pracy bezwzględny (absolute) i względny (relative)

Jeżeli ustawisz tablet do pracy w trybie bezwzględnym, cała powierzchnia urządzenia będzie odpowiadała ekranowi komputera. Za każdym razem gdy opuścisz rysik na ten sam punkt tableta wskaźnik pojawi się w odpowiadającym mu tym samym punkcie ekranu.

Jeżeli ustawisz urządzenie do pracy w trybie względnym, uzyskasz dobrze Ci znane zachowanie myszy. Jeśli podniesiesz myszkę z powierzchni, przesuniesz ją i ponownie opuścisz, wskaźnik (idealnie) nie poruszy się.

Przykład:
Mode Absolute

5.10 Tryby pracy urządzeń Extension, Core oraz AlwaysCore

XFree zna dwa rodzaje wskaźników: pierwszy, posiadający tylko podstawową funkcjonalność (klawisze, możliwość ruchu), wykorzystywany jest do wybierania pozycji menu, zaznaczania tekstu, naciskania guzików i tym podobnych rzeczy. Jest to urządzenie podstawowe Core.

Drugi rodzaj wskaźnika wykorzystują aplikacje potrzebujące dodatkowych informacji, takich jak poziom nacisku czy nachylenia.
Urządzenie to nazywamy rozszerzonym - Extension.

Począwszy od wersji 3.3.3.1, ustawienie AlwaysCore mówi sterownikowi by powinien osługiwać obydwa rodzaje zdarzeń.

Jeżeli w pliku XF86Config nie zostanie wyspecyfikowane ustawienie AlwaysCore, wskaźnik zostanie zainicjowany w trybie rozszerzonym - będzie można z niego skorzystać wewnątrz aplikacji, ale już nie do kontroli pozycji menu systemu zarządzania oknem.

Jeżeli pozycja AlwaysCore została wpisana, urządzenie (obok myszy) będzie działać jako wskaźnik podstawowy wysyłając dodatkowo informacje na temat nachylenia i nacisku do wszystkich programów, które uzyskały dostęp do wskaźnika w trybie rozszerzonym.

Dzięki użyciu dwóch różnych urządzeń logicznych możemy tak skonfigurować jedno fizycznie urządzenie, by pracowało zarówno w trybie podstawowym jak i rozszerzonym.
Aby tego dokonać musimy stworzyć dwie identyczne sekcje różniące się jedynie ustawieniem nazwy urządzenia DeviceName. Następnie musimy dodać wpis AlwaysCore od ostatniej z tych sekcji.

Przykład:
AlwaysCore

5.11 Parametr HistorySize

Ustawienie HistorySize określa rozmiar bufora używanego do przechowywania informacji o zdarzeniach ruchu.

5.12 Parametr Suppress

Ustawienie to określa liczbę jednostek, o które urządzenie musi być przesunięte zanim sterownik poruszy wskaźnikiem. Jest ono zwykle niezbędne przy użyciu wysokich rozdzielczości.

Przykład:
Suppress 6

5.13 Parametr TiltMode (tylko Intuos)

TiltMode umożliwia wysyłanie informacji na temat pochylenia dla urządzeń wejściowych tableta Intuos. Jeżeli pominiemy ten parametr, przesyłana zostanie jedynie informacja o nacisku.

5.14 Ustawienia TopX, TopY, BottomX, BottomY

Te cztery parametry pozwalają na zredukowanie aktywnego obszaru tableta. Dla przykładu, mój Intuos A4 oversize jest tak wielki, że nie da się na nim normalnie malować, gdyż ruchy rysika muszą być zbyt duże. Używam tych parametrów aby tak poinstruować sterownik by przypisał do ekranu tylko lewą dolną ćwiartkę tableta.

Przykład:

TopX        0 # współrzędne lewego górnego punktu
TopY     5000
BottomX  5000 # współrzędne prawego dolnego punktu
BottomY 10000

Określanie maksymalnych wartości X, Y, aktualnej konfiguracji oraz rozdzielczości

Jeśli używasz powyższych ustawień, najprawdopodobniej będziesz chciał obliczyć rozmiar oraz położenie definiowanego prostokąta. Zwykle potrzebne są do tego maksymalne współrzędne oraz rozdzielczość. Aby poznać te wartości uruchom swój serwer: X 2>t. Następnie usuń proces serwera X (zwykle Ctrl+Alt+Backspace) i wykonaj grep "X=" t. W odpowiedzi powinieneś otrzymać wartości które Cię interesowały.

Określanie rozdzielczości - przykład tego co zostało zalogowane

(--) Wacom IV tablet maximum X=5103 maximum Y=3711 X 
     resolution=1000 Y resolution=1000 suppress=6
(--) Wacom tablet top X=0 top Y=0 bottom X=5103 bottom Y=3711
(--) Wacom tablet top X=0 top Y=0 bottom X=5103 bottom Y=3711
(--) Wacom tablet top X=0 top Y=0 bottom X=5103 bottom Y=3711

5.15 Ustawienie KeepShape

Opcja ta korzysta ze zmiennych TopX i TopY (lub wbudowanych wartości domyślnych, jeśli je pomineliśmy) do ustawienia parametrów BottomX i BottomY tak aby

Jakiekolwiek wcześniejsze ustawienia BottomX i BottomY są ignorowane, gdyż wartości tych zmiennych zostaną obliczone.

6. Zmiany konfiguracji pod działającymi X-ami

6.1 Konfigurowanie Gimpa w celu wykorzystania urządzeń XInput

Począwszy od wersji 1.1.x Gimp posiada wbudowaną obsługę XInput.

Aplikacja musi jednak wiedzieć, którego urządzenia powinna użyć i w jakim trybie. Aby to ustawić powinieneś otworzyć okno dialogowe Plik/Okna dalogowe/Urządzenia wejściowe (w wersji angielskiej File/Dialogs/Input Devices). U góry okna znajdziesz dwie rozwijane listy z etykietami Urządzenie (Device) oraz Tryb (Mode). Z pierwszej wybierz urządzenie z drugiej tryb obsługi.

Tryby te to:

Jeżeli widzimy, że znaszym urządzeniem związane są dwa kursory, mamy dwa rozwiązania:

Poniżej obydwu rozwijanych list znajdują się pola kontrolne z zakładkami Osie (Axes) oraz Klawisze (Keys). Osie przypisują osiom funkcje. W większości przypadków nie potrzeba zmieniać tych ustawień, ale możesz zastanowić się nad ekranem dotykowym, który został zamontowany w pozycji obróconej o 90 stopni. W tym przypadku moglibyśmy chcieć zamienić ze sobą osie x i y.

Niektóre tablety posiadają umieszczone u góry specjalne klawisze makropoleceń (makro), kórym mogą być przypisane często używane funkcje. Zakładka Klawisze pozwala na przypisanie do klawisza makro pwnego znaku. Na przykład do klawisza makro można przypisać kombinację Ctrl+Shift+R. Jeżeli zostanie on naciśnięty, wywołana zostanie funkcja włączenia/wyłączenia linijki.
Obecne sterowniki do tabletów Wacoma obsługują klawisze makro jedynie w UltraPadach, pola klawiszy w tabletach Intuos nie są wykorzystane w ten sposob.

Powinniśmy teraz omówić jak możemy korzystać z naszych urządzeń. Otwórz okno dialogowe Plik/Okna dialogowe/Stan urządzenia (File/Dialogs/Device Status). Otwórz dowolny plik z rysunkiem.

Każde urządzenie wejściowe w gimpie jest konfigurowane osobno.

Jeżeli będziesz poruszał kursorem w oknie rysunku przy użyciu różnych urządzeń zauważysz zmianę urządzeń w oknie dialogowym Stan urządzenia. Jeśli wybierzesz dowolne narzędzie, pędzel, wzór lub kolor zmiana także zostanie uwzględniona. Aby wybrane ustawienia zostały odtworzone przy następnej sesji gimpa można je tam zapisać.

6.2 Urządzenie przełącznika (SWITCH)

Jest to, cały czas aktywne, urządzenie specjalne. Generuje ono zdarzenia za każdym razem gdy nowe urządzenie przejmuje wskaźnik w trybie podstawowym. Posiada ono pseudo "oś". "Wartość" na tej osi jest identyfikatorem urządzenia będącego wskaźnikiem podstawowym. Nie mam pojęcia co użytkownik mógłby zrobić z urządzeniem przełącznika - głównie jest ono przydatne dla programistów.

6.3 Przyciski

Przyciski, w które są wyposażone urządzenia wejściowe mogą być tak zróżnocowane jak same urządzenia:
Rysik posiada przynajmniej czubek, ale może też mieć jeden lub dwa przyciski na boku oraz gumke na drugim końcu. Myszy mogą mieć do 32 klawiszy (choć zwykle mają ich 3). Przyciski ponumerowane są od 1 do liczby klawiszy. Opisane poniżej dwa programy pozwalają na modyfikacje liczby wykorzystywanych klawiszy.

6.4 Przyporządkowywanie przycisków przy użyciu xmodmap dla urządzeń pracujących w trybie podstawowym

xmodmap będzie modyfikował jedynie wskaźnik podstawowy (Core Pointer). Jako że w danym momencie istnieje tylko jeden wskaźnik podstawowy, nie mają znaczenia różnice pomiędzy fizycznymi urządzeniami, które mogą stać się takim wskaźnikiem. Na jakiś czas zapomnijmy o całym tym XInput i pomyślmy o osobie leworęcznej, która chciałaby zamienić znaczenie prawego i lewego przycisku myszy. Aby poznać stan aktualny można wykonać polecenie xmodmap -pp. W odpowiedzi powinniśmy otrzymać następującą tabelę:

Physical        Button
Button          Code
1              1      # ( lewy     przycisk )
2              2      # ( prawy    przycisk )
3              3      # ( środkowy przycisk )

Aby zamienić klawisze należy wykonać polecenie xmodmap -e "pointer = 2 1 3", oraz xmodmap -e "pointer = default" aby przywrócić poprzednie przypisanie. Powinno to działać dla dowolnych urządzeń posiadających przynajmniej dwa przyciski. Należy zaznaczyć, że wyrażenie "pointer = x x x" musi być zawarte w cudzysłowach by zapobiec jego modyfikacji ze strony powłoki.

6.5 Przyporządkowywanie przycisków przy użyciu xinput dla urządzeń pracujących w trybie rozszerzonym

Wróćmy ponownie do XInput. Jeśli używasz gimpa, możesz chcieć zmienić przyporządkowanie klawiszy dla każdego urządzenia osobno (możesz być zadowolony z myszy, ale chciałbyś zamienić znaczenia dwóch bocznych przycisków rysika). Frederic Lepied napisał w tym celu program o nazwie xinput.

Aby zamienić boczne przyciski powinieneś wykonać polecenie xinput list w celu uzyskania listy urządzeń wraz z ich aktualnymi ustawieniami. Zamiana realizowana jest przez wykonanie xinput set-button-map Pen1 1 3 2 gdzie Pen1 jest urządzeniem, które chcemy zmienić.

Począwszy od XFree 3.3.2 rozwiązanie to działa dla urządzeń skonfigurowanych (w pliku XF86Config) jako AlwaysCore.

6.6 xsetmode - zmiany trybu pracy na względny oraz bezwzględny

Przy pomocy xsetmode możliwe jest przełączanie urządzenia pomiędzy trybem bezwzględnym (absolute) a względnym (relative) trybem pracy.

Przykład:
xsetmode GraphireMouse ABSOLUTE

6.7 xsetpointer - ustawianie domyślnego urządzenia podstawowego

Jeżeli żadne z naszych urządzeń nie zostało skonfigurowane jako AlwaysCore a chcielibyśmy by jedno z nich zostało wskaźnikiem podstawowym musimy użyć programu xsetpointer.

Wykonaj polecenie xsetpointer NazwaUrządzenia. Stare urządzenie podstawowe (zwykle jest to mysz) nie będzie już dłużej wykorzystywane, jego miejsce zajmie urządzenie wyspecyfikowane w naszym poleceniu. Dla przykładu możliwe jest przypisanie funkcji wskaźnika podstawowego myszy Graphire w uruchomionych wczesniej XFree.

xsetpointer -l wypisuje listę wszystkich urządzeń oraz ich trybów pracy.

6.8 Klawisze

Niektóre urządzena posiadają klawisze makro lub specjalne pola, którym można przypisać pojedyncze znaki sterujace lub też ich ciągi. Działa to wyłącznie dla urządzeń pracujących w trybie rozszerzonym, a co za tym idzie, realizowane jest przez te aplikacje, które chcielibyśmy by wykorzystywały klawisze.

xinput -l daje nam informacje na temat liczby klawiszy czy też wysyłanych znaków sterujących.

6.9 Narzędzia do korzystania z więcej niż jednego tableta oraz do włączania i wyłączania obsługi

Posiadam 3 tablety Wacoma, które używam wraz z moim notebookiem. Za każdym razem gdy uruchamiam X-y, a żaden z tabletów nie jest podłączony do komputera, musi upłynąć sporo czasu nim sterowniki się poddadzą. Jeżeli uruchamiany jest xdm okres oczekiwania znacznie się wydłuża.

Stworzyłem dwa narzędzia, które powinny ułatwić życie wszystkim którzy są w takiej samej sytuacji:

Koncepcją, która leży u podstaw działania obu programów, jest podział pliku XF86Config na plik XF86Config.bare, zawierający informacje wspólne dla wszystkich konfiguracji, oraz szereg małych plików zawierających specyficzne informacje na temat poszczególnych konfiguracji.

Obydwa narzędzia łączą te części w działającą całość.

Pakiet ten jest dostępny na stronie http://www.runkeledv.de/download, pod nazwą xinput_chooser_sr.

7. Dalsze informacje/wykorzystane dokumenty

gpm:
strona podręcznika (man) gpm, FAQ gpm, kod źródłowy pliku mice.c

XInput:
dokument XInput HOWTO autorstwa Owena Taylora

XFree oraz Wacom:
podręcznik XF86Config

strona Web Frederica Lepieda

dużo, dużo listów...

8. Od tłumacza

Dokument ten został napisany w standardzie ISO-8859-2.

Tłumaczenie to jest chronione prawami autorskimi (c) Marka Guevara Braun. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.

Jeżeli znalazłeś(łaś) jakieś błędy ortograficzne, gramatyczne, składniowe lub techniczne to napisz do mnie na adres marek@atm.com.pl

Oficjalną stroną tłumaczeń HOWTO jest http://www.jtz.org.pl/

Aktualne wersje przetłumaczonych dokumentów znajdują się na tejże stronie. Dostępne są także poprzez anonimowe ftp pod adresem ftp://www.jtz.org.pl/pub/Linux/JTZ/

Zmiany wprowadzone przez tłumacza w stosunku do oryginału to odnośniki do polskich serwerów ftp i WWW oraz zmiana pisowni nazw produktów Wacoma (Intuos zamiast intuos, Graphire zamiast graphire, itp.)