Свопинг заглавных букв и Escape и наличия Составляет Ключ только для одной раскладки клавиатуры из многих

Я использую датскую и английскую (американскую) раскладку клавиатуры на клавиатуре со скандинавской геометрией, подразумевая, что она имеет менее ключевое. Я использую датское расположение для досуга и англичан (США) для работы.

Я хотел бы, чтобы этот ключ был, Сочиняют только, когда я использую английское (американское) расположение.

Так же я хотел бы, чтобы Caps Lock и Escape подкачали при тех тех же обстоятельствах.

Таким образом, мне нужен этот переключатель функциональности к, "концептуально зависят" от состояния виджета раскладки клавиатуры. Который, вероятно, означает, что я должен сделать что-то в XKB.

Действительно ли это возможно? Как?

Дополнительная информация:

~$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     dk,us
variant:    ,
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+dk+us:2+inet(evdev)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+dk+us:2+inet(evdev)"    };
    xkb_geometry  { include "pc(pc105)" };
};
0
задан 17 August 2015 в 00:29

1 ответ

Я не могу помочь с xkb, но можно все еще изменить отображение с xmodmap который остается совместимым. Например, если я настроил свою клавиатуру с xkb к, например:

setxkbmap -layout us,fr -option "grp:lctrl_lshift_toggle,compose:102"

и я затем вывожу отображение с

xmodmap -pke | egrep -i 'less|greater|multi|caps|escape'

это перечисляет коды клавиши и keysyms интереса:

keycode   9 = Escape NoSymbol Escape
keycode  59 = comma less semicolon period horizconnector multiply
keycode  60 = period greater colon slash periodcentered division
keycode  66 = Caps_Lock NoSymbol Caps_Lock
keycode  94 = Multi_key Multi_key Multi_key Multi_key
...

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

keycode  25 = w W z Z guillemotleft less

Столбцы в этой строке, кажется: нас, нас-сдвиг, франк, сдвиг франка, франк-altgr, fr-altgr-shift.

Таким образом, Escape в столбце 1 кода клавиши 9 относится к моей клавиатуре в нас режим. Если я хочу Caps_Lock в нас режим, я делаю:

xmodmap -e 'keycode 9 = Caps_Lock NoSymbol Escape'

Изменение должно быть непосредственным. Когда Вы попробовали все изменения, поместили весь новый "код клавиши =" строки в файле и передаете их по каналу в xmodmap - при каждом входе в систему.

1
ответ дан 28 July 2019 в 21:03

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

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