Есть ли что-то вроде xinput, но для вывода вместо

#linux #xserver

#linux #xserver

Вопрос:

Я только что узнал, что вы можете использовать xinput для отслеживания нажатий клавиш в приложениях, запущенных на X

Есть ли что-то подобное, но для вывода данных в любое приложение, которому сейчас уделяется основное внимание?

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

например, слушайте все, что происходит в браузере, затем, если вы переключитесь на терминал или свой текстовый редактор, вы сможете повторно использовать некоторые из этих данных.

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

1. Возможно, было бы разумнее реализовать это как библиотеку LD_PRELOAD, но даже это взлом. Еще лучше было бы реализовать это внутри Qt или Gtk или что-то в этом роде.

Ответ №1:

Вы можете отправлять события клавиатуры в приложение X, используя XSendEvent или расширение XTEST. XTEST значительно более мощный, но во многих случаях его приходится включать вручную в конфигурации X server. Смотрите также это и это для получения дополнительной информации и некоторых примеров кода.

Ответ №2:

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

1. недостатком uinput является то, что он довольно неразборчив в отношении того, куда он отправляет свои события — он просто имитирует дополнительную клавиатуру. Для доступа к своему узлу устройства также могут потребоваться права root.