USB Tablet

Názvy tabletů na krabici a názvy v identifikaci linuxu se liší. Proto je těžké na začátku určit jestli tablet má nebo nemá v linuxu podporu. Můj Genius F610 je za zlomek ceny za které se prodávají Wacomy, a paradoxně se mi ho podařilo rozjet právě na wacomích driverech. Šťastným vlastníkům tohoto modelu doporučuji k instalaci kapitolu I.

Pro všechny ostatní je postup instalace popsán v kapitole II. Kdo má USB tablet který jeví aspoň nějaké známky života (tzn. jakýkoliv pohyb kurzoru při pohybu pera), má docela slušnou šanci na úspěch.

I. Ukázka nastavení tabletu Genius G-Pen F610

Pokud víte že máte přesně tento typ tabletu (idVendor 0x172f, idProduct 0x0031), zadejte následující kód:

sudo apt-get install wacom-tools
cd /etc/udev/rules.d/
sudo echo 'KERNEL=="event*", SYSFS{idProduct}=="0031",' > 20-F610_tablet.rules
sudo echo 'SYSFS{idVendor}=="172f", SYMLINK+="input/tablet"' >> 20-F610_tablet.rules
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig
gksudo gedit /etc/X11/xorg.conf

Do souboru doplňte na začátek toto:

Section "InputDevice"
        Driver        "wacom"
        Identifier    "stylus"
        Option        "Device"        "/dev/input/tablet"
        Option        "Type"          "stylus"
        Option        "Mode"          "absolute"
        Option        "USB"           "on"
        Option        "TopX"          "0"
        Option        "TopY"          "0"
        Option        "BottomX"       "10000"   # pokud ma monitor sirokouhly format
        #Option       "BottomX"       "8333"    # pokud ma monitor format 1024x768, 800x600 nebo 1600x1200
        #Option       "BottomX"       "7812"    # pokud ma monitor format 1280x1024
        Option        "BottomY"       "6250"
        Option        "MaxX"          "10000"   # pokud ma monitor sirokouhly format
        #Option       "MaxX"          "8333"    # pokud ma monitor format 1024x768, 800x600 nebo 1600x1200
        #Option       "MaxX"          "7812"    # pokud ma monitor format 1280x1024
        Option        "MaxY"          "6250"
EndSection

a do sekce ServerLayout doplňte řádek InputDevice:

Section "ServerLayout"
        ...
        InputDevice "stylus" "SendCoreEvents"
EndSection

Po připojení tabletu a restartu stroje by se v GIMPu měl objevit nástroj Stylus. Konkrétní nastavení GIMPu je podle obrázkového návodu zde: https://help.ubuntu.com/community/TabletSetupGIMP

A to je vše, přátele. Easy, ne?

II. Návod pro ostatní typy USB tabletů

Takže nejdřív instalace balíku s nástrojem wacdump, který nám při troše štěstí ukáže aktuální místo polohy pera.

sudo apt-get install wacom-tools

a teď pokus o získání souřadnic min a max rohů tabletu. Připojíme tablet do USB, a příkazem

sudo wacdump /dev/input/eventX

začneme hledat která událost k němu patří. Za X dosazujeme 0-9 a vždy čmárneme perem na podložku. Jedno z čísel se chytne a bude vypisovat aktuální souřadnice pera. Opíšeme si mezní hodnoty (budou se nám hodit v kroku 6) - Xmin, Ymin při peru nad levým horním rohem podložky, a Xmax, Ymax při peru nad pravým dolním rohem.

Komu se kurzor při pohybu pera po tabletu nepohybuje, nebo v /dev/input/ nenašel funkční zařízení pro wacdump, má o něco ( konkrétně teda o dost ) menší šanci že mu tenhle postup pomůže.

Spustíme přírustkové prohlížení hlavního logu

tail -f /var/log/messages

vyjmeme a opět zapojíme tablet do USB konektoru. V logu se objeví něco takového:

Jun 25 21:50:26 c2d kernel: [15569.983519] usb 3-2: new full speed USB device using uhci_hcd and address 7
Jun 25 21:50:26 c2d kernel: [15570.157511] usb 3-2: configuration #1 chosen from 1 choice
Jun 25 21:50:26 c2d kernel: [15570.169473] input: WALTOP International Corp. Slim Tablet as /devices/pci0000:00/0000:00:1d.0/usb3/3-2/3-2:1.0/input/input20
Jun 25 21:50:26 c2d kernel: [15570.211092] input,hiddev97,hidraw2: USB HID v1.10 Mouse [WALTOP International Corp. Slim Tablet] on usb-0000:00:1d.0-2

V tomhle případě vidíme že se tablet jmenuje [WALTOP International Corp. Slim Tablet] a musíme ho hledat na USB sběrnici 3 (usb 3-2:) pod adresou 7 (using uhci_hcd and address 7).

Takže se tam podíváme a zjistíme id produktu a výrobce:

sudo lsusb -v -s 3:7 | grep id
  idVendor           0x172f
  idProduct          0x0031

