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).
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)
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 ... EndSectionVerscheidene mensen wezen hierop, vooral het gebruik van de optie AlwaysCore. Bedankt allemaal.
(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
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
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" ...
(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/. 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.
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), en het werkt als een tierelier.
..."