#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