Re: Удобная раскладка для 3-х и более языков.
>> Удобное решение для переключения трех (или скольких угодно) точно
>> такое же, как и для переключения двух: каждой раскладке соответствует
>> своя клавиша (или аккорд).
>
> а как это прикрутить если в xfce?
А что Xfce? У нее с этим какие-то проблемы?
Если нет, то в Иксах для многих популярных вариантов есть заготовки; в частности если бы мне не нужно было, чтобы выключатели раскладок вели себя по-разному в разных окнах, то на свои предпочтения я бы мог просто $ setxkbmap -option 'grp:shift_caps_switch', а то и прописать эту опцию в /etc/default/keyboard.
Если же для того, что вы придумали, искоробочной заготовки нет, то надо будет сформулировать. Тут кто-то предлагал С-1, С-2, С-3, С-4 — это будет выглядеть как-то так (да, XKB многословен):
--8<---------------cut here---------------start------------->8---
partial default xkb_types "mixed" {
virtual_modifiers LevelThree;
type "FOUR_LEVEL+PC_CONTROL" {
modifiers = Shift+LevelThree+Control;
map[None] = Level1;
map[Shift] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[Control] = Level5;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "Control";
};
};
--8<---------------cut here---------------end--------------->8---
--8<---------------cut here---------------start------------->8---
partial modifier_keys
xkb_symbols "group_ctl_1234" {
key <AE01> {
type = "FOUR_LEVEL+PC_CONTROL",
actions = [ NoAction(), NoAction(), NoAction(), NoAction(),
LockGroup(group=1) ]
};
key <AE02> {
type = "FOUR_LEVEL+PC_CONTROL",
actions = [ NoAction(), NoAction(), NoAction(), NoAction(),
LockGroup(group=2) ]
};
key <AE03> {
type = "FOUR_LEVEL+PC_CONTROL",
actions = [ NoAction(), NoAction(), NoAction(), NoAction(),
LockGroup(group=3) ]
};
key <AE04> {
type = "FOUR_LEVEL+PC_CONTROL",
actions = [ NoAction(), NoAction(), NoAction(), NoAction(),
LockGroup(group=4) ]
};
};
--8<---------------cut here---------------end--------------->8---
Reply to: