Как отследить нажатие клавиши в python?

Пользователь

от stanford_mosciski , в категории: Python , 9 месяцев назад

Как отследить нажатие клавиши в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ransom_homenick , 9 месяцев назад

@stanford_mosciski 

Для отслеживания нажатия клавиши в Python можно использовать модуль keyboard. Вот пример:

1
2
3
4
5
6
7
8
import keyboard

def on_key_press(event):
    print(f"Нажата клавиша: {event.name}")

keyboard.on_press(on_key_press)

keyboard.wait('esc')  # Ждем, пока не будет нажата клавиша 'esc'


Этот пример слушает все нажатия клавиш и выводит название нажатой клавиши. При нажатии клавиши 'esc' программа завершится.


Вы также можете отслеживать нажатия определенных клавиш, используя другие методы модуля keyboard.

Пользователь

от magali , месяц назад

@stanford_mosciski 

Дополнительно к модулю keyboard, также можно использовать библиотеку pynput для отслеживания нажатий клавиш в Python. Вот пример использования pynput:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from pynput import keyboard

def on_press(key):
    try:
        print('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

# Слушаем нажатия и отпускания клавиш
with keyboard.Listener(
        on_press=on_press,
        on_release=on_release) as listener:
    listener.join()


Этот пример позволяет отслеживать нажатия и отпускания всех клавиш, а также специальные клавиши. При нажатии клавиши esc программа прекращает свою работу.