Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
ecrans_tactiles_elotouch_1515l_et_autres [Le 08/06/2010, 19:51] Mysteroïd créée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Lucid matériel écrans tactiles elotouch BROUILLON}} | ||
- | ---- | ||
- | ====== Configuration d'écrans tactiles reconnus ====== | ||
- | |||
- | ===== Avant propos : ===== | ||
- | |||
- | L'écran testé et configuré dans cet exemple est l'écran "Elotouch 1515L" mais il est fort probable que de nombreux écrans convenablement reconnus mais pour lesquels le paramétrage par défaut n'est pas satisfaisant puissent-être configurés sur le même modèle. (Tenez au courant le contributeur, en bas de page...) | ||
- | |||
- | ==== Installer des pilotes ? ==== | ||
- | |||
- | Ce n'est pas le propos de ce tutoriel, on suppose l'écran reconnu, c'est à dire qu'au minimum votre pointeur doit se déplacer si vous déplacez votre doigt en appuyant sur l'écran... Mais pas nécessairement au bon endroit ni même dans le bon sens... C'est là qu'on va intervenir ! | ||
- | |||
- | |||
- | ===== Identifier son écran ===== | ||
- | |||
- | Il suffit de taper dans une console : | ||
- | ... | ||
- | |||
- | ===== Le script de calibration ===== | ||
- | |||
- | <code> | ||
- | #!/bin/bash | ||
- | |||
- | #Si besoin, installer zenity | ||
- | if [ ! "$(which zenity)" ]; then | ||
- | xterm -title 'Install zenity' -e "sudo apt-get update && sudo apt-get install -q -y zenity" | ||
- | fi | ||
- | |||
- | |||
- | IFS="\""; set `cat /proc/bus/input/devices |grep Elo` | ||
- | DEVICE=$2 | ||
- | IFS=" "; | ||
- | |||
- | #========================================================================= | ||
- | |||
- | GetXY(){ | ||
- | until [ "$3" != "1" ] && [ "$PRESS" = "1" ] ; do | ||
- | PRESS=$3 | ||
- | set `xinput --list "$DEVICE" | sed -n 6p` | ||
- | done | ||
- | } | ||
- | |||
- | testxy (){ | ||
- | |||
- | if [ "$X1" -gt "$X2" ]; then | ||
- | SX=$X1 | ||
- | X1=$X2 | ||
- | X2=$SX | ||
- | SX=1 | ||
- | else | ||
- | SX=0 | ||
- | fi | ||
- | |||
- | if [ "$Y1" -gt "$Y2" ]; then | ||
- | SY=$Y1 | ||
- | Y1=$Y2 | ||
- | Y2=$SY | ||
- | SY=1 | ||
- | else | ||
- | SY=0 | ||
- | fi | ||
- | |||
- | let DX=(X2-X1)/100 | ||
- | let DY=(X2-X1)/100 | ||
- | let X1=X1-DX | ||
- | let X2=X2+DX | ||
- | let Y1=Y1-DX | ||
- | let Y2=Y2+DY | ||
- | |||
- | } | ||
- | #========================================================================= | ||
- | |||
- | clear | ||
- | |||
- | echo "Please touch the screen in the top left-hand corner" | ||
- | GetXY | zenity --progress --text='Please touch the screen in the top left-hand corner' --auto-close | ||
- | X1=`xinput --list "$DEVICE" | sed -n 13p|tr -d [:blank:][:alpha:][":"][".000000"]` | ||
- | Y1=`xinput --list "$DEVICE" | sed -n 20p|tr -d [:blank:][:alpha:][":"][".000000"]` | ||
- | echo "X,Y : $X1, $Y1" | ||
- | zenity --info --text="X,Y : $X1, $Y1" --timeout=2 | ||
- | |||
- | echo "Please touch the screen in the bottom right-hand corner" | ||
- | GetXY | zenity --progress --text="Please touch the screen in the bottom right-hand corner" --auto-close | ||
- | X2=`xinput --list "$DEVICE" | sed -n 13p|tr -d [:blank:][:alpha:][":"][".000000"]` | ||
- | Y2=`xinput --list "$DEVICE" | sed -n 20p|tr -d [:blank:][:alpha:][":"][".000000"]` | ||
- | echo "X,Y : $X2, $Y2" | ||
- | zenity --info --text="X,Y : $X2, $Y2" --timeout=2 | ||
- | |||
- | testxy | ||
- | |||
- | xinput --set-prop "$DEVICE" "Evdev Axis Inversion" "$SX $SY" | ||
- | xinput --set-prop "$DEVICE" "Evdev Axis Calibration" "$X1, $X2, $Y1, $Y2" | ||
- | echo "$X1, $X2, $Y1, $Y2" | ||
- | |||
- | exit 0 | ||
- | </code> | ||
- | |||
- | ===== L'application de vos paramètres à chaques démarrage===== | ||
- | ... | ||
- | ---- | ||
- | |||
- | //Contributeurs : [[utilisateurs:Mysteroïd]] |