Страницы

Поиск по вопросам

вторник, 12 февраля 2019 г.

Слушатель клавиши Python

Как сделать слушателя кнопки в Питоне? Аля: нажал на клавишу 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 автоматически исполняются не в основном потоке.
Как бонус дополнительно можно слушать события мыши.

Комментариев нет:

Отправить комментарий