Aby po zasunutí USB konektoru tabletu vzniklo to správné zařízení, musí se o to postarat udev skript. Proto vytvoříme následující rules skript

gksudo gedit /etc/udev/rules.d/20-tablet.rules

a naplníme ho tímhle obsahem (samozřejmě upravíme ID podle výsledku z předešlého kroku)

KERNEL=="event*", SYSFS{idProduct}=="0031",
SYSFS{idVendor}=="172f", SYMLINK+="input/tablet"

Buďto provedeme restart stroje (což je cesta sice strmá, ale pro většinu případů nejjistější), nebo použijeme následující postup:

  1. Odpojíme USB konektor
  2. Aktualizujeme udev pravidla
sudo /etc/init.d/udev reload

- Znovu připojíme USB konektor

  1. Stiskem Alt-Ctrl-Bksp resetujeme X-server a znovu se přihlásíme

Pokud vzniklo zařízení tablet

ls -la /dev/input/tablet
  lrwxrwxrwx 1 root root 6 2008-06-26 00:48 /dev/input/tablet -> mouse3

a kurzor se při pohybu pera nad deskou pohybuje, máme už napůl vyhráno. Zbývá už jen poslední konfigurace a je hotovo:

Vyzálohujeme původní konfigurační soubor

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig

a doplníme do něj následující text

$ gksudo gedit /etc/X11/xorg.conf
Section "InputDevice"
        Driver        "wacom"
        Identifier    "stylus"
        Option        "Device"        "/dev/input/tablet"
        Option        "Type"          "stylus"
        Option        "Mode"          "absolute"
        Option        "USB"           "on"
##### tato cast je nepovinna, pokud neznate hranice, vypustte ji - hranice budou urceny automaticky
##### Nasledujici text je funkcni pro tablet "Genius G-Pen F610"
#       Option        "TopX"          "0"
#       Option        "TopY"          "0"
#       Option        "BottomX"       "10000"   # pokud ma monitor sirokouhly format
#       #Option       "BottomX"       "7812"    # pokud ma monitor format 1280x1024
#       #Option       "BottomX"       "8333"    # pokud ma monitor format 1024x768, 800x600 nebo 1600x1200
#       Option        "BottomY"       "6250"
#       Option        "MaxX"          "10000"   # pokud ma monitor sirokouhly format
#       #Option       "MaxX"          "7812"    # pokud ma monitor format 1280x1024
#       #Option       "MaxX"          "8333"    # pokud ma monitor format 1024x768, 800x600 nebo 1600x1200
#       Option        "MaxY"          "6250"
#####
EndSection
 
Section "ServerLayout"
        ...
        InputDevice "stylus" "SendCoreEvents"
EndSection

Po restartu Xserveru pomocí Alt-Ctrl-Bksp by se měly hranice srovnat a při pohybu pera nizko nad plochou by měly rohy podložky odpovídat hranicím monitoru.

Zbývá už jenom aktivovat tablet v některém z kreslících programů.

Gimp:

Aplikace → Grafika → Gimp

Otevřeme kartu s konfigurací: Soubor → Předvolby → Vstupní zařízení → Nastavit rozšířená vstupní zařízení

A nastavíme zařízení pro celoobrazovkový režim: Zařízení:Stylus, Režim:Obrazovka

Uložíme nastavení: Uložit. Zavřít. Uložit nastavení vstupních zařízení nyní.OK

Inkscape:

Aplikace → Grafika → Inkscape Vector Graphics Editor

Otevřeme kartu vstupních zařízení: Soubor → Vstupní zařízení

A nastavíme zařízení pro celoobrazovkový režim: Zařízení:Stylus, Režim:Obrazovka

Uložíme nastavení: Uložit. Zavřít.

Otevřeme kartu s konfigurací: Soubor → Nastavení Inkscape

a u položky Myš aktivujeme zaškrtnutím čtverečku citlivost pera tabletu: Myš → Use Pressure sensitive tablet (requires restart)

Nakonec restartujeme aplikaci Inkscape.

Pokud je vše zprovozněno, poslední nástraha číhá v podobě odlišných poměrů stran monitoru a tabletu. Kdo má stejně jako já širokoúhlý tablet a klasický monitor, kreslí kruh na tabletu a na monitoru vidí ovál. Jedním ze způsobů jak to napravit je oželet část pravého okraje tabletu a nastavit osu X kratší. V tom případě doporučuji použít následující přepočet X-ové souřadnice tabletu:

Fmonitoru=Xmonitoru/Ymonitoru\ Xtabletu=Fmonitoru*Ytabletu

Pokud má např. tablet rozlišení 10000×6250 a monitor 1280×1024 (faktor 1.25), je výpočet pro zachování stejného poměru bodů následující:

Fmonitoru=1280/1024=1.25\ Xtabletu=1.25×6250=7812

Pro ostatní neširokoúhlé monitory je až na výjimky faktor 1.3333 , takže pro můj tablet je

Fmonitoru=1400/1050=1.3333\ Xtabletu=1.3333×6250=8333

.

III. Odkazy