AM> Это оттого, что твой переключатель клавиатурной раскладки посылает
AM> излишние сообщения (MappingNotify/MappingKeyboard). При обработке
AM> этого сообщения происходит (src/event-Xt.c):
AM> case MappingKeyboard: x_reset_key_mapping (d); break;
AM> Нужно избавиться от этого переключателя -- он неправильный (у меня это
AM> был xrus, сейчас я от него избавился). Нужно пользоваться чистым xkb
AM> (с правильным переключателем) или чистым xmodmap.
Так я и пользуюсь xkb без всяких дополнительных примочек. Просто мой WM
помнит, какая xkb group is locked в каждом конкретном окне. При смене
фокуса WM проверяет, отличается ли язык в окне, которое получает фокус, от
языка, выбранного в окне, которое теряет фокус. Если они отличаются, WM
после переключения фокуса переключает текущую xkb group. Т.е., он делает
примерно то же самое, что xxkb, позволяя создать иллюзию того, что в каждом
окне - свой язык.
При этом WM просто вызывает функцию XkbSetLockedGroup, и все. Откуда
берется сообщение - знают только авторы XFree86 :(((((((((
AM> Я не знаю, что произойдет, если удалить вышеуказанную строчку.
И я не знаю :(
Кто-то из присутствующих пользуется xxkb? Есть такие же симптомы?
--
Dmitry Astapov //ADEpt (mail-to: adept(a)umc.com.ua)