Version : gutsy hardy, non vérifié pour les autes versions. 
 Problème de calibration sous jaunty et karmic avec le pilote evTouch. 
 Une autre solution est disponnible ci-dessous pour jaunty et karmic.

Ecran-tactile egalax evtouch

Tout est ici pour les versions récentes d'Ubuntu.

Compatibilité

  • D-WAV Scientific Co., Ltd eGalax TouchScreen
  • Samsung Q1

En fait il semble d'après le forum que d'autres dalles tactiles soient compatibles

  • Fujitsu Takamisawa USB Touch Panel
  • panasonic cf37
  • lifebook b2175

Problème sous jaunty et karmic

  • La version du pilote eGalax du fabriquant EETI http://www.eeti.com.tw/ a été testée sous jaunty et karmic sur un eeePC 1000 en remplacement du pilote evTouch. Cette solution a été élaborée à cause de l'impossibilité apparente pour moi de calibrer correctement evTouch sous jaunty et karmic avec l'écran tactile D-WAV Scientific Co., Ltd eGalax TouchScreen.

Problème sous Ubuntu 10.04: Le fichier xorg.conf n'existe plus.

  • Passer dans une fenêtre de débug : le logger administrateur ou faire sudo devant toutes les commandes
  • Stopper le service gdm : par exemple sur gnome et xfce : service gdm stop
  • Générer le xorg.conf.new : X -configure
  • copier le fichier sous /etc/X11/xorg.conf
  • Relancer le service gdm : service gdm start

Pré-requis

  • Disposer des droits d'administration ;
  • Disposer d'une connexion à Internet configurée et activée ;
  • Disposer d'un écran tactile compatible (voir plus haut) ;

Introduction

Cette aide permet d'installer et de configurer un écran tactile type egalax USB présent sur certains moniteurs et sur les UMPC ou tablettes Internet. Je ne garantis pas que cette aide fonctionne pour toutes les configurations.

afin de vérifier le modèle de dalle tactile tapez dans un terminal :

lsusb

vous devriez voir quelque chose comme

Bus 004 Device 001: ID 0000:0000  
Bus 003 Device 002: ID 0a5c:2101 Broadcom Corp. 
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 002: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 003: ID 05af:0408 Jing-Mold Enterprise Co., Ltd 
Bus 001 Device 001: ID 0000:0000  

en fait seule la ligne

Bus 002 Device 002: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen

représente la dalle tactile (seul son ID est à prendre en compte ) le Bus et Device représente la prise sur laquelle il est connecté. Si ce périphérique n'apparait pas chez vous, cette procédure n'est certainement pas la bonne

Autre possibilité

Bus 003 Device 002: ID 0430:0501 Sun Microsystems, Inc. 

autre possibilité (acer T230H)

Bus 003 Device 004: ID 0408:3000 Quanta Computer, Inc. 

Version gutsy et hardy

Installation

Premièrement vous devez installer le paquet xserver-xorg-input-evtouch via synaptic ou :apt://xserver-xorg-input-evtouch

Pour ne pas avoir à chercher le bon "event" sur le quel sera connectée la dalle tactile il est plus simple de créer un lien via udev qui sera recrée à chaque détection du périphérique et pointera toujours sur le bon "event".

Pour cela, vous devez exécuter la commande suivante dans un terminal :

cat /proc/bus/input/devices

qui va vous renvoyer une liste de tous ce qui est connecter à votre PC il vas faloir rechercer un peut une section qui resemble à ça

I: Bus=0003 Vendor=0eef Product=0001 Version=0100
N: Name="Touchkit HID-USB Touchscreen"
P: Phys=usb-0000:00:1d.1-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0/input/input10
U: Uniq=
H: Handlers=mouse1 event2 js0 
B: EV=1b
B: KEY=30000 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

sur la ligne N: Name="Touchkit HID-USB Touchscreen"

le Name est le nom avec lequel le peripherique s'identifie au systeme il faut donc le noter autre exemple (panasonic cf t2)

I: Bus=0003 Vendor=0430 Product=0501 Version=0100
N: Name="Fujitsu Takamisawa USB Touch Panel"
P: Phys=usb-0000:00:1d.2-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input2

ensuite créer un fichier de regle pour UDEV qui vas permetre de créer un lien sybolique dans /dev/input/ vers le peripherique et s'aquite de connaitre son numero (qui change en fonction de l'ordre de detection des peripheriques )

sudo gedit  /etc/udev/rules.d/10-local.rules

qui va ouvrir un éditeur de texte sur le fichier /etc/udev/rules.d/10-local_rules qui n'existe sûrement pas et sera donc crée à l'enregistrement, ajoutez-y la ligne suivante :

SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="Touchkit HID-USB Touchscreen", SYMLINK+="input/touchscreen"

si chez vous le Nom du périphérique n'est pas "Touchkit HID-USB Touchscreen" il est bien sur nescessaire de le modifier par ce que vous aurez trouvé plus haut dans le resultat du cat /proc/bus/input/devices

SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}==Name, SYMLINK+="input/touchscreen"

soit pour les version 0112 du controleur eGalax

SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="eGalax Inc. Touch", SYMLINK+="input/touchscreen"

soit pour le panasonic cf t2"

SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="Fujitsu Takamisawa USB Touch Panel", SYMLINK+="input/touchscreen"
A moins que votre système ne soit équipé de plusieur écran tactile vous pouvez ajouter plusieur lignes seule le periphérique présent serat pris en compte

Enregistrez les modification et fermez gedit.

Ensuite vous devez éditer /etc/X11/xorg.conf avec la commande :

sudo gedit /etc/X11/xorg.conf

Vous devez ajouter :

Section "InputDevice"
    Identifier    "touchscreen"
    Driver    "evtouch"
    Option    "Device"    "/dev/input/touchscreen"
    Option    "DeviceName"    "touchscreen"
    Option    "MinX"        "82"
    Option    "MinY"        "195"
    Option    "MaxX"        "3960"
    Option    "MaxY"        "3900"
    Option    "ReportingMode"    "Raw"
    Option    "Emulate3Buttons"
    Option    "Emulate3Timeout"    "50"
    Option    "SendCoreEvents"
    Option    "MoveLimit" "10"
    #Option    "Calibrate"  "1"
    #Option    "Rotation" "cw"  
    #Option    "SwapX"    "1"
    #Option    "SwapY"    "1"
EndSection

Puis ajouter dans section Server layout :

  	InputDevice 	"touchscreen" "SendCoreEvents"

