#1 Le 22/08/2017, à 22:12
- Hizoka
(Résolu] Différentier les flèches et echap
Bonsoir,
je suis confronté à un problème depuis plusieurs heures...
j'ai beau tester plein de trucs mais rien à y faire...
soit :
Touche=" "
while [[ ${Touche} ]]
do
IFS= read -r -sn 1 Touche
case "${Touche}" in
$'\033') echo "033";;
$'\104') echo "104";;
$'\103') echo "103";;
$'\101') echo "101";;
$'\102') echo "102";;
$'\133') echo "133";;
*) echo "et plein dautres trucs..." ;;
esac
done
En sachant qu'en appuyant sur :
echap : 033
haut :033 - 133 - 101
bas : 033 - 133 - 102
gauche : 033 - 133 - 104
droite : 033 - 133 - 103
Comment faire (sans quitter la boucle pour savoir si j'ai appuyer sur echap ?!
J'ai essayé de passer par des variables, des testes de la la variable Touche...
mais rien n'y fait...
Une idée ?!
Merci !
while read -r -s -n 1 A do [ $A ] || { echo on quitte par return ; break ; } if ([ $A = $'\033' ] ) ;then read -t 0 [ $? -eq 1 ] && { echo echapp ; continue ; } read -r -s -n 1 A [ $A = $'\133' ] || { echo pas une touche qu on cherche ; break ; } read -t 0 [ $? -eq 1 ] && { echo pas une touche qu on cherche ; break ; } read -r -s -n 1 A case $A in $'\104') echo gauche;; $'\103') echo droite;; $'\101') echo haut;; $'\102') echo bas;; *) echo pas une touche qu on cherche ;; esac continue else echo on quitte par une touche quelconque break fi done
Dernière modification par Hizoka (Le 23/08/2017, à 14:23)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne