Linux Touch Screen HOWTO Christoph Baumann, cgb@debian.org, Vertaald door: Ellen Bokhorst, bokkie@nl.linux.org v3.1, 06-11-2002 In dit document wordt beschreven hoe een aanraakscherm als invoerappa raat onder XFree86 in te stellen. Aangezien de auteur slechts de kans kreeg te werken met apparaten van EloTouch(R) en MicroTouch(R) is deze HOWTO nogal specifiek op deze apparaten gericht. De voorbeelden gegeven in deze HOWTO concentreren zich rondom apparaten die op de seriële poorten worden aangesloten, d.w.z. /dev/ttyS0 of /dev/ttyS1. (Informatie over USB-devices wordt gewaardeerd!) (c) 2002 door Christoph Baumann. Op dit document is de GNU Free Documentation License van toepassing. ______________________________________________________________________ Inhoudsopgave 1. Hoe het device te configureren 2. Activeren van het device 3. Aanraakscherm en muis parallel gebruiken 4. Configuratie onder XFree86 4 4.1 Een ander configuratievoorbeeld 4.2 Addendum 5. Aanraakschermen op Fujitsu LifeBooks 6. Aanbevolen leesstof ______________________________________________________________________ 1. Hoe het device te configureren Aanraakschermen worden geconfigureerd in de Xinput section in het XF86Config bestand (meestal in /etc/X11/XF86Config of /etc/XF86Config). Verifieer als eerste dat de devicedrivermodules bestaan. Ze zijn te vinden in /usr/X11R6/lib/modules/ (de modules voor de bovengenoemde devices zijn xf86Elo.so en xf86MuTouch.so). Kijk nu eens in XF86Config. Er zou zich een section in moeten bevinden dat er ongeveer zo uitziet; Section "Files" ... ModulePath "/usr/X11R6/lib/modules" ... EndSection Om de module geladen te krijgen door de X-server, moet er een section voorkomen als de volgende: Section "Module" Load "xf86Elo.so" EndSection Nu het lastiger deel. X heeft een aantal parameters over het device nodig. De section hiervoor ziet er zo uit (zie "man XF86Config" voor meer details): Section "Xinput" SubSection "Elographics" #the entry for a MicroTouch device would be SubSection "MicrotouchFinger" Port "/dev/ttyS1" # voor een device aangesloten op de seriële poort 2 DeviceName "TouchScreen" # zou iedere ondubbelzinnige naam kunnen zijn MinimumXPosition 300 MaximumXPosition 3700 MinimumYPosition 300 MaximumYPosition 3700 UntouchDelay 10 # niet ondersteund door MuTouch ReportDelay 10 # niet ondersteund door MuTouch AlwaysCore # activeert het device bij het opstarten EndSubSection EndSection De waarden voor de regels MinimumXPosition enz. zijn natuurlijk specifiek voor de setup van de hardware (d.w.z. hangt af van de positie van het aanraakscherm relatief t.o.v. de monitor). De waarden bepalen waar de punten (0,0) en (xmax,ymax) op je monitor, zoals 1024x768) zijn ingedeeld op het aanraakscherm. De devicedriver leest deze waarden in en interpoleert de andere coördinaten. Ter illustratie: --------------aanraakschermgebied--------------- 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, welke 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>). 2. Activeren van het device Typ na het opstarten van X in een Xterminal de opdracht xsetpointer <devicename> waarbij <devicename> de naam is in XF86Config die is gedefinieerd met de regel DeviceName ".....", in dit voorbeeld zou dit TouchScreen zijn. Om het device bij het opstarten te activeren gebruik je de optie AlwaysCore in de touch screen section (zie hierboven) 3. Aanraakscherm en muis parallel gebruiken Om het aanraakscherm en een muis parallel te gebruiken, moet je de specificaties van de muis in de Xinput-section invullen. Deze definities moeten hetzelfde zijn als in de Pointer-section. Het volgende voorbeeld dient 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 hierop, vooral het gebruik van de optie AlwaysCore. Bedankt allemaal. 4. Configuratie onder XFree86 4 (van Lee Monamy) Voorbeeld XF86Config-4 voor een ELO aanraakscherm: Section "InputDevice" Identifier "ELO touchscreen" Driver "elographics" Option "Device" "/dev/ttyS0" Option "MinimumXPosition" "300" Option "MaximumXPosition" "3700" Option "MinimumYPosition" "300" Option "MaximumYPosition" "3700" Option "UntouchDelay" "10" Option "ReportDelay" "10" Option "SendCoreEvents" "yes" EndSection Opmerkelijke verschillen hiertussen en de configuratie van versie 3 zijn dat je een Device specificeert, *geen* "Port", anders krijg je een foutmelding. Bovendien is AlwaysCore van v3 vervangen door SendCoreEvents. Je moet ook de ServerLayout section toevoegen, ondanks dat X dan wellicht komt met: "(II) XINPUT: Adding extended input device "TOUCHSCREEN" (type: Elographics Touch Screen)" Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" ... InputDevice "ELO touchscreen" EndSection 4.1. Een ander configuratievoorbeeld van Dirk Mueller (voor Microtouch SMT3 Series): Section "InputDevice" Identifier "MicroTouchFinger" Driver "mutouch" Option "Type" "finger" Option "Device" "/dev/ttyS0" Option "ScreenNo" "0" Option "MinimumXPosition" "0" Option "MaximumXPosition" "16383" Option "MinimumYPosition" "0" Option "MaximumYPosition" "16383" EndSection De Optie "Type" kan "finger" zijn of "stylus" Aangezien Microtouch werd opgekocht door 3M-Touch, zijn de bronnen te vinden op http://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux <http://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux> 4.2. Addendum Volgens Wong Yeow Sen zijn de namen van configuratie-opties in XFree86 4.2 gewijzigd (tenminste bij Red Hat 7.3). Probeer het volgende als het erop lijkt dat je calibratiewaarden niet worden verwerkt: ... Option "MinX" "100" Option "MaxX" "4000" Option "MinY" "100" Option "MaxY" "4000" ... 5. Aanraakschermen op Fujitsu LifeBooks (van Joerg Hau) Informatie over deze devices is hier te vinden: "... Harald Hoyer's Linux Touch Panel Drivers voor de Fujitsu Lifebooks B112/B142/B2130, http://parzelle.de/Linux/Lifebook/ <http://parzelle.de/Linux/Lifebook/>. Helaas gaat dit alleen over XFree 3.x en het schijnt dat deze informatie nu "statisch" (uitgedoofd?) is. Kenan Esau's Lifebook Series B Touchscreen driver, wat de aanpassing is van Harald's driver voor XFree 4.x. http://www.conan.de/lifebook/lifebook.html <http://www.conan.de/lifebook/lifebook.html>. Ik [Joerg Hau] heb Kenan's driver op mijn Fujitsu LifeBook B142 gebruikt (beschreven op http://www.mysunrise.ch/users/joerg.hau/linux/b142.htm <http://www.mysunrise.ch/users/joerg.hau/linux/b142.htm>), en het werkt als een tierelier. ..." 6. Aanbevolen leesstof · Manpage voor XF86Config · http://www.elotouch.com/Support/linux.asp <http://www.elotouch.com/support/linux.asp> · http://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux <http://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux> · 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) · De handleiding die bij je aanraakscherm wordt geleverd :-)