Определить, была ли клавиша нажата в любое время - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу определить, была ли нажата кнопка H в любое время, а не только один раз.

В настоящее время я использую такой модуль keyboard:

import keyboard

while True:
    if keyboard.is_pressed('h'):
        print("H pressed")
        break

Итак, если я нажму H, то получится H pressed, но если я нажму H снова, ничего не произойдет, потому что я разорвал цикл while.

Я хочу, чтобы он снова работал, а не только обнаружение клавиш времени.

Любая помощь будет оценена.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Опция, использующая модуль keyboard и достаточно близкая к вашему коду:

import keyboard

while True:
    keyboard.wait("h")
    print("H pressed")
0 голосов
/ 04 сентября 2018

Попробуйте:

import keyboard as kd
kd.on_press_key("H",lambda _:print("You pressed Key H"))

Он запустит команду и продолжит работу, но если вы в любое время нажмете клавишу H, она напечатает.

Или есть более простой способ сделать это:

import keyboard as kd
while True:
    if "H" in kd.read_key():print("You pressed Key H")

Согласно вашему коду удалите break:

import keyboard

while True:
    if keyboard.is_pressed('h'):
        print("H pressed")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...