Python получает данные из буфера клавиатуры

#python #input #listener #keypress

Вопрос:

Я хочу создать систему на python, которая будет прослушивать нажатия клавиш, и когда я нажму enter, что-то произойдет, зависит от значения команды, которую я пишу.

Как я могу это сделать?

Я пытаюсь написать это:

 import keyboard

def run_buffer(cmd):
    print("nThe buffer value is: {}, The buffer size is: {}".format(cmd, len(cmd)), end="")

buffer = ""
def on_press(e):
    global buffer
    if e.name == "enter": # When I hit enter I need to run the 'command' and emtpy the buffer.
        run_buffer(buffer)
        buffer = ""
    elif e.name == "backspace":
        buffer = buffer[0:-1]
    elif e.name == "f4":
        print("Asd")
    elif len(e.name) == 1:
        buffer  = e.name

keyboard.on_press(on_press)

while True: # This was just for the script has runtime and won't stop immediately.
    a = 0
 

Когда я запускаю скрипт, иногда он работает идеально, но иногда просто слишком поздно, и курсор не соответствует моим ожиданиям.

Я получаю это в консоли

Я надеюсь, что кто-нибудь сможет мне помочь 😀 Спасибо за помощь и извините за мой плохой английский.

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

1. Какую операционную систему вы используете?

2. Windows 10 x64 и используйте Jetbrains Pycharm в качестве среды разработки