Attention les valeurs Min et Max sont adaptées à mon cas (samsung Q1 7"), vous devrez certainement entrer d'autres valeurs, adaptées à votre matériel.

Voila normalement ça devrait marcher après avoir redémarré Xorg.

Calibrage

Il semble que les utilitaires de calibrage fournis avec hardy ne marchent pas.

Chez moi le script
/usr/bin/calibrate_touchscreen

fonctionne. Seuls les inversions d'axes ne sont pas faites automatiquement. on peut alors soit physiquement changer les pattes (1↔3 ou 2↔4) de la dalle soit suivre le tuto http://forum.ubuntu-fr.org/viewtopic.php?id=243993

Cependant il existe une solution, sur la page http://stz-softwaretechnik.com/~ke/touchscreen/evtouch.html#download téléchargez la version V0.8.7 http://stz-softwaretechnik.com/~ke/touchscreen/evtouch-0.8.7.tar.gz ensuite il faut extraire le contenu de l'archive dans votre répertoire de travail.

Vous devriez avoir un répertoire du nom de evtouch-0.8.7

Il va falloir modifier les option dans le fichier /etc/X11/xorg.conf

  sudo gedit /etc/X11/xorg.conf

et décommenter la ligne (il suffit de supprimer le dièse en début de ligne) : #Option "Calibrate" "1" pour obtenir :

Section "InputDevice"
    Identifier    "touchscreen"
    Driver    "evtouch"
    Option    "Device"    "/dev/input/touchscreen"
    Option    "DeviceName"    "touchscreen"
    Option    "MinX"        "82"
    Option    "MinY"        "195"
    Option    "MaxX"        "3960"
    Option    "MaxY"        "3900"
    Option    "ReportingMode"    "Raw"
    Option    "Emulate3Buttons"
    Option    "Emulate3Timeout"    "50"
    Option    "SendCoreEvents"
    Option    "MoveLimit" "10"
    Option    "Calibrate"  "1"
EndSection

Ensuite vous devez redémarrer en mode de secours(recovery mode) pour ne pas lancer le serveur graphique. Sous hardy cela se termine par un menu qui vous demande quoi faire, dans lequel vous devrez sélectionner "root".

Déplacez vous dans le répertoire evtouch-0.8.7

cd /home/xxx/evtouch-0.8.7

Les xxx sont à remplacer pas votre nom de connection

Recopier ensuite le fichier empty_cursor.xbm à la racine

cp empty_cursor.xbm /

et lancer la calibration

./calibrate.sh

vous devriez voir un fond uni avec 9 petites croix.

Si vous touchez l'écran vous devriez voir des coordonnées défiler… Appuyer sur la touche "Entrée". La croix en haut à gauche est passée en rouge, "cliquez" dessus en touchant l'écran, et ainsi de suite jusqu'à la fin. Vous pouvez détruire le fichier empty_cursor.xpm

rm /empty_cursor.xpm

et redémarrer le système normalement

Ensuite dans le répertoire evtouch-0.8.7, éditez le ficher out.txt qui devrait ressembler à :

        Option        "MinX"        "111"
        Option        "MinY"        "195"
        Option        "MaxX"        "3943"
        Option        "MaxY"        "3914"
        Option        "x0"        "4"
        Option        "y0"        "-164"
        Option        "x1"        "-5"
        Option        "y1"        "-167"
        Option        "x2"        "-4"
        Option        "y2"        "-167"
        Option        "x3"        "3"
        Option        "y3"        "-87"
        Option        "x4"        "-5"
        Option        "y4"        "-87"
        Option        "x5"        "-3"
        Option        "y5"        "-88"
        Option        "x6"        "5"
        Option        "y6"        "-4"
        Option        "x7"        "0"
        Option        "y7"        "-4"
        Option        "x8"        "-5"
        Option        "y8"        "-5"

Recopier tous ça dans votre fichier xorg.conf

sudo gedit /etc/X11/xorg.conf

Et n'oubliez pas de commenter la ligne Option "Calibrate" "1"

Identifier    "touchscreen"
    Driver    "evtouch"
    Option    "Device"    "/dev/input/touchscreen"
    Option    "DeviceName"    "touchscreen"
        Option        "MinX"        "111"
        Option        "MinY"        "195"
        Option        "MaxX"        "3943"
        Option        "MaxY"        "3914"
        Option        "x0"        "4"
        Option        "y0"        "-164"
        Option        "x1"        "-5"
        Option        "y1"        "-167"
        Option        "x2"        "-4"
        Option        "y2"        "-167"
        Option        "x3"        "3"
        Option        "y3"        "-87"
        Option        "x4"        "-5"
        Option        "y4"        "-87"
        Option        "x5"        "-3"
        Option        "y5"        "-88"
        Option        "x6"        "5"
        Option        "y6"        "-4"
        Option        "x7"        "0"
        Option        "y7"        "-4"
        Option        "x8"        "-5"
        Option        "y8"        "-5"
    Option    "ReportingMode"    "Raw"
    Option    "Emulate3Buttons"
    Option    "Emulate3Timeout"    "50"
    Option    "SendCoreEvents"
    Option    "MoveLimit" "10"
    #Option    "Calibrate"  "1"
EndSection

Et voilà, un dernier redémarrage du Xorg et votre écran sera installé et calibré !

Version Jaunty et Karmic

Installation

Sous jaunty et karmic, evTouch inverse l'axe des X et les options de calibration dans le fichier xorg.conf ne fonctionne pas. La solution consiste à utiliser le pilote eGalax du fabriquant EETI.

Donc, désinstaller evTouch via Synaptique ou la ligne de commande:

sudo apt-get remove xserver-xorg-input-evTouch

Vous devez télécharger le pilote qui correspond à la version de votre noyau linux. Pour connaître la version de votre noyau linux:

uname -r

Pour la version 2.6 du noyau linux avec un processeur 32bit, vous pouvez télécharger le pilote eGalax sur le site du fabriquant EETI http://home.eeti.com.tw/web20/drivers/touch_driver/Linux/2062905/eGalaxTouch-2.06.2905-32b-k26.tar.gz ou http://www.j2retailsystems.com/support/650/Touch/linux/eGalaxTouch-2.06.2905-32b-k26.tar.gz et sauvegardé le sur votre bureau

Vous trouverez la liste des autres pilotes disponnibles 32bit et 64bit sur site du fabriquant EETI dans la section Support et TouchScreen : http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm

Décompresser le fichier sur votre bureau:

cd Bureau
tar -xvf eGalaxTouch-2.06.2905-32b-k26.tar.gz

Vous devez vous positionner dans le répertoire qui vient d'être créer sur votre bureau:

cd eGalaxTouch32

Installer le pilote avec la ligne de commande suivante:

sudo sh setup.sh

Le script d'installation vous demande de choisir le port pour votre écran tactile, généralement l'option 3 est la bonne réponse si votre écran tactile est branché sur un port USB.

(Q) Which interface controller do you use?
(I) [1] RS232 [2] PS/2 [3] USB : 

L'installation a modifié le fichier /etc/X11/xorg.conf que vous pouvez éditer au besoin:

sudo gedit /etc/X11/xorg.conf

Lors d'une nouvelle installation de Karmic, il est probable que vous deviez créer le fichier xorg.conf. Voici un exemple provenant d'un eeepc 1000 :

### Touch Configuration Beginning ###
Section "ServerLayout"
        Identifier 	"Default Layout"
	Screen		"Default Screen"
        InputDevice	"EETI" "SendCoreEvents"
	InputDevice	"Configured Mouse"
EndSection

Section "Screen"
    Identifier    "Default Screen"
    Device        "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
    Monitor        "Generic Monitor"
    DefaultDepth    24
    SubSection "Display"
        Modes        "1024x600"
    EndSubSection
EndSection

Section "Device"
    Identifier    "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
    Driver        "intel"
    BusID        "PCI:0:2:0"
EndSection

Section "InputDevice"
    Identifier    "Configured Mouse"
    Driver        "mouse"
    Option        "CorePointer"
    Option        "Device"        "/dev/input/mice"
    Option        "Protocol"        "ImPS/2"
    Option        "ZAxisMapping"        "4 5"
    Option        "Emulate3Buttons"    "true"
EndSection

Section "InputDevice"
        Identifier "EETI"
        Driver "egalax"
        Option "Device" "usbauto"
        Option "Parameters" "/var/lib/eeti.param"
        Option "ScreenNo" "0"
#       Option "SkipClick" "1"
#	Option "HidOnEPC" "1"
EndSection
### Touch Configuration End ###

Redémarrer votre ordinateur

Il vous reste une dernière étape qui sera la calibration.

Calibrage

À cette étape, votre écran tactile devrait déjà fonctionner. Il se peut qu'il inverse les déplacements du curseur. Il faut donc calibrer votre écran tactile.

Pour calibrer votre écran tactile, utiliser l'utilitaire fournis avec le pilote. Pour le démarrer taper la ligne de commande suivante:

eGalaxTouch

Pour votre information, vous trouverez cet utilitaire, ainsi que les fichiers du pilote qui ont été installés, dans le répertoire suivant :

usr/local/eGalaxTouch32

Vous pourrez donc vous créer un raccourci si vous le désirez.

Une fois l'utilitaire eGalaxTouch démarré, allez dans l'onglet Tool et choisissez Linearisation. Suivez ensuite les étapes affichées à l'écran.

Et voilà, votre écran est installé et calibré !

Il se peut sous certaines configuration que l'évenement touchscreen soit détecté plusieur fois à chaque touché. Concrètement, le pointeur saute de l'endroit pointé à un autre endroit sur l'écrant. Ce problème peut être résolu en modifiant le fichier edev.conf se situant /usr/lib/X11/xorg.conf.d (attention si vous avez d'autres écrans tactiles à connecter):

