Python : Utilisation de touches du clavier
Posté le 01/04/2020 08:44
Bonjour à tous,
Dans la continuité des actualités du site tournant pas mal en ce moment autour de l'application Python de Casio et des modules graphiques bientôt disponibles, je vous propose ici une petite astuce.
Après la publication de la première version de l'application python sur les graphs on s'est tous mis à imaginer des librairies de fonctions pour l'écran graphique, le gestion des fichiers ou encore pour le clavier. Je viens de trouver en essayant des bouts de code dans le shell de ma graph90 qu'il y avait un moyen de "controller" une touche du clavier: la touche "AC/On".
Je m'explique, le concept est assez simple: lors de l’exécution d'un programme dans le shell, a part l'instruction input(), seul la touche "AC/On" peut stopper l'exécution d'un script (ou bien une autre instruction aussi.. je ne sait plus
). L'idée est donc d'utiliser le bloc "try/ except" de python pour contrecarrer l'erreur renvoyée par la calto lors de l'arrêt forcé d'un script: "KeyboardInterrupt".
Voici donc un petit script d'exemple:
while(1):
try:
for i in range(50): pass
except KeyboardInterrupt:
print("Touche AC pressee !")
Vous remarquerez la boucle "for" dans le "try". Après avoir testé je me suis rendu compte qu'un simple "pass" ne fonctionne pas..
Ce code est plus ou moins celui que j'ai utilisé pour tester mon idée, il ne permet donc pas a proprement dit de faire faire quelque chose à la touche AC..
Je vais de mon côté continuer de chercher un code pour appliquer concrètement cette astuce. En attendant je vous laisse a votre imagination !
A+ sur PC
Citer : Posté le 17/04/2020 14:02 | #
Ou tout simplement
Le cast en int n'est pas nécessaire, donc on peut l'enlever. Et quitte à l'enlever, autant enlever aussi la gestion de l'exception
J'avais pas fait gaffe que tu t'étais corrigé, mais bon, autant mettre en évidence la solution propre
Citer : Posté le 17/04/2020 15:57 | #
L'exception gère AC/ON aussi non ?
Citer : Posté le 17/04/2020 16:04 | #
Oui