Макет XKB с модификатором Caps, некоторые комбинации конфликтуют с другими модификаторами

Вставьте это в свой терминал (или поместите на bashrc):

less_cat(){
     [ "$(wc -l <"$1")" -ge "$LINES" ] && less "$1" || less -FX "$1"
}

Теперь вы сможете выполнить:

less_cat /etc/fstab
less_cat /var/log/messages 

И он будет делать именно то, что вы хотите.

ПРИМЕЧАНИЕ:Это решение совместимо с BASH/ZSH (см. комментарии)

Удачи!

2
01.01.2021, 14:02
1 ответ

Мне не удалось заставить его работать с опцией lv3:caps_switch. Только после определения отдельного двухуровневого модификатора для заглавных букв смоделированные клавиши со стрелками работали вместе с другими модификаторами, такими как SUPER.

В качестве основы я использовал макет de,но это должно работать и с другими. Вот мой новый /usr/share/X11/xkb/symbols/customфайл(setxkbmap -layout custom -variant 5layerдля активации):

default partial alphanumeric_keys xkb_symbols "5layer" {

    include "de(basic)"
    include "ansi_hybrid(caps_layer)"
    include "ansi_hybrid(ralt_layers)"

};

partial modifier_keys xkb_symbols "caps_layer" {
    // caps layer key definitions

    replace key <CAPS> {
        type[Group1] = "TWO_LEVEL",
        symbols[Group1] = [ Overlay1_Enable, Overlay1_Enable ],
        actions[Group1] = [ SetControls(controls=Overlay1),
                            SetControls(controls=Overlay1) ]
    };

    key <LatH> { Overlay1 = <LEFT> };
    key <LatJ> { Overlay1 = <DOWN> };
    key <LatK> { Overlay1 = <UP>   };
    key <LatL> { Overlay1 = <RGHT> };

};

partial modifier_keys xkb_symbols "ralt_layers" {
    // base, shift, ralt, shift+ralt layers key definitions

    key <CODE> {   [   base, shift, ralt_base, ralt_shift_symbol    ]   };

};

0
18.03.2021, 22:39

Теги

Похожие вопросы