sudo gedit /usr/lib/X11/xorg.conf.d/05-evdev.conf

Et commenter les deux derniers paragraphes (il suffit d'ajouter un "#" en début de ligne):

# Catchall classes for input devices
# We don't simply match on any device since that also adds accelerometers
# and other devices that we don't really want to use. The list below
# matches everything but joysticks.

Section "InputClass"
	Identifier "evdev pointer catchall"
	MatchIsPointer "on"
	MatchDevicePath "/dev/input/event*"
	Driver "evdev"
EndSection

Section "InputClass"
	Identifier "evdev keyboard catchall"
	MatchIsKeyboard "on"
	MatchDevicePath "/dev/input/event*"
	Driver "evdev"
EndSection

Section "InputClass"
	Identifier "evdev touchpad catchall"
	MatchIsTouchpad "on"
	MatchDevicePath "/dev/input/event*"
	Driver "evdev"
EndSection

#Section "InputClass"
#	Identifier "evdev tablet catchall"
#	MatchIsTablet "on"
#	MatchDevicePath "/dev/input/event*"
#	Driver "evdev"
#EndSection

#Section "InputClass"
#	Identifier "evdev touchscreen catchall"
#	MatchIsTouchscreen "on"
#	MatchDevicePath "/dev/input/event*"
#	Driver "evdev"
#EndSection

Redémarer Xorg, et le tactile devrait parfaitement fonctionner!

Lien Utile

voir aussi cellwriter qui permet d'écrire à l'écran

Compatibilité XBMC

Une fois le pilote installé, calibré et testé avec succès sur le serveur X, si sous XBMC le curseur fait n'importe quoi lorsque vous appuyez sur l'écran alors vous avez un problème lié à l'utilisation de SDL dans XBMC.

Pour contourner le problème il suffit de créer un lanceur personnalisé:

nano /usr/bin/runXBMC

Y inscrire :

#!/bin/bash
export SDL_MOUSE_RELATIVE=0
xbmc

Le rendre exécutable :

chmod 755 /usr/bin/runXBMC

Source : http://passion-xbmc.org/support-xbmc-sous-linux/xbmc-touchscreen-egalax/?wap2

  • evtouch.txt
  • Dernière modification: Le 28/04/2018, 11:21
  • (modification externe)