Обнаружить нажатие клавиатуры - PullRequest
0 голосов
/ 14 мая 2018

Я хочу создать программу, которая запускает код, когда вы просто нажимаете, например, кнопку на клавиатуре, я нажимаю A, и запускается какой-то код, но мне не нужно нажимать ввод или вводить его, чтобы запустить его. Точно так же, как в видеоиграх, ваш персонаж двигается, если вы нажимаете W. Извините, если он сформулирован плохо, я довольно смущен этим.

Имейте в виду, пожалуйста, это Python 2.7

1 Ответ

0 голосов
/ 14 мая 2018

Я предполагаю, что вы имеете в виду в консоли, а не в любом графическом интерфейсе, таком как tkinter или что-то в этом роде.

Я бы предложил использовать pynput (pip install pynput)

с кодом, подобным этому

from pynput.keyboard import Key, Listener

def on_press(key):
    print('{0} pressed'.format(
        key))

def on_release(key):
    print('{0} release'.format(
        key))
    if key == Key.esc:
        # Stop listener
        return False

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

слово предупреждения: приведенный выше код также перехватывает клавиши выхода, поэтому Ctrl + C не остановит консоль.для этого вам нужно будет реализовать что-то, чтобы выйти из цикла While при нажатии ctrl + c.

...