MappingNotify
Событие, которое X-сервер рассылает всем клиентам при изменении раскладки клавиатуры, модификаторов или кнопок указателя, сообщая, что их кешированные таблицы устарели.
Клиенты сами переводят коды клавиш в keysym, используя копию таблицы сервера, полученную при запуске. Запустите xmodmap или переключите раскладку — и копия неверна; MappingNotify и есть предупреждение. Отказаться от него нельзя: оно приходит всем независимо от маски событий, а поле request говорит, что изменилось: MappingKeyboard, MappingModifier или MappingPointer. Клиент Xlib должен ответить вызовом XRefreshKeyboardMapping и заново получить таблицу.
Отвечают не все. Программы, игнорирующие событие, продолжают толковать клавиши по старой раскладке до перезапуска — классическое объяснение тому, почему один-единственный терминал упорно печатает по-американски после переключения раскладки. Бывает и обратная беда: инструменты, переназначающие клавиши в цикле, вызывают шторм MappingNotify, и каждый клиент на дисплее заново запрашивает таблицу после каждого события.