Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Connaitre le caractère tapé au clavier

1 réponse
Avatar
drakk63
Bonjour je voudrais connaitre le caractère tapé au clavier
et plus précisement les flèches haut bas, gauche,....
Je ne peux pas contourner la difficulté car c'est pour
envoyer ces fleches tabulation ou entrée a un programme système via "<".
exemple :
system("Drakeconf < %c%c%c",chr(x),chr(y),chr(z));
LE problème c'est que dans la table ascii rien n'est prévu pour les flèche
ou
c'est pareil j'ai pa trouvé
;)
Si on fait un prog qui renvoie le code ascii d'un caractère en C
il renvoie pour les flèches toujours 27, le carcatère d'échapemment.
Bon si qqn peut m'aider ce serais cool.

1 réponse

Avatar
kilobug

Bonjour je voudrais connaitre le caractère tapé au clavier
et plus précisement les flèches haut bas, gauche,....
Je ne peux pas contourner la difficulté car c'est pour
envoyer ces fleches tabulation ou entrée a un programme système via "<".
exemple :
system("Drakeconf < %c%c%c",chr(x),chr(y),chr(z));
LE problème c'est que dans la table ascii rien n'est prévu pour les flèche
ou c'est pareil j'ai pa trouvé


Non, il n'y a pas de code ascii pour ces flèches, et aucun moyen
standard de les gérer (d'ailleurs, la norme du C ne parle même pas du
concept de clavier, tu n'as que des flux de caractères).

Ce forum parle du C standard, et ce n'est donc pas le meilleur endroit
pour avoir des réponses spécifiques à ton système.

<hs> D'autre part, "<" ne marche du tout comme cela. < change le
fichier utilisé pour stdin, donc < %c%c%c va utiliser le fichier ayant
pour nom tes trois caractères comme entrée pour Drakeconf, le fichier
n'existant pas, ça ne marchera pas. Si tu veux envoyer toi même les
données à stdin, tu dois utiliser pipe() ou popen().

Enfin, Drakeconf est graphique (X) non ? Si c'est le cas ne lit pas
stdin, mais demande les évènements au serveur X. Envoyer des touches
sur stdin n'aura aucun effet.</hs>

;)
Si on fait un prog qui renvoie le code ascii d'un caractère en C
il renvoie pour les flèches toujours 27, le carcatère d'échapemment.
Bon si qqn peut m'aider ce serais cool.


<hs>Les touches spéciales envoie en général plusieurs caractères, la
flèche vers le haut renvoie ESC puis A dans mon aterm. Ce qui est
renvoyé exactement dépend du système, et il faut utiliser des
bibliothèques style ncurses/termcap (pour les terminaux Unix), ou Xlib
pour des applications X, ou autre suivant le système.</hs>

--
Gael Le Mignot "Kilobug" - - http://kilobug.free.fr
GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959
Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA

Member of HurdFr: http://hurdfr.org - The GNU Hurd: http://hurd.gnu.org