Я пытаюсь создать собственный макет в XKB, следуя инструкциям, приведенным в ответах об обмене столами и других учебниках. В файле my есть следующее:
default alphanumeric_keys
xkb_symbols "basic" {
name[Group1]="MyLayout";
key <AC01> { [ UE700 ] };
key <AC02> { [ UE701 ] };
key <AC03> { [ UE702 ] };
key <AC04> { [ UE703 ] };
key <AC05> { [ UE704 ] };
key <AC06> { [ UE705 ] };
key <AC07> { [ UE706 ] };
key <AC08> { [ UE707 ] };
key <AC09> { [ UE708 ] };
key <AC10> { [ UE709 ] };
key <AC11> { [ UE70A ] };
key <AD03> { [ UE70B ] };
};
Я добавил блоки к файлам evdev.lst и evdev.xml:
// evdev.lst
! layout
my MyLayout
us English (US)
// evdev.xml
<layout>
<configItem>
<name>my</name>
<shortDescription>my</shortDescription>
<description>MyLayout</description>
<languageList>
<iso639Id>myl</iso639Id>
</languageList>
</configItem>
<variantList/>
</layout>
Я побежал sudo dpkg-reconfigure xkb-data перед тестированием. Макет отображается в моих системных настройках как MyLayout, и я могу добавить его без видимых проблем. Однако, когда я выбираю его как активный макет, его символ темно-серый, и он ведет себя как макет непосредственно перед ним в раскрывающемся списке. Если мой список идет English (US), Hebrew, MyLayout, мой пользовательский макет будет вести себя точно так же, как иврит. Если я удалю иврит, он будет вести себя точно так же, как английский (США). Я свелся к идеям об этом и не вижу проблемы с моим синтаксисом.
locale is C
Warning! Multiple definitions of keyboard layout
Using command line, ignoring X server
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: my
variant: basic
options: compose:ralt,lv3:caps_switch
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+my(basic)+inet(evdev)+compose(ralt)+level3(caps_switch)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+my(basic)+inet(evdev)+compose(ralt)+level3(caps_switch)" };
xkb_geometry { include "pc(pc105)" };
};