Bonjour,
Je réalise un script en jython pour le programme JMRI http://jmri.sourceforge.net pour commander mon train électrique par l'ordinateur.
Pour envoyer les bons ordres au train, l'ordinateur a besoin de connaître sa position. Pour ce faire, il faut ajouter un matériel spécifique, avec des capteurs sur le circuit qui renvoient l'information à l'ordinateur, car une simple horloge est beaucoup trop imprécise.
Ce matériel étant très onéreux, j'ai donc décidé de faire autrement et d'envisager la communication de la position du train par le clavier.
J'ai donc modifié (sacrifié ?) un clavier. Chaque capteur correspond ainsi à une touche.
Le script récupère l'information grâce à raw_input() ce qui me pose deux problèmes:
_ le premier, c'est que ça bloque le programme. Par exemple, si l'on veut qu'un train parte à un temps donné, le programme n'exécutera aucune action tant que la touche entrée n'aura pas été pressée.
Je pourrais également faire un système qui active le contact de la touche entrée tous les 500ms, mais ce n'est pas une solution très élégante et elle risquerait peut-être de faire planter l'ordinateur.
_ le second, c'est qu'il faut valider toute entrée par enter. C'est faisable, mais ça complique assez considérablement l'interface entre les capteurs et la carte du clavier.
C'est pour cela que je voulais vous demander si vous connaissiez une fonction en python (ou peut-être en java, s'agissant de jython ?) qui permette d'entrer des caractères par le clavier de manière non bloquante
et sans validation par enter
Partager