IT-словарь › Программирование › MappingNotify

MappingNotify

Программирование Svenska → Обновлено: 2026-10-20

Событие, которое X-сервер рассылает всем клиентам при изменении раскладки клавиатуры, модификаторов или кнопок указателя, сообщая, что их кешированные таблицы устарели.

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

Отвечают не все. Программы, игнорирующие событие, продолжают толковать клавиши по старой раскладке до перезапуска — классическое объяснение тому, почему один-единственный терминал упорно печатает по-американски после переключения раскладки. Бывает и обратная беда: инструменты, переназначающие клавиши в цикле, вызывают шторм MappingNotify, и каждый клиент на дисплее заново запрашивает таблицу после каждого события.

← Назад к словарю