Python улавливает ввод с клавиатуры в фоновом режиме и обрабатывает его

#python

Вопрос:

В настоящее время я работаю над программой на python, которая должна перехватывать весь ввод с клавиатуры, а затем, в зависимости от заданного ввода, эмулировать ввод с клавиатуры, например, я ввожу букву a, например, в блокнот Windows, моя программа на python улавливает это возвращает эмулированный ввод с клавиатуры, например, b каков был бы лучший способ перехватить ввод с клавиатуры? Я изучил возможность использования модифицированного кейлоггера, однако столкнулся с проблемой, как остановить, например, ввод символа a ?

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

1. Эта библиотека может быть полезна.

2. Либо вы можете использовать библиотеку, как предложил @MadyDaby, либо вы можете создать процесс (os.spawnl), зарегистрировать все нажатия клавиатуры (используя что-то вроде pywin32) и обработать его.

3. Библиотека, предложенная @MadyDaby, довольно хороша, однако проблема все еще в том, что ключ, например «a», все еще вводится до того, как я смогу заменить его на «b». Это может вызвать проблему, так как я буду использовать его, например, в видеоигре, где каждое нажатие клавиши не может быть изменено после того, как оно было сделано.

4. если вы используете Windows, то вы могли бы использовать AutoHotkey вместо Python. В Linux вы можете использовать аналогичную программу AutoKey . Он создан на Python, чтобы вы могли видеть исходный код. Если вы хотите писать с нуля, вы можете использовать упомянутую keyboard или pynput.клавиатуру. Слушатель с pynput.keyboard.Controller

5. в некоторых ситуациях вы можете отправить backspace на удаление a , прежде чем поместить b