[если этот пост вообще кому-либо интересен, то только так называемым “программистам”]
вот есть операционная-система-плюс-оконная-оболочка типа “виндоуз”.
а на ней у меня тут бежит так называемый “X Server”, являющийся (скажем, для простоты) оконной оболочкой гораздо другого типа. данная конкретная реализация X (XMing) умеет показывать окошки X-приложений так, что оконная оболочка “виндоуз” не видит ни малейшей разницы между своими “родными” окошками и окошками X-приложений. и это не смотря на то, что X-приложения не имеют ни малейшего понятия о том что их окна показываются оболочкой “виндоуз”; с их точки зрения их окна просто занимают часть прямоугольника определённого размера, умеющего показывать цвета определённой глубины (прямоугольник называется “screen”, кажется). so far, so good.
оконные оболочки, однако же, предоставляют приложениям не только прямоугольный массив пикселей для рисования окошек, но и средства интеракции с пользователем, типа клавиатур и мышей. сигналы мыши из под “виндоуз” передаются X-приложениям без нареканий, а вот с нажатиями на кнопки клавиатуры есть проблема: в окошках X-приложений не получается обычным для “виндоуз” образом переключать раскладки.
при попытке разобраться я нашёл способы устанавливать практически произвольные раскладки для X-приложений (с помощью старого доброго xmodmap, или нового злого xkb). чего я категорически не нашёл, так это способа сказать X-server’у “читай клавиши, получаемые от виндоуз, и не умничай”. я вижу два общих направления для объяснения данного досадного обстоятельства:
1. это технически невозможно, поскольку базовые модели работы с клавиатурой в X и в “виндоуз” категорически не совместимы друг с другом.
2. ни у кого не дошли руки до реализации столь эзотерической возможности.
к сожалению, я совершенно не в теме: я не знаю как работает с клавиатурой “виндоуз”, и я не знаю как работает с клавиатурой X. но хотелось бы как максимум заставить X не умничать, а как минимум понять почему это невозможно. никто не в курсе?