[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linux-31] Réagir à la barre Espace



Bonjour,

Avec un tableau j'arrive à détecter la barre d'espace ET _ENTREE_.
En faisant :

declare -a char

while true
do
        read -s -n1 -a char
       if [[ '' == ${char[0]} ]]; then
        echo  "Enfin ça marche"
    fi
done

Je crois que je vais faire avec cela; le retour chariot étant en général une validation.


pierre estrem


Le 16/05/2020 à 23:55, Pierre ESTREM (via linux-31 Mailing List) a écrit :
Bonjour,

Je ne sais plus comment faire pour lire un appui sur la barre d'espace (un ' ', code décimal 32, il me semble !).

Si je fais :
while true
do
    read -s -n1 char
    if [[ ' '==$char ]]; then
        echo  "Enfin ça marche !!!"
    fi
done

Avec cette merde je rentre dans le if à chaque fois...

J'ai eu fait cela avec le langage C et c'était facile : un read() (ou getc()) pour lire le premier octet et si il valait zéro il s'agissait donc d'une touche spéciale et alors on faisait un second appel à read() (ou getc()).

Avec Bash j'ai cherché mais ça me renvoie sempiternellement vers C ou Python.

J'ai pensé à xev...

Comment dois-je faire ?

pierre estrem


Vous pouvez vous désabonner de cette liste en cliquant sur:https://sympa.culte.org/sympa/auto_signoff/linux-31/peterpan31@free.fr