Я пытаюсь ввести нажатия клавиш в демон ввода, чтобы имитировать типизацию из сценария Bash. Возможно ли это, и если да, то как я могу это сделать?
linux
shell-script
keyboard
input
Нафтули Кей
источник
источник
Ответы:
Если вы работаете на уровне X (как в вопросе Жиля), используйте xdotool следующим образом:
Где KEYSTROKE_SPECIFIER может быть что-то вроде «a» или «F2» или «control + j»
РЕДАКТИРОВАТЬ: я пропустил ваш ответ на вопрос Жиля, извините. Я оставлю этот ответ здесь как решение для X-дела.
источник
xte
работает на том же уровне.Используйте
uinput
драйвер. Я не думаю, что есть полезность для этого; вам придется написать или адаптировать немного кода на Си. В двух словах:Более полные ссылки:
источник
Если вы НЕ работаете с программами X с окнами, в которые можно отправлять ключи, вы, вероятно, ищете
expect
удобную и очень настраиваемую программу для запуска других интерактивных программ оболочки, как если бы пользователь управлял терминалом. Вы можете настроить программные ответы для ответа на различные выходные данные с различными входами.источник
Я написал некоторый код Python, который делает это. Вы можете найти это в моем проекте с открытым исходным кодом.
http://code.google.com/p/pycopia/source/browse/trunk/core/pycopia/OS/Linux/event.py
Если вы запустите этот модуль как скрипт от имени пользователя root, вы увидите демонстрацию в действии.
Эта базовая функциональность была расширена для другого проекта, PowerDroid, который обеспечивает более конкретную реализацию для встроенной системы (Android).
http://code.google.com/p/powerdroid/source/browse/trunk/src/droid/devices.py
источник