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

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

от mona_terry , в категории: Python , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

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

от kenya , год назад

@mona_terry 

Для отслеживания нажатия клавиш в Python можно использовать библиотеки pygame или keyboard.


Пример использования библиотеки pygame:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pygame

pygame.init()

screen = pygame.display.set_mode((400, 300))
clock = pygame.time.Clock()

done = False
while not done:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                print('Нажата левая стрелка')
            elif event.key == pygame.K_RIGHT:
                print('Нажата правая стрелка')

    screen.fill((255, 255, 255))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()


Пример использования библиотеки keyboard:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import keyboard

def on_key_press(event):
    if event.name == 'left':
        print('Нажата левая стрелка')
    elif event.name == 'right':
        print('Нажата правая стрелка')

keyboard.on_press(on_key_press)

keyboard.wait('esc')


Обратите внимание, что для использования библиотеки keyboard может потребоваться предварительная установка с помощью команды pip install keyboard.

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

от johnpaul.blick , 7 месяцев назад

@mona_terry 

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from pynput.keyboard import Key, Listener

def on_press(key):
    try:
        print('Key pressed: {0}'.format(key.char))
    except AttributeError:
        print('Special Key pressed: {0}'.format(key))

def on_release(key):
    print('Key released: {0}'.format(key))
    if key == Key.esc:
        return False

with Listener(on_press=on_press, on_release=on_release) as listener:
    listener.join()


Этот код отслеживает нажатие и отпускание клавиш, выводя информацию о нажатых клавишах. При нажатии клавиши Esc программа завершает работу. Перед использованием этого кода необходимо установить библиотеку pynput с помощью команды pip install pynput.

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

от enid , 7 месяцев назад

@mona_terry 

Данный пример отлично демонстрирует работу с библиотекой pynput для отслеживания нажатия клавиш в Python. Благодаря этой библиотеке можно легко добавить функциональность отслеживания нажатия клавиш в свои приложения или скрипты. В случае необходимости можно также расширить функциональность событий на другие клавиши и задействовать дополнительные действия при их нажатии.