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

         

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


Это объявление заполняет внутреннюю табицу XKB - modmap, которая "привязывает" реальные модификаторы к клавишам (скан-кодам). Напомню, что эти модификаторы будут автоматически устанавливаться/сбрасываться, при нажатии/отпускании клавиши, в "эмулируемом наборе модификаторов".

Объявление имеет вид

'modifier_map' имя_модификатора '{' список_клавиш '};'

Вместо слова "modifier_map" могут использоваться синонимы - modmap или mod_map.

"Имя_модификатора" должно быть названием одного из реальных модификаторов - Shift, Lock, Control, Mod1, Mod2, Mod3, Mod4, Mod5.

А вот "список_клавиш" может состоять из названий скан-кодов (через запятую), например,

modifier_map Control { <LCTL>, <RCTL> };

или из названий символов, например,

modifier_map Mod1 { Alt_L, Alt_R };

Во втором случае, XKB (точнее - xkbcomp) должен найти скан-коды, к которым "привязаны" эти символы и занести в modmap эти скан-коды.

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

только один раз. Это же ограниичение действует, если клавиши предствлены не скан-кодами, а символами.

Однако, как ни странно, xkbcomp не проверяет ситуацию, когда одна и та же клавиша представлена один раз скан-кодом, а другой - символом, или разными символами "привязанными" к одному скан-коду. В этом случае может получиться ситуация, когда к одному скан-коду "привязаны" несколько реальных модификаторов.



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