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

Первый способ - простой и неудобный


Самый тривиальный способ - сделать две клавиши-переключатели, каждая с двумя состояниями. Одна клавиша переключает "лат./старый рус.", другая - "лат/новый рус.". Или в терминах "номер группы", первая клавиша переключает "group1/group2", другая - "group1/group3".

Выберем два скан-кода и "подвесим" на них "действия" -

key <...> { actions[Group1]= [ LockGroup(group=2) ], actions[Group2]= [ LockGroup(group=1) ] };

key <...> { actions[Group1]= [ LockGroup(group=3) ], actions[Group3]= [ LockGroup(group=1) ] };

Конечно, это - неполное описание. Надо добавить к первой клавише ее "поведение", когда включена группа 3, на тот случай, если мы нажмем ее в ситуации, когда с помощью второго переключателя уже выбрана третья группа. И, соответственно, "поведение" второй клавиши в состоянии "группа 2".

Кроме того, в описании должна быть кроме таблицы "действий" еще и таблица символов. В нашем случае можно использовать специальный "псевдосимвол" - NoSymbol.

Тогда полное описание будет выглядеть как

key <...> { [NoSymbol],[NoSymbol],[NoSymbol], actions[Group1]= [ LockGroup(group=2) ], actions[Group2]= [ LockGroup(group=1) ], actions[Group3]= [ LockGroup(group=1) ] };

key <...> { [NoSymbol],[NoSymbol],[NoSymbol], actions[Group1]= [ LockGroup(group=3) ], actions[Group2]= [ LockGroup(group=1) ], actions[Group3]= [ LockGroup(group=1) ] };

Но, на мой взгляд, такой способ переключения еще более неудобный. (Я же не обещал "хороших" решений :-).
Поэтому, я его даже не пробовал и вам не предлагаю.



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