Настройка и работа в Linux

         

Объявление виртуальных модификаторов


Как и в файле типа xkb_types, прежде всего должны быть объявлены виртуальные модификаторы, которые могут встречаться в дальнейших описаниях. Реальные модификаторы (если они также используются) описывать не надо, поскольку, они имеют стандартные названия. А вот виртуальные модификаторы могут иметь произвольные названия, поэтому, для правильной интерпретации остальных записей необходимо сообщить программе, которая будет "разбирать" этот файл, что соответствующие слова являются названиями виртуальных модификаторов.

Объявление виртуальных модификаторов имеет вид

'virtual_modifiers' список модификаторов ';'

Например,

virtual_modifiers NumLock, AltGr ;


Просто перечисляет названия виртуальных модификаторов, которые могут встретиться в описаниях "действий" и в качестве модификатора "привязанного" к клавише.

Имеет вид

'virtual_vodifiers' список_модификаторов ';'

Надо заметить, что обычно ни действия, ни связанные с клавишей виртуальные модификаторы, не "привязываются" непосредственно к скан-кодам. Как правило, они описываются в файле xkb_compat, как часть "интерпретаций". Поэтому, это обявление, обычно, в файлах xkb_symbols не встречается.




Это объявление просто перечисляет - какие виртуальные модификаторы далее могут использоватся в объявлениях типов.

Напомню, что в самом X-сервере (не в модуле XKB) определенны восемь модификаторов - Shift, Lock, Control, Mod1-Mod5, которые в терминах XKB называются "реальными" (real). В дополнение к ним XKB может иметь еще своих 16 модификаторов, которые, соответственно в нем именуются "виртуальными" (virtual). Обычно, в XKB вводятся виртуальные модификаторы NumLock, ScrollLock, Alt, AltGr и т.п.
Назначение модификаторов на конкретные клавиши делается в файле xkb_symbols.

Так вот. В описаниях типа могут фигурировать как реальные, так и виртуальные модификаторы. Поскольку, "реальные" определены "по умолчанию", никаких специальных объявлений для них не требуется. А вот названия "виртуальных" желательно объявить, прежде чем описывать типы.

Объявление виртуальных модификаторов имеет очень простой вид

'virtual_modifiers' список_модификаторов ';'

где "список_модификаторов" - просто перечисление используемых модификаторов через запятую. Например, строчка

virtual_modifiers NumLock, Alt;

говорит о том, что в описаниях типов могут встречаться кроме реальных модификаторов (Shift, Lock и т.д.), также модификаторы NumLock и Alt.



Содержание раздела