Я использую pynput в моем недавнем проекте.Я реализовал это следующим образом:
from pynput import keyboard
def on_press(key):
keyChar = ''
try:
keyChar = format(key.char)
except AttributeError:
...
except:
...
if keyChar == 'i':
print ("i is pressed")
if keyChar == 'o':
print ("o is pressed")
def on_release(key):
if key == keyboard.Key.page_down:
# Stop listener
os._exit(1)
return False
def startKeyListener():
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
thread = Thread(target=startKeyListener, args=())
thread.start()
if __name__ == '__main__':
...
Моя проблема в том, что когда я нажимаю «i» или «o», строка печати вызывается дважды.Итак, мой вывод (когда я нажимаю «i»):
i is pressed
i is pressed
Как я могу это исправить, чтобы он срабатывал только один раз.