Как запустить функцию (в Python), когда пользователь нажимает определенную клавишу c? - PullRequest
1 голос
/ 04 августа 2020

Я пробовал это

from msvcrt import getch

while True:
    key = ord(getch())
    if key == 27: #ESC
        print("You pressed ESC")
    elif key == 13: #Enter
        print("You pressed key ENTER")

, но он работает только в терминале, я хочу запускать функцию всякий раз, когда пользователь нажимает клавишу, даже если его курсор не находится в терминале, пожалуйста, помогите ... Спасибо!

1 Ответ

0 голосов
/ 04 августа 2020

То, что вы пытаетесь сделать, - не самое простое, если вы хотите, чтобы все работало правильно. Если у вас есть окно / виджет в фокусе, использование Qt и QKeyEvent было бы самым простым решением. Однако, если вы хотите, чтобы ваш ввод читался глобально / в других приложениях, а не только с терминала, вам нужно сделать что-то более сложное:

Как сгенерировать события клавиатуры в Python?

...