Переназначение клавиши для XKB

! за которой следует строка, выполняет самую последнюю предыдущую команду (, все еще находящуюся в командном буфере ), которая началась с данной строки. Может быть, оболочка просто обнаружила, что никакая предыдущая команда не начиналась с .

3
16.03.2020, 20:05
1 ответ

Успешно попробовал следующий новый подход ()

Создан новый файл с именем sclkfileв каталоге /usr/share/X11/xkb/symbols/и добавлено следующее содержимое:

 // Make the Scroll Lock key a left Super.
xkb_symbols "sclk_super" {
    replace key <SCLK> { [ Super_L ] };
    modifier_map  Mod4 { <SCLK> };
};

Добавлено новое правило в/usr/share/X11/xkb/rules/evdev:

sclkoption:sclk_super = +sclkfile(sclk_super)

И описание правила в/usr/share/X11/xkb/rules/evdev.lst:

! option
sclkoption           Scroll Lock behaviour
sclkoption:sclk_super Scroll Lock is Super

И здесь/usr/share/X11/xkb/rules/evdev.xml:

<configItem>
        <name>sclkoption</name>
        <description>Scroll Lock behaviour</description>
</configItem>    
<option>
    <configItem>
        <name>sclkoption:sclk_super</name>
        <description>Scroll Lock is Super</description>
    </configItem>
</option>

Бежать наконец:

$ setxkbmap -option sclkoption:sclk_super

Нет ошибок, и когда я печатаю компоненты моего макета:

$ setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+inet(evdev)+sclkfile(sclk_super)"     };
        xkb_geometry  { include "pc(pc105)"     };
};

Новое правило есть.

Теперь, если я побегуxev:

keycode 78 (keysym 0xffeb, Super_R)

Код клавиши по-прежнему 78, но символ клавиши — Super _R. Успех .

4
28.04.2021, 23:20

Теги

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