J'essaie actuellement de démarrer et d'arrêter une boucle while en appuyant sur une touche (start) et en l'arrêtant en relâchant la touche.Modifier l'état de la variable de condition pour une boucle while en dehors de la boucle while
donc quelque chose comme ceci:
from pynput import keyboard
global condition
condition = False
def on_press(key):
global condition
if key == keyboard.Key.cmd_r:
print('pressed cmd_r'.format(key))
condition = True
else:
print('incorrect character {0}, press cmd_r'.format(key))
def on_release(key):
global condition
print('{0} released'.format(key))
if key == keyboard.Key.cmd_r:
condition = False
#keyboard.Listener.stop
#return False
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
while condition==True:
print "Condition true"
Je ne sais pas pourquoi cela ne fonctionne pas .. Il devrait dans ma tête?
est-ce peut-être que la condition est False au début, donc il ne démarre jamais réellement la boucle while et le processus se termine? –
aussi 'condition' devrait être déclaré' global' dans les callbacks –
J'ai mis le 'global' en haut mais devrait-il aussi être fait dans les rappels? – jkn