Я использую датскую и английскую (американскую) раскладку клавиатуры на клавиатуре со скандинавской геометрией, подразумевая, что она имеет менее ключевое. Я использую датское расположение для досуга и англичан (США) для работы.
Я хотел бы, чтобы этот ключ был, Сочиняют только, когда я использую английское (американское) расположение.
Так же я хотел бы, чтобы 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)" };
};
Я не могу помочь с 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 -
при каждом входе в систему.