1 - моя программа(скоре всего Х-овая и написанная на QT) висит в памяти и при опреленных условиях(например при нажатии на пробел), вознакшней во внешнй программе, должна переключать раскладку клавиатуры(глобально).
2 - та же программа при опреленных условиях, вознакших во внешней программе, должна перехватывать ввод этой программы с клавиатуры, сохранять часть веденного текста в своем "буфере", обрабатывать и возвращать программе.
Как все это сделать?
DESCRIPTION
The xmodmap program is used to edit and display the keyboard modifier
map and keymap table that are used by client applications to convert
event keycodes into keysyms. It is usually run from the user’s session
startup script to configure the keyboard according to personal tastes.
-e expression
This option specifies an expression to be executed. Any number
of expressions may be specified from the command line.
см. также xev - для определения кода клавиш
В KDE была некая приблуда, которая мониторила буффер обмена, в ней можно посмотреть пример перехвата содержимого...
Опыт растет прямо пропорционально выведенному из строя оборудованию
xev здесь не в тему - он отображает события только для своего окна, а нужно перехватывать события для любого окна. Скорее стоит посмотреть код какого-нибудь оконного менеджера попроще.
Да, я был несколько неправ.
xmodmap позволяет сопоставить сканкод и код символа. Известный мне способ обработки символа - это пользовать возможност нормальных WM
Опыт растет прямо пропорционально выведенному из строя оборудованию