Проблема с отключением Caps Lock

Я здесь новенький, так что извините, если я сделал что-то не так.

Итак ... Я заметил, что мой колпачок отключается только тогда, когда я отпускаю ключ. Я могу активировать его, просто нажав клавишу, но чтобы выключить, мне нужно отпустить клавишу, которую я нажал. Меня это действительно беспокоит.

Я попытался перейти в файл xkbmap и изменить конфигурацию Caps Lock, вставив

key <CAPS> {
    repeat=no,
    type[group1]="ALPHABETIC",
    symbols[group1]=[ Caps_Lock, Caps_Lock],
    actions[group1]=[ LockMods(modifiers=Lock), Private(type=3,data[0]=1,data[1]=3,data[2]=3)]
};

Но это не сработало.

Кто-нибудь может мне помочь с этим, пожалуйста? Я использую Ubuntu 20.04.

0
задан 19 May 2021 в 22:28

1 ответ

Возможным решением, которое работает для меня, было бы добавление этого определения CAPS LOCK в файл символов из xkb, находящийся в /usr/share/X11/xkb/symbols. Каждая раскладка имеет свой файл, например us, de, fr для американского, немецкого и французского языков соответственно.

FIRST: если вы используете раскладку us, вы можете создать файл пользовательских символов и назвать его как-то вроде custom. В него вы можете поместить свои настройки:

partial xkb_symbols "caps_lock_unlock_patch" {  
    key <CAPS> {
        repeat=no,
        type[group1]="ALPHABETIC",
        symbols[group1]=[ Caps_Lock, Caps_Lock ],
        actions[group1]=[ LockMods(modifiers=Lock), Private(type=3,data[0]=1,data[1]=3,data[2]=3) ]
    };
};

Second: вы переходите к текущему файлу макета и включаете указатель на свои настройки:

default  partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {

    name[Group1]= "English (US)";

    key <TLDE> {    [     grave,    asciitilde  ]   };
    ...
    // rest of customization of basic US file
    ...
    key <BKSL> {    [ backslash,         bar    ]   };
    
    // include your customization here
    include "custom(caps_lock_unlock_patch)"
    // the syntax is include "NAME_OF_FILE(NAME_OF_PARTIAL_SYMBOLS_DEFINITION)"
};

Вы также можете просто добавить чанк непосредственно в файл символов us, но я считаю, что раздельное хранение вещей лучше, особенно если вы хотите применить одну и ту же настройку к нескольким макетам, и пользовательский файл не должен быть перезаписан при обновлении, в то время как файлы по умолчанию могут быть перезаписаны.

Вы также можете создать совершенно новый макет с нуля (например, вы всегда можете включить другие макеты с помощью include "us(basic)", а затем использовать ваш пользовательский макет вместо макетов по умолчанию. Или вы можете управлять макетом, который вы обычно не используете, на случай, если вы захотите иметь возможность переключиться обратно на предпочитаемый макет без какой-либо настройки.

Наконец, совет: избегайте редактировать файлы непосредственно в /usr/share/X11/xkb/, вероятно, всегда лучше создать папку для ваших настроек в вашей домашней папке и символически связать эти файлы с папкой xkb. А если вы изменяете файлы по умолчанию, создайте их копию на случай, если вы что-то напутаете и вам понадобится вернуть изменения.

0
ответ дан 28 July 2021 в 11:38

Другие вопросы по тегам:

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