Таблица действий
Кроме "таблицы символов" к скан-коду может быть "привязана" аналогичная "таблица действий" (actions). Эта таблица также делится на подтаблицы (группы) и колонки (уровни).
В отличие от таблицы символов, которая используется приложением (X-сервер ее только хранит, чтобы сообщить каждому вновь стартующему приложению), таблица действий используется самим сервером.
В ее ячейках располагаются вызовы внутренних процедур XKB, которые меняют его состояние - текущую группу, состояние модификаторов и внутренних флагов XKB.
Точнее - действия, выполняемые actions, не ограничиваются измениями состояния XKB. Они также используются для
- эмуляции событий мыши (перемещения указателя и нажатия mouse buttons)
- генерации специальных events для приложений
- переключения экранов
- выключения X-сервера
- и т.п.
Немного подробнее о всех возможных actions написано в разделе Описание действий.
Если на клавише для группы и позиции в группе определено действие, то для этой же группы и позиции в группе для той же клавиши должен быть определен символ (обычно служебный).
Заметим, что в core-модуле понятия "действие" вообще нет.