У меня есть две пользовательские раскладки клавиатуры, одна измененная версия us
(которую я назвал vi
), одна измененная версия dk
(которую я назвал da
).
Оба зарегистрированы правильно, и работают. После моды.
vi
Имеет CapsLock и побег местами идентичен тому , как это делается в capslock(swapescape)
частичной компоновке, и имеет определенную Compose ключа ( <LSGT>
ключ, который unusued в us
на pc105
, но используется для <>\¬
с dk
.)
(Очевидно, vi
это то, что я сделал для Vi-подобных редакторов. Причина, по которой я не просто устанавливаю, caps:swapescape, compose:102
заключается в том, что это также повлияет на dk
макет, а именно - исключение возможности ввода символов <>\¬
.)
Изначально я столкнулся с проблемой, vi
заключавшейся в том, что моя компоновка поменялась местами Capslock и Escape, и это перетекло в исходную dk
компоновку.
Затем я создал da
макет, который пытается исправить это, указав, что Capslock действительно Capslock, а Escape действительно Escape.
И это почти работает. Теперь они оба действуют как Capslock, когда da
выбран макет.
Как мне убедиться, что Escape - это Escape, а Capslock - это Capslock da
, сохраняя при этом измененное поведение vi
?
ETA: Теперь я попытался изменить порядок этих двух макетов (так что макеты читаются da,vi
), и ошибка быстро переключилась: теперь оба из них vi
- Capslock и da
имеют нормальный способ.
Я на Xubuntu 14.04
vi
файл макета:
default partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
name[Group1]= "English (US) with Caps:SwapEscape and Compose:102";
key <TLDE> { [ grave, asciitilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, asciicircum ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ q, Q ] };
key <AD02> { [ w, W ] };
key <AD03> { [ e, E ] };
key <AD04> { [ r, R ] };
key <AD05> { [ t, T ] };
key <AD06> { [ y, Y ] };
key <AD07> { [ u, U ] };
key <AD08> { [ i, I ] };
key <AD09> { [ o, O ] };
key <AD10> { [ p, P ] };
key <AD11> { [ bracketleft, braceleft ] };
key <AD12> { [ bracketright, braceright ] };
key <AC01> { [ a, A ] };
key <AC02> { [ s, S ] };
key <AC03> { [ d, D ] };
key <AC04> { [ f, F ] };
key <AC05> { [ g, G ] };
key <AC06> { [ h, H ] };
key <AC07> { [ j, J ] };
key <AC08> { [ k, K ] };
key <AC09> { [ l, L ] };
key <AC10> { [ semicolon, colon ] };
key <AC11> { [ apostrophe, quotedbl ] };
key <AB01> { [ z, Z ] };
key <AB02> { [ x, X ] };
key <AB03> { [ c, C ] };
key <AB04> { [ v, V ] };
key <AB05> { [ b, B ] };
key <AB06> { [ n, N ] };
key <AB07> { [ m, M ] };
key <AB08> { [ comma, less ] };
key <AB09> { [ period, greater ] };
key <AB10> { [ slash, question ] };
key <BKSL> { [ backslash, bar ] };
key <CAPS> { [ Escape ] };
key <ESC> { [ Caps_Lock ] };
key <LSGT> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
};
da
файл макета:
// based on a keyboard map from an 'xkb/symbols/dk' file
default partial alphanumeric_keys
xkb_symbols "basic" {
include "latin(type2)"
name[Group1]="Danish";
key <AE11> { [ plus, question, plusminus, questiondown ] };
key <AE12> { [dead_acute, dead_grave, bar, brokenbar ] };
key <AC10> { [ ae, AE, dead_acute, dead_doubleacute ] };
key <AC11> { [ oslash, Ooblique, dead_circumflex, dead_caron ] };
key <TLDE> { [ onehalf, section, threequarters, paragraph ] };
key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] };
key <LSGT> { [ less, greater, backslash, notsign ] };
include "kpdl(comma)"
include "level3(ralt_switch)"
key <ESC> { [ Escape ] };
key <CAPS> { [ Caps_Lock ] };
};
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: vi,da
variant: ,
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+vi+da: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+vi+da:2+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};