Linux Touch Screen HOWTO Christoph Baumann, cgb@debian.org, Vertaald door: Ellen Bokhorst, bokkie@nl.linux.org 24 okt, 2000 In dit document wordt beschreven hoe een invoerapparaat zoals een aanraakscherm onder XFree86 in te stellen. Aangezien de auteur alleen de kans kreeg met apparaten van EloTouch(R) en MicroTouch(R) te werken, is deze HOWTO nogal specifiek hierop gericht. ______________________________________________________________________ Inhoudsopgave 1. Welke soort apparaten wordt hierin beschreven? 2. Hoe het apparaat te configureren 3. Activeren van het device 4. Aanraakscherm en muis parallel gebruiken 5. Aanbevolen leesvoer ______________________________________________________________________ 1. Welke soort apparaten wordt hierin beschreven? In deze HOWTO ligt de nadruk op apparaten die zijn aangesloten op de seriële poort d.w.z. /dev/ttyS0 of /dev/ttyS1. 2. Hoe het apparaat te configureren Aanraakscherm apparaten worden geconfigureerd in de Xinput sectie in het XF86Config bestand (meestal is dit /etc/X11/XF86Config of /etc/XF86Config). Controleer als eerste of de modules voor de device driver voorkomen. Ze zijn te vinden in /usr/X11R6/lib/modules/ (de modules voor de hierboven genoemde apparaten zijn xf86Elo.so en xf86MuTouch.so). Kijk nu in XF86Config. Er zou een sectie in voor moeten komen zoals: Section "Files" ... ModulePath "/usr/X11R6/lib/modules" ... EndSection Om de module door de X-server geladen te krijgen, moet er een sectie voorkomen zoals de volgende: Section "Module" Load "xf86Elo.so" EndSection Nu het lastiger deel. X heeft voor het device een aantal paramaters nodig. De sectie hiervoor ziet er ongeveer zo uit (zie "man XF86Config" voor meer details): Section "Xinput" SubSection "Elographics" #het record voor een MicroTouch device zou zijn: SubSection "MicrotouchFinger" Port "/dev/ttyS1" # voor een device aangesloten op de 2e serile poort DeviceName "TouchScreen" #zou iedere ondubbelzinnige naam kunnen zijn MinimumXPosition 300 MaximumXPosition 3700 MinimumYPosition 300 MaximumYPosition 3700 UntouchDelay 10 #niet ondersteund met MuTouch ReportDelay 10 #niet ondersteund met MuTouch AlwaysCore #activeert het device bij het opstarten EndSubSection EndSection De waarden voor de velden MinimumXPosition enz. zijn natuurlijk specifiek voor de setup van de hardware (d.w.z. zijn afhankelijk van de positie van het aanraakscherm relatief t.o.v de monitor). De waarden bepalen waar de punten (0,0) en (xmax,ymax) van je monitor (xmax en ymax zijn afhankelijk van de gekozen resolutie voor de Xserver, zoals 1024x768) op het aanraakscherm zijn ingedeeld. De device driver leest deze waarden in en interpoleert de andere coördinaten. Ter illustratie: --------gebied van het aanraakscherm------------ I I I ########zichtbaar monitor gebied########## I I #x # I I # (0,0) # I I # (MinimumXPosition,MinimumYPosition) # I I # # I I # # I I # # I I # # I I # # I I # # I I # # I I # (MaximumXPosition,MaximumYPosition)# I I # (xmax,ymax)# I I # x# I I ########################################## I I I ------------------------------------------------ Deze indeling kan worden verkregen door uitproberen of door het lezen van de uitvoer van het device (hiervoor is wat seriële poortprogrammering nodig, zie "De Linux Serial Programming HOWTO"). Voor de typen EloTouch en MicroTouch bestaat een rudimentair calibratie hulpmiddel (geschreven door de auteur van dit document, het is te vinden op ftp://metalab.unc.edu/pub/linux/X11/xutils/touchcal-0.1.tar.gz <ftp://metalab.unc.edu/pub/linux/X11/xutils/touchcal-0.1.tar.gz>). 3. Activeren van het device Na het opstarten van X, typ je in een Xterminal de opdracht xsetpointer <devicename> <devicename> is de naam gedefinieerd in XF86Config met de regel DeviceName ".....", in dit voorbeeld is dat TouchScreen. Om het device bij het opstarten werkend te krijgen gebruik je de optie AlwaysCore in de sectie touch screen (zie hiervoor) 4. Aanraakscherm en muis parallel gebruiken Om het aanraakscherm en een muis parallel te kunnen gebruiken moet je de muisspecificatie invullen in de Xinput-sectie. Deze definities zouden hetzelfde moeten zijn als in de Pointer-sectie. Het volgende voorbeeld geldt voor een PS/2-muis: Section "Xinput" SubSection "Mouse" Protocol "PS/2" Port "/dev/mouse" #kan ook /dev/psaux zijn DeviceName "Mouse" AlwaysCore EndSubSection ... EndSection Verscheidene mensen wezen me hierop, vooral het gebruik van de optie AlwaysCore. Bedankt allemaal. 5. Aanbevolen leesvoer · Manpage voor XF86Config · http://www.elotouch.com/Support/linux.asp <http://www.elotouch.com/Support/linux.asp> · http://www.hof-berlin.de/tablet/tablet.html <http://www.hof- berlin.de/tablet/tablet.html> (Met dank aan Christer Olofsson voor het opsturen van deze URL) · Het handboek dat met je aanraakscherm wordt geleverd :-)