Набор "исключений"
Это битовая маска, которая указывает - какая информация, связанная с клавишей, "задана точно" (explicit) и не должна изменяться в некоторых случаях. Дело в том, что в core protocol определены команды, с помощью которых программы могут менять "раскладку клавиатуры" внутри клавиатурного модуля X-сервера. Естественно, эти комады меняют только "привязку" символов, поскольку другие "свойства" скан-кодов в core protocol'е не определены.
Для того, чтобы XKB мог при этом поменять и "привязку" других "свойств", в нем предусмотрен специальный механизм - "интерпретации" символов (об этом см.ниже).
Так вот. Набор "исключений" может защитить информацию, связанную с конкретным скан-кодом, именно от таких косвенных изменений.
Если прикладная программа будет пользоваться соответствующим запросами XKB модуля (а не core protocol), такой защиты не требуется.
Итак, с помощью этой маски можно запретить
- изменение типа клавиши (количество уровней) для каждой группы (можно установить запрет для каждой группы поотдельности);
- изменения, которые могут произойти при применнии "интерпретации", при этом можно запретить -
- вообще все изменения, вызываемые "интерпретацией";
- изменение флагов "автоповтор" и "залипание";
- изменение набора виртуальных модификаторов.