Ceci est une ancienne révision du document !
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
#!/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