Как сделать слушателя кнопки в Питоне? Аля: нажал на клавишу CTRL -> выполнилась функция f()
Windows/Python 3.6.0
Ответ
Например, pynput (pip install pynput). Пример из официальной документации:
from pynput import keyboard
def on_press(key):
try:
print('alphanumeric key {0} pressed'.format(key.char))
except AttributeError:
print('special key {0} pressed'.format(key))
def on_release(key):
print('{0} released'.format(key))
if key == keyboard.Key.esc:
# Stop listener
return False
# Collect events until released
with keyboard.Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
Жрет любые символы (Fn+, *.Lock(NumLock, CapsLock), Alt - все, что угодно).
Чтобы прекратить слушать вам необходимо бросить исключение StopException или вернуть False из обработчика. Функции on_press, on_release автоматически исполняются не в основном потоке.
Как бонус дополнительно можно слушать события мыши.
Комментариев нет:
Отправить комментарий