Genius Wizardpen 5x4 Linux HOGYAN

A HupWiki-ből...

Tartalomjegyzék

Források

Az itt található információk alapjául a következő linken található anyagok és egy Debian Sarge rendszerrel való küzdelem szolgált.

 http://www.stud.fit.vutbr.cz/~xhorak28/index.php?page=Genius_WizardPen


Előkészületek

Le kell tölteni az éppen aktuális legfrissebb kernelt. Ez eme dokumentum elkészültekor a 2.6.10-es verziójú volt.

 http://kernel.org

Le kell tölteni az eszközvezérlő forrását tartalmazó file-t.

 http://www.stud.fit.vutbr.cz/~xhorak28/data/Genius_WizardPen_attach/wizardpen-driver-0.0.1.tar.gz

Ez tartalmazza az eszközvezérlő kernel modul és az X szerver input moduljának forrását is, meg egy kernel patch-et. Lényegében ezek módosított acecad modulok, ugyanezen a néven. Nem egy elegáns megoldás, de egyelőre még nincsen más, úgyhogy akinek szúrja a szemét, az elkezdheti hekkelgetni... :-)


Kernel konfigurálás

Nálam ez hagyományosan a "make menuconfig" parancs segítségével történik, de opcionálisan mindenki azt használja amit szeret. A teljes beállítás nem célja ennek a dokumentumnak, így csak azokat a menüpontokat emelem ki, amik szükségesek rajztáblánk szempontjából.

 Device Drivers --->
   USB Support --->
       <*> Support for Host-side USB
       <M> EHCI HCD (USB 2.0) support
       <M> OHCI HCD support
       <M> UHCI HCD (most Intel and VIA) support
       <M> USB Human Interface Device (full HID) support
       [*]   HID input layer support
       [*]   /dev/hiddev raw HID device support
       <M> Acecad Flair tablet support
   Input device support  --->
       <M> Event interface

Ezután fordítsuk le és telepítsük az új kernelt plusz a modulokat. Ehhez javaslom a Debian-ban fellelhető legfrissebb gcc-t ( version 3.3.5 (Debian 1:3.3.5-8) ), mivel a nemsokára elkészítendő X input modul nem fordul le a 2.95.4-essel.

Kernel modul tesztelése

Boot-oljunk be az új kernellel, majd töltsük be az újonnan létrehozott modulokat. (Alaplaptól függően lehet, hogy az első helyett valakinél ohci_hcd, vagy esetleg ehci_hcd kell.)

 modprobe uhci_hcd
 modprobe evdev
 modprobe acecad

Meg kell keresni, hogy melyik event interface-en lesz megtalálható a rajztábla.

  cat /dev/input/eventX

Itt az "X"-et mindenki kezdje el sorban behelyettesíteni nullától egészen addig, ahány bemeneti eszköze van. Nálam a nullás a billentyűzet, az egyes az egér és a kettes lett a tábla. Ezek úgy derülnek ki, ha a parancs kiadása után sorban megmozgatjuk ezeket, és nézzük, hogy melyik "szemeteli" tele a képernyőt. Ha megvan, hogy melyiken érjük el a táblát, akkor jegyezzük meg, mert később szükség lesz rá.

X input modul fordítása

Létre kell hozni a "makefile"-t az xmkmf programmal.

 cd /root/wizardpen/wizardpen-driver-0.0.1/xinput/
 xmkmf

Ezután egy apró változtatást kell végrehajtani a "/root/wizardpen/wizardpen-driver-0.0.1/xinput/acecad.c" file-on. Kedvenc editorunkkal nyissuk meg szerkesztésre, és a 96. sorban lévő "XORG_VERSION_CURRENT," sort cseréljük le "XF86_VERSION_CURRENT,"-re. Ez lényeges, mert kedvenc Debianunkba még nem szivárgott be az X.org és enélkül nem fordulna le a driver. Mint kicsit feljebb írtam, használjuk a legfrissebb gcc-t.

Készítsük el, és másoljuk be a megfelelő helyre, az X input modulok közé.

 make
 cp /root/wizardpen/wizardpen-driver-0.0.1/xinput/acecad_drv.o /usr/X11R6/lib/modules/input/

X konfigurálása

A végéhez közeledvén már csak annyi teeendőnk van, hogy megnyitjuk szerkesztésre az "/etc/X11/XF86Config-4" állományt és bemásoljuk a következőket. (Paranoiásak csinálhatnak előtte biztonsági mentést róla.)

Hozzuk létre a következő részt, mondjuk például az egerünket konfiguráló rész alá. Az "eventX" helyére azt a számot kell beírni, amit a "Kernel modul tesztelése" résznél megtaláltunk.

 Section "InputDevice"    
   Identifier  "Wizardpen_5x4"
   Driver      "acecad"
   Option      "Device"      "/dev/input/eventX"
   Option      "Mode"        "Absolute"
 EndSection

Ezután a file vége felé elhelyezkedő "ServerLayout" részbe szúrjuk be a következőt.

 InputDevice     "Wizardpen_5x4" "AlwaysCore"

Ezzel meg is volnánk. Már csak az X szerver újraindítása van hátra (ha futott), amit személy szerint a CTRL+ALT+BACKSPACE utáni "startx"-el tettem.

Végső simítások

Kényelmesebbé lehet tenni a modulok betöltését, ha a nevüket beírjátok az "/etc/modules" file-ba. Az ebben lévő modulokat minden indításkor betölti a kernel, így nem kell kézzel csinálni.