Bonjour/Bonsoir,
Pynput n'est probablement pas la librairie la plus efficace possible...
J'ai rencontré ce fichu bug qui ne m'a pas été facile d'identifier vu son aspect aléatoire, pynput retourne un caractère bizarre 8 fois sur 10 à la place du V ou du C lorsque l'on monitore le raccourci Ctrl+V ou Ctrl+C :
J'ai besoin dans mon script de tuer le listener si la touche relâchée n'est pas un C sauf que 8/10 c'est ce caractère à la noix qui sort... Il suffit alors de contrôler le key.char :
Et voilà, comment contourner ce problème... Je n'ai vu aucun topic à ce sujet sur internet, suis-je le seul ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 from pynput import keyboard from pynput.keyboard import Key, Listener import string def on_release(key): try: exit = key.char #Les touches spéciales "Ctrl" "Alt" ... n'ont pas d'attribut char if exit != 'c' and exit in string.printable : listener.stop() return False except: print("Touche spéciale") with keyboard.GlobalHotKeys({ '<ctrl>+c': ctrl_c, '<ctrl>+v': ctrl_v, }) as h: h.join()
Partager