diff options
Diffstat (limited to 'xorg-server/xkeyboard-config/rules')
18 files changed, 7536 insertions, 7310 deletions
diff --git a/xorg-server/xkeyboard-config/rules/Makefile.am b/xorg-server/xkeyboard-config/rules/Makefile.am index f2d73ce80..dcf9e3d90 100644 --- a/xorg-server/xkeyboard-config/rules/Makefile.am +++ b/xorg-server/xkeyboard-config/rules/Makefile.am @@ -1,236 +1,236 @@ -SUBDIRS = bin compat - -if CREATE_RULES_SYMLINK -# extra_rules_file = $(xkb_rules_symlink) -# extra_dir_file = $(extra_rules_file).xml -# extra_lst_file = $(extra_rules_file).lst - -install-data-hook: - for file in `echo "$(xkb_rules_symlink)" | sed 's/,/ /'` ; do \ - extra_rules_file=$$file ; \ - extra_dir_file=$$extra_rules_file.xml ; \ - extra_lst_file=$$extra_rules_file.lst ; \ - ln -sf base $(DESTDIR)$(rulesdir)/$$extra_rules_file ; \ - ln -sf base.lst $(DESTDIR)$(rulesdir)/$$extra_lst_file ; \ - ln -sf base.xml $(DESTDIR)$(rulesdir)/$$extra_dir_file ; \ - done - -else -install-data-hook: - -endif - -if USE_COMPAT_RULES - -base_parts = base.hdr.part base.lists.part \ -compat/base.lists.part \ -HDR base.m_k.part \ -HDR base.l1_k.part \ -HDR base.l_k.part \ -HDR base.o_k.part \ -HDR base.ml_g.part \ -HDR base.m_g.part \ -HDR compat/base.mlv_s.part base.mlv_s.part \ -HDR compat/base.ml_s.part base.ml_s.part \ -HDR compat/base.ml1_s.part base.ml1_s.part \ -HDR compat/base.ml1v1_s.part \ -HDR compat/base.ml2_s.part base.ml2_s.part \ -HDR compat/base.ml3_s.part base.ml3_s.part \ -HDR compat/base.ml4_s.part base.ml4_s.part \ -HDR compat/base.ml2v2_s.part \ -HDR compat/base.ml3v3_s.part \ -HDR compat/base.ml4v4_s.part \ -HDR base.m_s.part \ -HDR compat/base.lv_c.part \ -HDR compat/base.l1v1_c.part \ -HDR compat/base.l2v2_c.part \ -HDR compat/base.l3v3_c.part \ -HDR compat/base.l4v4_c.part \ -HDR base.ml_c.part \ -HDR base.ml1_c.part \ -HDR base.m_t.part \ -HDR base.lo_s.part \ -HDR base.l1o_s.part \ -HDR base.l2o_s.part \ -HDR base.l3o_s.part \ -HDR base.l4o_s.part \ -HDR compat/base.o_s.part base.o_s.part \ -HDR base.o_c.part \ -HDR base.o_t.part - -evdev_parts = base.hdr.part base.lists.part \ -compat/base.lists.part \ -HDR evdev.m_k.part \ -HDR base.l1_k.part \ -HDR base.l_k.part \ -HDR base.o_k.part \ -HDR base.ml_g.part \ -HDR base.m_g.part \ -HDR compat/base.mlv_s.part base.mlv_s.part \ -HDR compat/base.ml_s.part base.ml_s.part \ -HDR compat/base.ml1_s.part base.ml1_s.part \ -HDR compat/base.ml1v1_s.part \ -HDR compat/base.ml2_s.part base.ml2_s.part \ -HDR compat/base.ml3_s.part base.ml3_s.part \ -HDR compat/base.ml4_s.part base.ml4_s.part \ -HDR compat/base.ml2v2_s.part \ -HDR compat/base.ml3v3_s.part \ -HDR compat/base.ml4v4_s.part \ -HDR evdev.m_s.part \ -HDR compat/base.lv_c.part \ -HDR compat/base.l1v1_c.part \ -HDR compat/base.l2v2_c.part \ -HDR compat/base.l3v3_c.part \ -HDR compat/base.l4v4_c.part \ -HDR base.ml_c.part \ -HDR base.ml1_c.part \ -HDR base.m_t.part \ -HDR base.lo_s.part \ -HDR base.l1o_s.part \ -HDR base.l2o_s.part \ -HDR base.l3o_s.part \ -HDR base.l4o_s.part \ -HDR compat/base.o_s.part base.o_s.part \ -HDR base.o_c.part \ -HDR base.o_t.part - -else - -base_parts = base.hdr.part base.lists.part \ -HDR base.m_k.part \ -HDR base.l1_k.part \ -HDR base.l_k.part \ -HDR \ -HDR base.ml_g.part \ -HDR base.m_g.part \ -HDR base.mlv_s.part \ -HDR base.ml_s.part \ -HDR base.ml1_s.part \ -HDR \ -HDR base.ml2_s.part \ -HDR base.ml3_s.part \ -HDR base.ml4_s.part \ -HDR \ -HDR \ -HDR \ -HDR base.m_s.part \ -HDR \ -HDR \ -HDR \ -HDR \ -HDR \ -HDR base.ml_c.part \ -HDR base.ml1_c.part \ -HDR base.m_t.part \ -HDR \ -HDR base.l1o_s.part \ -HDR base.l2o_s.part \ -HDR base.l3o_s.part \ -HDR base.l4o_s.part \ -HDR base.o_s.part \ -HDR base.o_c.part \ -HDR base.o_t.part - -evdev_parts = base.hdr.part base.lists.part \ -HDR evdev.m_k.part \ -HDR base.l1_k.part \ -HDR base.l_k.part \ -HDR \ -HDR base.ml_g.part \ -HDR base.m_g.part \ -HDR base.mlv_s.part \ -HDR base.ml_s.part \ -HDR base.ml1_s.part \ -HDR \ -HDR base.ml2_s.part \ -HDR base.ml3_s.part \ -HDR base.ml4_s.part \ -HDR \ -HDR \ -HDR \ -HDR evdev.m_s.part \ -HDR \ -HDR \ -HDR \ -HDR \ -HDR \ -HDR base.ml_c.part \ -HDR base.ml1_c.part \ -HDR base.m_t.part \ -HDR \ -HDR base.l1o_s.part \ -HDR base.l2o_s.part \ -HDR base.l3o_s.part \ -HDR base.l4o_s.part \ -HDR base.o_s.part \ -HDR base.o_c.part \ -HDR base.o_t.part - -endif - -all_parts_dist = HDR base.hdr.part \ -base.lists.part \ -base.m_k.part \ -base.l1_k.part \ -base.l_k.part \ -base.o_k.part \ -base.ml_g.part \ -base.m_g.part \ -base.mlv_s.part \ -base.ml_s.part \ -base.ml1_s.part \ -base.ml2_s.part \ -base.ml3_s.part \ -base.ml4_s.part \ -base.m_s.part \ -base.ml_c.part \ -base.ml1_c.part \ -base.m_t.part \ -base.lo_s.part \ -base.l1o_s.part \ -base.l2o_s.part \ -base.l3o_s.part \ -base.l4o_s.part \ -base.o_s.part \ -base.o_c.part \ -base.o_t.part \ -evdev.m_k.part \ -evdev.m_s.part - -rules_files = base evdev xfree98 - -lst_files = base.lst evdev.lst - -%.lst: %.xml - perl $(srcdir)/xml2lst.pl < $< > $@ - -base: $(base_parts) - HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(base_parts) - -evdev: $(evdev_parts) - HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(evdev_parts) - -dist_files = xkb.dtd README - -rules_DATA = $(rules_files) $(lst_files) $(dist_files) - -xml_in_files = base.xml.in evdev.xml.in base.extras.xml.in evdev.extras.xml.in -xml_DATA = $(xml_in_files:.xml.in=.xml) - -$(srcdir)/evdev.xml.in: base.xml.in - cp $< $@ - -$(srcdir)/evdev.extras.xml.in: base.extras.xml.in - cp $< $@ - -EXTRA_DIST= $(xml_in_files) xfree98 \ - $(all_parts_dist) \ - xml2lst.pl merge.sh $(dist_files) - -CLEANFILES = base base.xml base.lst evdev evdev.xml evdev.lst base.extras.xml evdev.extras.xml -MAINTAINERCLEANFILES = $(srcdir)/evdev.xml.in $(srcdir)/evdev.extras.xml.in - -rulesdir = $(xkb_base)/rules -xmldir = $(rulesdir) - -@INTLTOOL_XML_NOMERGE_RULE@ +SUBDIRS = bin compat
+
+if CREATE_RULES_SYMLINK
+# extra_rules_file = $(xkb_rules_symlink)
+# extra_dir_file = $(extra_rules_file).xml
+# extra_lst_file = $(extra_rules_file).lst
+
+install-data-hook:
+ for file in `echo "$(xkb_rules_symlink)" | sed 's/,/ /'` ; do \
+ extra_rules_file=$$file ; \
+ extra_dir_file=$$extra_rules_file.xml ; \
+ extra_lst_file=$$extra_rules_file.lst ; \
+ ln -sf base $(DESTDIR)$(rulesdir)/$$extra_rules_file ; \
+ ln -sf base.lst $(DESTDIR)$(rulesdir)/$$extra_lst_file ; \
+ ln -sf base.xml $(DESTDIR)$(rulesdir)/$$extra_dir_file ; \
+ done
+
+else
+install-data-hook:
+
+endif
+
+if USE_COMPAT_RULES
+
+base_parts = base.hdr.part base.lists.part \
+compat/base.lists.part \
+HDR base.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR base.o_k.part \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR compat/base.mlv_s.part base.mlv_s.part \
+HDR compat/base.ml_s.part base.ml_s.part \
+HDR compat/base.ml1_s.part base.ml1_s.part \
+HDR compat/base.ml1v1_s.part \
+HDR compat/base.ml2_s.part base.ml2_s.part \
+HDR compat/base.ml3_s.part base.ml3_s.part \
+HDR compat/base.ml4_s.part base.ml4_s.part \
+HDR compat/base.ml2v2_s.part \
+HDR compat/base.ml3v3_s.part \
+HDR compat/base.ml4v4_s.part \
+HDR base.m_s.part \
+HDR compat/base.lv_c.part \
+HDR compat/base.l1v1_c.part \
+HDR compat/base.l2v2_c.part \
+HDR compat/base.l3v3_c.part \
+HDR compat/base.l4v4_c.part \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR base.lo_s.part \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR compat/base.o_s.part base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+evdev_parts = base.hdr.part base.lists.part \
+compat/base.lists.part \
+HDR evdev.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR base.o_k.part \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR compat/base.mlv_s.part base.mlv_s.part \
+HDR compat/base.ml_s.part base.ml_s.part \
+HDR compat/base.ml1_s.part base.ml1_s.part \
+HDR compat/base.ml1v1_s.part \
+HDR compat/base.ml2_s.part base.ml2_s.part \
+HDR compat/base.ml3_s.part base.ml3_s.part \
+HDR compat/base.ml4_s.part base.ml4_s.part \
+HDR compat/base.ml2v2_s.part \
+HDR compat/base.ml3v3_s.part \
+HDR compat/base.ml4v4_s.part \
+HDR evdev.m_s.part \
+HDR compat/base.lv_c.part \
+HDR compat/base.l1v1_c.part \
+HDR compat/base.l2v2_c.part \
+HDR compat/base.l3v3_c.part \
+HDR compat/base.l4v4_c.part \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR base.lo_s.part \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR compat/base.o_s.part base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+else
+
+base_parts = base.hdr.part base.lists.part \
+HDR base.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR base.mlv_s.part \
+HDR base.ml_s.part \
+HDR base.ml1_s.part \
+HDR \
+HDR base.ml2_s.part \
+HDR base.ml3_s.part \
+HDR base.ml4_s.part \
+HDR \
+HDR \
+HDR \
+HDR base.m_s.part \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+evdev_parts = base.hdr.part base.lists.part \
+HDR evdev.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR base.mlv_s.part \
+HDR base.ml_s.part \
+HDR base.ml1_s.part \
+HDR \
+HDR base.ml2_s.part \
+HDR base.ml3_s.part \
+HDR base.ml4_s.part \
+HDR \
+HDR \
+HDR \
+HDR evdev.m_s.part \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+endif
+
+all_parts_dist = HDR base.hdr.part \
+base.lists.part \
+base.m_k.part \
+base.l1_k.part \
+base.l_k.part \
+base.o_k.part \
+base.ml_g.part \
+base.m_g.part \
+base.mlv_s.part \
+base.ml_s.part \
+base.ml1_s.part \
+base.ml2_s.part \
+base.ml3_s.part \
+base.ml4_s.part \
+base.m_s.part \
+base.ml_c.part \
+base.ml1_c.part \
+base.m_t.part \
+base.lo_s.part \
+base.l1o_s.part \
+base.l2o_s.part \
+base.l3o_s.part \
+base.l4o_s.part \
+base.o_s.part \
+base.o_c.part \
+base.o_t.part \
+evdev.m_k.part \
+evdev.m_s.part
+
+rules_files = base evdev xfree98
+
+lst_files = base.lst evdev.lst
+
+%.lst: %.xml
+ perl $(srcdir)/xml2lst.pl < $< > $@
+
+base: $(base_parts)
+ HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(base_parts)
+
+evdev: $(evdev_parts)
+ HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(evdev_parts)
+
+dist_files = xkb.dtd README
+
+rules_DATA = $(rules_files) $(lst_files) $(dist_files)
+
+xml_in_files = base.xml.in evdev.xml.in base.extras.xml.in evdev.extras.xml.in
+xml_DATA = $(xml_in_files:.xml.in=.xml)
+
+$(srcdir)/evdev.xml.in: base.xml.in
+ cp $< $@
+
+$(srcdir)/evdev.extras.xml.in: base.extras.xml.in
+ cp $< $@
+
+EXTRA_DIST= $(xml_in_files) xfree98 \
+ $(all_parts_dist) \
+ xml2lst.pl merge.sh $(dist_files)
+
+CLEANFILES = base base.xml base.lst evdev evdev.xml evdev.lst base.extras.xml evdev.extras.xml
+MAINTAINERCLEANFILES = $(srcdir)/evdev.xml.in $(srcdir)/evdev.extras.xml.in
+
+rulesdir = $(xkb_base)/rules
+xmldir = $(rulesdir)
+
+@INTLTOOL_XML_NOMERGE_RULE@
diff --git a/xorg-server/xkeyboard-config/rules/base.extras.xml.in b/xorg-server/xkeyboard-config/rules/base.extras.xml.in index 60eafdd9d..f845488e0 100644 --- a/xorg-server/xkeyboard-config/rules/base.extras.xml.in +++ b/xorg-server/xkeyboard-config/rules/base.extras.xml.in @@ -1,194 +1,194 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd"> -<xkbConfigRegistry> - <modelList/> - <layoutList> - <layout> - <configItem> - <name>apl</name> - <_shortDescription>APL</_shortDescription> - <_description>APL</_description> - <languageList><iso639Id>eng</iso639Id></languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>ir</name> - <_shortDescription>Iran</_shortDescription> - <_description>Iran</_description> - <languageList><iso639Id>per</iso639Id></languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>ave</name> - <_description>Avestan</_description> - <languageList><iso639Id>ave</iso639Id></languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>lt</name> - <_shortDescription>Ltu</_shortDescription> - <_description>Lithuanian</_description> - <languageList><iso639Id>lit</iso639Id></languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>dvorak</name> - <_description>Lithuanian (Dvorak)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>lv</name> - <_shortDescription>lv</_shortDescription> - <_description>Latvian</_description> - <languageList> - <iso639Id>lav</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>dvorak</name> - <_description>Latvian (US Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ykeydvorak</name> - <_description>Latvian (US Dvorak, Y-letter variant)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>minuskeydvorak</name> - <_description>Latvian (US Dvorak, minus-letter variant)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorakprogr</name> - <_description>Latvian (programmer US Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ykeydvorakprogr</name> - <_description>Latvian (programmer US Dvorak, Y-letter variant)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>minuskeydvorakprogr</name> - <_description>Latvian (programmer US Dvorak - minus-letter variant)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>colemak</name> - <_description>Latvian (US Colemak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>apostrophecolemak</name> - <_description>Latvian (US Colemak, apostrophe variant)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>us</name> - <_shortDescription>USA</_shortDescription> - <_description>USA</_description> - <languageList><iso639Id>eng</iso639Id></languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>intl-unicode</name> - <_description>English (US, international (AltGr Unicode combining)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>alt-intl-unicode</name> - <_description>English (US, international AltGr Unicode combining, alternative)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ats</name> - <_description>Atsina</_description> - <!-- No ISO code in ISO639-2, only draft ISO693-3 --> - </configItem> - </variant> - <variant> - <configItem> - <name>crd</name> - <_description>Couer D'alene Salish</_description> - <languageList><iso639Id>crd</iso639Id></languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ro</name> - <_shortDescription>Rou</_shortDescription> - <_description>Romanian</_description> - <languageList><iso639Id>rum</iso639Id></languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>ergonomic</name> - <_description>Romanian (ergonomic Touchtype)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>rs</name> - <_shortDescription>Srb</_shortDescription> - <_description>Serbia</_description> - <languageList><iso639Id>srp</iso639Id></languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>combiningkeys</name> - <_description>Serbian (combining accents instead of dead keys)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ru</name> - <_shortDescription>Rus</_shortDescription> - <_description>Russian</_description> - </configItem> - <variantList> - <variant> - <configItem> - <name>chu</name> - <description>Church Slavonic</description> - <languageList><iso639Id>chu</iso639Id></languageList> - </configItem> - </variant> - </variantList> - </layout> - </layoutList> - <optionList/> -</xkbConfigRegistry> +<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
+<xkbConfigRegistry>
+ <modelList/>
+ <layoutList>
+ <layout>
+ <configItem>
+ <name>apl</name>
+ <_shortDescription>APL</_shortDescription>
+ <_description>APL</_description>
+ <languageList><iso639Id>eng</iso639Id></languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ir</name>
+ <_shortDescription>Iran</_shortDescription>
+ <_description>Iran</_description>
+ <languageList><iso639Id>per</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>ave</name>
+ <_description>Avestan</_description>
+ <languageList><iso639Id>ave</iso639Id></languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>lt</name>
+ <_shortDescription>Ltu</_shortDescription>
+ <_description>Lithuanian</_description>
+ <languageList><iso639Id>lit</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Lithuanian (Dvorak)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>lv</name>
+ <_shortDescription>lv</_shortDescription>
+ <_description>Latvian</_description>
+ <languageList>
+ <iso639Id>lav</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Latvian (US Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ykeydvorak</name>
+ <_description>Latvian (US Dvorak, Y-letter variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>minuskeydvorak</name>
+ <_description>Latvian (US Dvorak, minus-letter variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorakprogr</name>
+ <_description>Latvian (programmer US Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ykeydvorakprogr</name>
+ <_description>Latvian (programmer US Dvorak, Y-letter variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>minuskeydvorakprogr</name>
+ <_description>Latvian (programmer US Dvorak - minus-letter variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>colemak</name>
+ <_description>Latvian (US Colemak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>apostrophecolemak</name>
+ <_description>Latvian (US Colemak, apostrophe variant)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>us</name>
+ <_shortDescription>USA</_shortDescription>
+ <_description>USA</_description>
+ <languageList><iso639Id>eng</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>intl-unicode</name>
+ <_description>English (US, international (AltGr Unicode combining)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>alt-intl-unicode</name>
+ <_description>English (US, international AltGr Unicode combining, alternative)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ats</name>
+ <_description>Atsina</_description>
+ <!-- No ISO code in ISO639-2, only draft ISO693-3 -->
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>crd</name>
+ <_description>Couer D'alene Salish</_description>
+ <languageList><iso639Id>crd</iso639Id></languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ro</name>
+ <_shortDescription>Rou</_shortDescription>
+ <_description>Romanian</_description>
+ <languageList><iso639Id>rum</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>ergonomic</name>
+ <_description>Romanian (ergonomic Touchtype)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>rs</name>
+ <_shortDescription>Srb</_shortDescription>
+ <_description>Serbia</_description>
+ <languageList><iso639Id>srp</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>combiningkeys</name>
+ <_description>Serbian (combining accents instead of dead keys)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ru</name>
+ <_shortDescription>Rus</_shortDescription>
+ <_description>Russian</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>chu</name>
+ <description>Church Slavonic</description>
+ <languageList><iso639Id>chu</iso639Id></languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ </layoutList>
+ <optionList/>
+</xkbConfigRegistry>
diff --git a/xorg-server/xkeyboard-config/rules/base.ml_s.part b/xorg-server/xkeyboard-config/rules/base.ml_s.part index 5d3b46d61..50ad6e57f 100644 --- a/xorg-server/xkeyboard-config/rules/base.ml_s.part +++ b/xorg-server/xkeyboard-config/rules/base.ml_s.part @@ -1,41 +1,41 @@ - ataritt $nonlatin = xfree68_vndr/ataritt(us)+%l%(v):2 - ataritt * = xfree68_vndr/ataritt(us)+%l%(v) - amiga $nonlatin = xfree68_vndr/amiga(usa1)+%l%(v):2 - amiga * = xfree68_vndr/amiga(usa1)+%l%(v) - classmate us = pc+%l(classmate) - empty * = empty(basic) - * empty = empty(basic) - sun4 $nonlatin = latin+sun_vndr/us(type4)+%l%(v):2 - sun4 * = latin+sun_vndr/us(type4)+%l%(v) - sun5 $nonlatin = latin+sun_vndr/us(type5)+%l%(v):2 - sun5 * = latin+sun_vndr/us(type5)+%l%(v) - sun6 us = pc+sun_vndr/us(type6) - sun6 en_US = pc+sun_vndr/us(type6)+iso9995-3(basic) - sun6 $sun_t6_custom = pc+sun_vndr/us(type6)+sun_vndr/%l%(v) - sun6 * = pc+sun_vndr/us(type6)+%l%(v) - sun6euro us = pc+sun_vndr/us(type6) - sun6euro en_US = pc+sun_vndr/us(type6)+iso9995-3(basic) - sun6euro $sun_t6_custom = pc+sun_vndr/us(type6)+sun_vndr/%l%(v) - sun6euro * = pc+sun_vndr/us(type6)+%l%(v) - pc98 nec_vndr/jp = nec_vndr/jp(pc98) - macintosh_old us = macintosh_vndr/us(oldmac) - macintosh_old en_US = macintosh_vndr/us(oldmac) - macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v) - macintosh_old $nonlatin = macintosh_vndr/us(oldmac)+%l%(v):2 - macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v) - applealu_jis jp = macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2 - applealu_jis * = macintosh_vndr/apple(alukbd)+%l%(v)+macintosh_vndr/jp(mac):2 - $applealu $macvendorlayouts = macintosh_vndr/apple(alukbd)+macintosh_vndr/%l%(v) - $applealu * = macintosh_vndr/apple(alukbd)+%l%(v) - $macs en_US = pc+macintosh_vndr/us(extended) - $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) - nokiarx44 * = nokia_vndr/rx-44(%l) - nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty) - nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l%_v) - nokiasu8w * = nokia_vndr/su-8w(%l) - olpc $olpclayouts = olpc+%l%(m) - olpc * = olpc+%l%(v) - $thinkpads br = pc+br(thinkpad) - htcdream $htcdreamlayouts = %l(htcdream) - * $nonlatin = pc+us+%l%(v):2 - * * = pc+%l%(v) + ataritt $nonlatin = xfree68_vndr/ataritt(us)+%l%(v):2
+ ataritt * = xfree68_vndr/ataritt(us)+%l%(v)
+ amiga $nonlatin = xfree68_vndr/amiga(usa1)+%l%(v):2
+ amiga * = xfree68_vndr/amiga(usa1)+%l%(v)
+ classmate us = pc+%l(classmate)
+ empty * = empty(basic)
+ * empty = empty(basic)
+ sun4 $nonlatin = latin+sun_vndr/us(type4)+%l%(v):2
+ sun4 * = latin+sun_vndr/us(type4)+%l%(v)
+ sun5 $nonlatin = latin+sun_vndr/us(type5)+%l%(v):2
+ sun5 * = latin+sun_vndr/us(type5)+%l%(v)
+ sun6 us = pc+sun_vndr/us(type6)
+ sun6 en_US = pc+sun_vndr/us(type6)+iso9995-3(basic)
+ sun6 $sun_t6_custom = pc+sun_vndr/us(type6)+sun_vndr/%l%(v)
+ sun6 * = pc+sun_vndr/us(type6)+%l%(v)
+ sun6euro us = pc+sun_vndr/us(type6)
+ sun6euro en_US = pc+sun_vndr/us(type6)+iso9995-3(basic)
+ sun6euro $sun_t6_custom = pc+sun_vndr/us(type6)+sun_vndr/%l%(v)
+ sun6euro * = pc+sun_vndr/us(type6)+%l%(v)
+ pc98 nec_vndr/jp = nec_vndr/jp(pc98)
+ macintosh_old us = macintosh_vndr/us(oldmac)
+ macintosh_old en_US = macintosh_vndr/us(oldmac)
+ macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v)
+ macintosh_old $nonlatin = macintosh_vndr/us(oldmac)+%l%(v):2
+ macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v)
+ applealu_jis jp = macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2
+ applealu_jis * = macintosh_vndr/apple(alukbd)+%l%(v)+macintosh_vndr/jp(mac):2
+ $applealu $macvendorlayouts = macintosh_vndr/apple(alukbd)+macintosh_vndr/%l%(v)
+ $applealu * = macintosh_vndr/apple(alukbd)+%l%(v)
+ $macs en_US = pc+macintosh_vndr/us(extended)
+ $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v)
+ nokiarx44 * = nokia_vndr/rx-44(%l)
+ nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
+ nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l%_v)
+ nokiasu8w * = nokia_vndr/su-8w(%l)
+ olpc $olpclayouts = olpc+%l%(m)
+ olpc * = olpc+%l%(v)
+ $thinkpads br = pc+br(thinkpad)
+ htcdream $htcdreamlayouts = %l(htcdream)
+ * $nonlatin = pc+us+%l%(v):2
+ * * = pc+%l%(v)
diff --git a/xorg-server/xkeyboard-config/rules/base.o_s.part b/xorg-server/xkeyboard-config/rules/base.o_s.part index 3e23396da..fc01ea82e 100644 --- a/xorg-server/xkeyboard-config/rules/base.o_s.part +++ b/xorg-server/xkeyboard-config/rules/base.o_s.part @@ -1,143 +1,143 @@ - altwin:menu = +altwin(menu) - altwin:meta_alt = +altwin(meta_alt) - altwin:ctrl_win = +altwin(ctrl_win) - altwin:ctrl_alt_win = +altwin(ctrl_alt_win) - altwin:meta_win = +altwin(meta_win) - altwin:left_meta_win = +altwin(left_meta_win) - altwin:hyper_win = +altwin(hyper_win) - altwin:alt_super_win = +altwin(alt_super_win) - altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin) - grp:switch = +group(switch) - grp:lswitch = +group(lswitch) - grp:win_switch = +group(win_switch) - grp:lwin_switch = +group(lwin_switch) - grp:rwin_switch = +group(rwin_switch) - grp:toggle = +group(toggle) - grp:shifts_toggle = +group(shifts_toggle) - grp:ctrls_toggle = +group(ctrls_toggle) - grp:alts_toggle = +group(alts_toggle) - grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) - grp:lctrl_lshift_toggle = +group(lctrl_lshift_toggle) - grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle) - grp:caps_toggle = +capslock(grouplock) - grp:caps_switch = +capslock(groupshift) - grp:shift_caps_toggle = +group(shift_caps_toggle) - grp:shift_caps_switch = +group(shift_caps_switch) - grp:win_menu_switch = +group(win_menu_switch) - grp:alt_caps_toggle = +group(alt_caps_toggle) - grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) - grp:alt_shift_toggle = +group(alt_shift_toggle) - grp:alt_space_toggle = +group(alt_space_toggle) - grp:menu_toggle = +group(menu_toggle) - grp:lwin_toggle = +group(lwin_toggle) - grp:rwin_toggle = +group(rwin_toggle) - grp:lshift_toggle = +group(lshift_toggle) - grp:rshift_toggle = +group(rshift_toggle) - grp:rctrl_switch = +group(rctrl_switch) - grp:lctrl_toggle = +group(lctrl_toggle) - grp:rctrl_toggle = +group(rctrl_toggle) - grp:lalt_toggle = +group(lalt_toggle) - grp:sclk_toggle = +group(sclk_toggle) - grp:lctrl_rctrl_switch = +group(lctrl_rctrl_switch) - grp:lctrl_lwin_rctrl_menu = +group(lctrl_lwin_rctrl_menu) - lv3:switch = +level3(switch) - lv3:ralt_switch = +level3(ralt_switch) - lv3:ralt_switch_multikey = +level3(ralt_switch_multikey) - lv3:ralt_alt = +level3(ralt_alt) - lv3:lalt_switch = +level3(lalt_switch) - lv3:alt_switch = +level3(alt_switch) - lv3:menu_switch = +level3(menu_switch) - lv3:win_switch = +level3(win_switch) - lv3:lwin_switch = +level3(lwin_switch) - lv3:rwin_switch = +level3(rwin_switch) - lv3:enter_switch = +level3(enter_switch) - caps:capslock = +capslock(capslock) - caps:numlock = +capslock(numlock) - caps:shiftlock = +capslock(shiftlock) - caps:swapescape = +capslock(swapescape) - caps:escape = +capslock(escape) - caps:backspace = +capslock(backspace) - caps:super = +capslock(super) - caps:hyper = +capslock(hyper) - caps:none = +capslock(none) - caps:ctrl_modifier = +capslock(ctrl_modifier) - ctrl:nocaps = +ctrl(nocaps) - ctrl:lctrl_meta = +ctrl(lctrl_meta) - ctrl:swapcaps = +ctrl(swapcaps) - ctrl:ctrl_ac = +ctrl(ctrl_ac) - ctrl:ctrl_aa = +ctrl(ctrl_aa) - ctrl:ctrl_ra = +ctrl(ctrl_ra) - ctrl:ctrl_menu = +ctrl(ctrl_menu) - compose:ralt = +compose(ralt) - compose:lwin = +compose(lwin) - compose:rwin = +compose(rwin) - compose:menu = +compose(menu) - compose:lctrl = +compose(lctrl) - compose:rctrl = +compose(rctrl) - compose:caps = +compose(caps) - compose:102 = +compose(102) - compose:paus = +compose(paus) - compose:prsc = +compose(prsc) - compose:sclk = +compose(sclk) - srvrkeys:none = +srvr_ctrl(no_srvr_keys) - eurosign:e = +eurosign(e) - eurosign:2 = +eurosign(2) - eurosign:4 = +eurosign(4) - eurosign:5 = +eurosign(5) - rupeesign:4 = +rupeesign(4) - keypad:oss = +keypad(oss) - keypad:legacy = +keypad(legacy) - keypad:legacy_wang = +keypad(legacy_wang) - keypad:oss_wang = +keypad(oss_wang) - keypad:future = +keypad(future) - keypad:future_wang = +keypad(future_wang) - keypad:hex = +keypad(ops)+keypad(hex) - keypad:atm = +keypad(ops)+keypad(hex)+keypad(atm) - nbsp:none = +nbsp(none) - nbsp:level2 = +nbsp(level2) - nbsp:level3 = +nbsp(level3) - nbsp:level3s = +nbsp(level3s) - nbsp:level3n = +nbsp(level3n) - nbsp:level4 = +nbsp(level4) - nbsp:level4n = +nbsp(level4n) - nbsp:level4nl = +nbsp(level4nl) - japan:nicola_f_bs = +jp(nicola_f_bs) - kpdl:dot = +kpdl(dot) - kpdl:comma = +kpdl(comma) - kpdl:dotoss = +kpdl(dotoss) - kpdl:dotoss_latin9 = +kpdl(dotoss_latin9) - kpdl:commaoss = +kpdl(commaoss) - kpdl:momayyezoss = +kpdl(momayyezoss) - kpdl:kposs = +kpdl(kposs) - kpdl:semi = +kpdl(semi) - shift:breaks_caps = +shift(breaks_caps) - esperanto:qwerty = +epo(qwerty) - esperanto:dvorak = +epo(dvorak) - terminate:ctrl_alt_bksp = +terminate(ctrl_alt_bksp) - keypad:pointerkeys = +keypad(pointerkeys) - apple:alupckeys = +macintosh_vndr/apple(alupckeys) - shift:both_capslock = +shift(both_capslock) - shift:lshift_both_capslock = +shift(lshift_both_capslock) - shift:rshift_both_capslock = +shift(rshift_both_capslock) - shift:both_capslock_cancel = +shift(both_capslock_cancel) - shift:lshift_both_capslock_cancel = +shift(lshift_both_capslock_cancel) - shift:rshift_both_capslock_cancel = +shift(rshift_both_capslock_cancel) - shift:both_shiftlock = +shift(both_shiftlock) - shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock) - shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock) - lv3:caps_switch = +level3(caps_switch) - lv3:bksl_switch = +level3(bksl_switch) - lv3:lsgt_switch = +level3(lsgt_switch) - lv3:caps_switch_latch = +level3(caps_switch_latch) - lv3:bksl_switch_latch = +level3(bksl_switch_latch) - lv3:lsgt_switch_latch = +level3(lsgt_switch_latch) - lv5:lsgt_switch_lock = +level5(lsgt_switch_lock) - lv5:ralt_switch_lock = +level5(ralt_switch_lock) - lv5:lwin_switch_lock = +level5(lwin_switch_lock) - lv5:rwin_switch_lock = +level5(rwin_switch_lock) - lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel) - lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel) - lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel) - lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel) - - + altwin:menu = +altwin(menu)
+ altwin:meta_alt = +altwin(meta_alt)
+ altwin:ctrl_win = +altwin(ctrl_win)
+ altwin:ctrl_alt_win = +altwin(ctrl_alt_win)
+ altwin:meta_win = +altwin(meta_win)
+ altwin:left_meta_win = +altwin(left_meta_win)
+ altwin:hyper_win = +altwin(hyper_win)
+ altwin:alt_super_win = +altwin(alt_super_win)
+ altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin)
+ grp:switch = +group(switch)
+ grp:lswitch = +group(lswitch)
+ grp:win_switch = +group(win_switch)
+ grp:lwin_switch = +group(lwin_switch)
+ grp:rwin_switch = +group(rwin_switch)
+ grp:toggle = +group(toggle)
+ grp:shifts_toggle = +group(shifts_toggle)
+ grp:ctrls_toggle = +group(ctrls_toggle)
+ grp:alts_toggle = +group(alts_toggle)
+ grp:ctrl_shift_toggle = +group(ctrl_shift_toggle)
+ grp:lctrl_lshift_toggle = +group(lctrl_lshift_toggle)
+ grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle)
+ grp:caps_toggle = +capslock(grouplock)
+ grp:caps_switch = +capslock(groupshift)
+ grp:shift_caps_toggle = +group(shift_caps_toggle)
+ grp:shift_caps_switch = +group(shift_caps_switch)
+ grp:win_menu_switch = +group(win_menu_switch)
+ grp:alt_caps_toggle = +group(alt_caps_toggle)
+ grp:ctrl_alt_toggle = +group(ctrl_alt_toggle)
+ grp:alt_shift_toggle = +group(alt_shift_toggle)
+ grp:alt_space_toggle = +group(alt_space_toggle)
+ grp:menu_toggle = +group(menu_toggle)
+ grp:lwin_toggle = +group(lwin_toggle)
+ grp:rwin_toggle = +group(rwin_toggle)
+ grp:lshift_toggle = +group(lshift_toggle)
+ grp:rshift_toggle = +group(rshift_toggle)
+ grp:rctrl_switch = +group(rctrl_switch)
+ grp:lctrl_toggle = +group(lctrl_toggle)
+ grp:rctrl_toggle = +group(rctrl_toggle)
+ grp:lalt_toggle = +group(lalt_toggle)
+ grp:sclk_toggle = +group(sclk_toggle)
+ grp:lctrl_rctrl_switch = +group(lctrl_rctrl_switch)
+ grp:lctrl_lwin_rctrl_menu = +group(lctrl_lwin_rctrl_menu)
+ lv3:switch = +level3(switch)
+ lv3:ralt_switch = +level3(ralt_switch)
+ lv3:ralt_switch_multikey = +level3(ralt_switch_multikey)
+ lv3:ralt_alt = +level3(ralt_alt)
+ lv3:lalt_switch = +level3(lalt_switch)
+ lv3:alt_switch = +level3(alt_switch)
+ lv3:menu_switch = +level3(menu_switch)
+ lv3:win_switch = +level3(win_switch)
+ lv3:lwin_switch = +level3(lwin_switch)
+ lv3:rwin_switch = +level3(rwin_switch)
+ lv3:enter_switch = +level3(enter_switch)
+ caps:capslock = +capslock(capslock)
+ caps:numlock = +capslock(numlock)
+ caps:shiftlock = +capslock(shiftlock)
+ caps:swapescape = +capslock(swapescape)
+ caps:escape = +capslock(escape)
+ caps:backspace = +capslock(backspace)
+ caps:super = +capslock(super)
+ caps:hyper = +capslock(hyper)
+ caps:none = +capslock(none)
+ caps:ctrl_modifier = +capslock(ctrl_modifier)
+ ctrl:nocaps = +ctrl(nocaps)
+ ctrl:lctrl_meta = +ctrl(lctrl_meta)
+ ctrl:swapcaps = +ctrl(swapcaps)
+ ctrl:ctrl_ac = +ctrl(ctrl_ac)
+ ctrl:ctrl_aa = +ctrl(ctrl_aa)
+ ctrl:ctrl_ra = +ctrl(ctrl_ra)
+ ctrl:ctrl_menu = +ctrl(ctrl_menu)
+ compose:ralt = +compose(ralt)
+ compose:lwin = +compose(lwin)
+ compose:rwin = +compose(rwin)
+ compose:menu = +compose(menu)
+ compose:lctrl = +compose(lctrl)
+ compose:rctrl = +compose(rctrl)
+ compose:caps = +compose(caps)
+ compose:102 = +compose(102)
+ compose:paus = +compose(paus)
+ compose:prsc = +compose(prsc)
+ compose:sclk = +compose(sclk)
+ srvrkeys:none = +srvr_ctrl(no_srvr_keys)
+ eurosign:e = +eurosign(e)
+ eurosign:2 = +eurosign(2)
+ eurosign:4 = +eurosign(4)
+ eurosign:5 = +eurosign(5)
+ rupeesign:4 = +rupeesign(4)
+ keypad:oss = +keypad(oss)
+ keypad:legacy = +keypad(legacy)
+ keypad:legacy_wang = +keypad(legacy_wang)
+ keypad:oss_wang = +keypad(oss_wang)
+ keypad:future = +keypad(future)
+ keypad:future_wang = +keypad(future_wang)
+ keypad:hex = +keypad(ops)+keypad(hex)
+ keypad:atm = +keypad(ops)+keypad(hex)+keypad(atm)
+ nbsp:none = +nbsp(none)
+ nbsp:level2 = +nbsp(level2)
+ nbsp:level3 = +nbsp(level3)
+ nbsp:level3s = +nbsp(level3s)
+ nbsp:level3n = +nbsp(level3n)
+ nbsp:level4 = +nbsp(level4)
+ nbsp:level4n = +nbsp(level4n)
+ nbsp:level4nl = +nbsp(level4nl)
+ japan:nicola_f_bs = +jp(nicola_f_bs)
+ kpdl:dot = +kpdl(dot)
+ kpdl:comma = +kpdl(comma)
+ kpdl:dotoss = +kpdl(dotoss)
+ kpdl:dotoss_latin9 = +kpdl(dotoss_latin9)
+ kpdl:commaoss = +kpdl(commaoss)
+ kpdl:momayyezoss = +kpdl(momayyezoss)
+ kpdl:kposs = +kpdl(kposs)
+ kpdl:semi = +kpdl(semi)
+ shift:breaks_caps = +shift(breaks_caps)
+ esperanto:qwerty = +epo(qwerty)
+ esperanto:dvorak = +epo(dvorak)
+ terminate:ctrl_alt_bksp = +terminate(ctrl_alt_bksp)
+ keypad:pointerkeys = +keypad(pointerkeys)
+ apple:alupckeys = +macintosh_vndr/apple(alupckeys)
+ shift:both_capslock = +shift(both_capslock)
+ shift:lshift_both_capslock = +shift(lshift_both_capslock)
+ shift:rshift_both_capslock = +shift(rshift_both_capslock)
+ shift:both_capslock_cancel = +shift(both_capslock_cancel)
+ shift:lshift_both_capslock_cancel = +shift(lshift_both_capslock_cancel)
+ shift:rshift_both_capslock_cancel = +shift(rshift_both_capslock_cancel)
+ shift:both_shiftlock = +shift(both_shiftlock)
+ shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock)
+ shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock)
+ lv3:caps_switch = +level3(caps_switch)
+ lv3:bksl_switch = +level3(bksl_switch)
+ lv3:lsgt_switch = +level3(lsgt_switch)
+ lv3:caps_switch_latch = +level3(caps_switch_latch)
+ lv3:bksl_switch_latch = +level3(bksl_switch_latch)
+ lv3:lsgt_switch_latch = +level3(lsgt_switch_latch)
+ lv5:lsgt_switch_lock = +level5(lsgt_switch_lock)
+ lv5:ralt_switch_lock = +level5(ralt_switch_lock)
+ lv5:lwin_switch_lock = +level5(lwin_switch_lock)
+ lv5:rwin_switch_lock = +level5(rwin_switch_lock)
+ lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel)
+ lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel)
+ lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel)
+ lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel)
+
+
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in index 3f26331cb..74666dcd3 100644 --- a/xorg-server/xkeyboard-config/rules/base.xml.in +++ b/xorg-server/xkeyboard-config/rules/base.xml.in @@ -1,6242 +1,6242 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd"> -<xkbConfigRegistry version="1.1"> - <modelList> - <model> - <configItem> - <name>pc101</name> - <_description>Generic 101-key PC</_description> - <vendor>Generic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>pc102</name> - <_description>Generic 102-key (Intl) PC</_description> - <vendor>Generic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>pc104</name> - <_description>Generic 104-key PC</_description> - <vendor>Generic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>pc105</name> - <_description>Generic 105-key (Intl) PC</_description> - <vendor>Generic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>dell101</name> - <_description>Dell 101-key PC</_description> - <vendor>Dell</vendor> - </configItem> - </model> - <model> - <configItem> - <name>latitude</name> - <_description>Dell Latitude series laptop</_description> - <vendor>Dell</vendor> - </configItem> - </model> - <model> - <configItem> - <name>dellm65</name> - <_description>Dell Precision M65</_description> - <vendor>Dell</vendor> - </configItem> - </model> - <model> - <configItem> - <name>everex</name> - <_description>Everex STEPnote</_description> - <vendor>Everex</vendor> - </configItem> - </model> - <model> - <configItem> - <name>flexpro</name> - <_description>Keytronic FlexPro</_description> - <vendor>Keytronic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoft</name> - <_description>Microsoft Natural</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>omnikey101</name> - <_description>Northgate OmniKey 101</_description> - <vendor>Northgate</vendor> - </configItem> - </model> - <model> - <configItem> - <name>winbook</name> - <_description>Winbook Model XP5</_description> - <vendor>Generic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>pc98</name> - <_description>PC-98xx Series</_description> - <vendor>Generic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>a4techKB21</name> - <_description>A4Tech KB-21</_description> - <vendor>A4Tech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>a4techKBS8</name> - <_description>A4Tech KBS-8</_description> - <vendor>A4Tech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>a4_rfkb23</name> - <_description>A4Tech Wireless Desktop RFKB-23</_description> - <vendor>A4Tech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>airkey</name> - <_description>Acer AirKey V</_description> - <vendor>Acer</vendor> - </configItem> - </model> - <model> - <configItem> - <name>azonaRF2300</name> - <_description>Azona RF2300 wireless Internet Keyboard</_description> - <vendor>Azona</vendor> - </configItem> - </model> - <model> - <configItem> - <name>scorpius</name> - <_description>Advance Scorpius KI</_description> - <vendor>Scorpius</vendor> - </configItem> - </model> - <model> - <configItem> - <name>brother</name> - <_description>Brother Internet Keyboard</_description> - <vendor>Brother</vendor> - </configItem> - </model> - <model> - <configItem> - <name>btc5113rf</name> - <_description>BTC 5113RF Multimedia</_description> - <vendor>BTC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>btc5126t</name> - <_description>BTC 5126T</_description> - <vendor>BTC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>btc6301urf</name> - <_description>BTC 6301URF</_description> - <vendor>BTC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>btc9000</name> - <_description>BTC 9000</_description> - <vendor>BTC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>btc9000a</name> - <_description>BTC 9000A</_description> - <vendor>BTC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>btc9001ah</name> - <_description>BTC 9001AH</_description> - <vendor>BTC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>btc5090</name> - <_description>BTC 5090</_description> - <vendor>BTC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>btc9019u</name> - <_description>BTC 9019U</_description> - <vendor>BTC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>btc9116u</name> - <_description>BTC 9116U Mini Wireless Internet and Gaming</_description> - </configItem> - </model> - <model> - <configItem> - <name>cherryblue</name> - <_description>Cherry Blue Line CyBo@rd</_description> - </configItem> - </model> - <model> - <configItem> - <name>cherryblueb</name> - <_description>Cherry CyMotion Master XPress</_description> - <vendor>Cherry</vendor> - </configItem> - </model> - <model> - <configItem> - <name>cherrybluea</name> - <_description>Cherry Blue Line CyBo@rd (alternate option)</_description> - <vendor>Cherry</vendor> - </configItem> - </model> - <model> - <configItem> - <name>cherrycyboard</name> - <_description>Cherry CyBo@rd USB-Hub</_description> - <vendor>Cherry</vendor> - </configItem> - </model> - <model> - <configItem> - <name>cherrycmexpert</name> - <_description>Cherry CyMotion Expert</_description> - <vendor>Cherry</vendor> - </configItem> - </model> - <model> - <configItem> - <name>cherrybunlim</name> - <_description>Cherry B.UNLIMITED</_description> - <vendor>Cherry</vendor> - </configItem> - </model> - <model> - <configItem> - <name>chicony</name> - <_description>Chicony Internet Keyboard</_description> - <vendor>Chicony</vendor> - </configItem> - </model> - <model> - <configItem> - <name>chicony0108</name> - <_description>Chicony KU-0108</_description> - <vendor>Chicony</vendor> - </configItem> - </model> - <model> - <configItem> - <name>chicony0420</name> - <_description>Chicony KU-0420</_description> - <vendor>Chicony</vendor> - </configItem> - </model> - <model> - <configItem> - <name>chicony9885</name> - <_description>Chicony KB-9885</_description> - <vendor>Chicony</vendor> - </configItem> - </model> - <model> - <configItem> - <name>compaqeak8</name> - <_description>Compaq Easy Access Keyboard</_description> - <vendor>Compaq</vendor> - </configItem> - </model> - <model> - <configItem> - <name>compaqik7</name> - <_description>Compaq Internet Keyboard (7 keys)</_description> - <vendor>Compaq</vendor> - </configItem> - </model> - <model> - <configItem> - <name>compaqik13</name> - <_description>Compaq Internet Keyboard (13 keys)</_description> - <vendor>Compaq</vendor> - </configItem> - </model> - <model> - <configItem> - <name>compaqik18</name> - <_description>Compaq Internet Keyboard (18 keys)</_description> - <vendor>Compaq</vendor> - </configItem> - </model> - <model> - <configItem> - <name>cymotionlinux</name> - <_description>Cherry CyMotion Master Linux</_description> - <vendor>Cherry</vendor> - </configItem> - </model> - <model> - <configItem> - <name>armada</name> - <_description>Laptop/notebook Compaq (eg. Armada) Laptop Keyboard</_description> - <vendor>Compaq</vendor> - </configItem> - </model> - <model> - <configItem> - <name>presario</name> - <_description>Laptop/notebook Compaq (eg. Presario) Internet Keyboard</_description> - <vendor>Compaq</vendor> - </configItem> - </model> - <model> - <configItem> - <name>ipaq</name> - <_description>Compaq iPaq Keyboard</_description> - <vendor>Compaq</vendor> - </configItem> - </model> - <model> - <configItem> - <name>dell</name> - <_description>Dell</_description> - <vendor>Dell</vendor> - </configItem> - </model> - <model> - <configItem> - <name>dellsk8125</name> - <_description>Dell SK-8125</_description> - <vendor>Dell</vendor> - </configItem> - </model> - <model> - <configItem> - <name>dellsk8135</name> - <_description>Dell SK-8135</_description> - <vendor>Dell</vendor> - </configItem> - </model> - <model> - <configItem> - <name>dellusbmm</name> - <_description>Dell USB Multimedia Keyboard</_description> - <vendor>Dell</vendor> - </configItem> - </model> - <model> - <configItem> - <name>inspiron</name> - <_description>Dell Laptop/notebook Inspiron 6xxx/8xxx</_description> - <vendor>Dell</vendor> - </configItem> - </model> - <model> - <configItem> - <name>precision_m</name> - <_description>Dell Laptop/notebook Precision M series</_description> - <vendor>Dell</vendor> - </configItem> - </model> - <model> - <configItem> - <name>dexxa</name> - <_description>Dexxa Wireless Desktop Keyboard</_description> - <vendor>Dexxa</vendor> - </configItem> - </model> - <model> - <configItem> - <name>diamond</name> - <_description>Diamond 9801 / 9802 series</_description> - <vendor>Diamond</vendor> - </configItem> - </model> - <model> - <configItem> - <name>dtk2000</name> - <_description>DTK2000</_description> - </configItem> - </model> - <model> - <configItem> - <name>ennyah_dkb1008</name> - <_description>Ennyah DKB-1008</_description> - <vendor>Ennyah</vendor> - </configItem> - </model> - <model> - <configItem> - <name>fscaa1667g</name> - <_description>Fujitsu-Siemens Computers AMILO laptop</_description> - <vendor>Fujitsu-Siemens</vendor> - </configItem> - </model> - <model> - <configItem> - <name>genius</name> - <_description>Genius Comfy KB-16M / Genius MM Keyboard KWD-910</_description> - <vendor>Genius</vendor> - </configItem> - </model> - <model> - <configItem> - <name>geniuscomfy</name> - <_description>Genius Comfy KB-12e</_description> - <vendor>Genius</vendor> - </configItem> - </model> - <model> - <configItem> - <name>geniuscomfy2</name> - <_description>Genius Comfy KB-21e-Scroll</_description> - <vendor>Genius</vendor> - </configItem> - </model> - <model> - <configItem> - <name>geniuskb19e</name> - <_description>Genius KB-19e NB</_description> - <vendor>Genius</vendor> - </configItem> - </model> - <model> - <configItem> - <name>geniuskkb2050hs</name> - <_description>Genius KKB-2050HS</_description> - <vendor>Genius</vendor> - </configItem> - </model> - <model> - <configItem> - <name>gyration</name> - <_description>Gyration</_description> - <vendor>Gyration</vendor> - </configItem> - </model> - <model> - <configItem> - <name>htcdream</name> - <_description>HTC Dream</_description> - <vendor>HTC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>kinesis</name> - <_description>Kinesis</_description> - <vendor>Kinesis</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logitech_base</name> - <_description>Logitech Generic Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logitech_g15</name> - <_description>Logitech G15 extra keys via G15daemon</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hpi6</name> - <_description>Hewlett-Packard Internet Keyboard</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hp250x</name> - <_description>Hewlett-Packard SK-250x Multimedia Keyboard</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hpxe3gc</name> - <_description>Hewlett-Packard Omnibook XE3 GC</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hpxe3gf</name> - <_description>Hewlett-Packard Omnibook XE3 GF</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hpxt1000</name> - <_description>Hewlett-Packard Omnibook XT1000</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hpdv5</name> - <_description>Hewlett-Packard Pavilion dv5</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hpzt11xx</name> - <_description>Hewlett-Packard Pavilion ZT11xx</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hp500fa</name> - <_description>Hewlett-Packard Omnibook 500 FA</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hp5xx</name> - <_description>Hewlett-Packard Omnibook 5xx</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hpnx9020</name> - <_description>Hewlett-Packard nx9020</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hp6000</name> - <_description>Hewlett-Packard Omnibook 6000/6100</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>honeywell_euroboard</name> - <_description>Honeywell Euroboard</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hpmini110</name> - <_description>Hewlett-Packard Mini 110 Notebook</_description> - <vendor>Hewlett-Packard</vendor> - </configItem> - </model> - <model> - <configItem> - <name>rapidaccess</name> - <_description>IBM Rapid Access</_description> - <vendor>Lenovo (previously IBM)</vendor> - </configItem> - </model> - <model> - <configItem> - <name>rapidaccess2</name> - <_description>IBM Rapid Access II</_description> - <vendor>Lenovo (previously IBM)</vendor> - </configItem> - </model> - <model> - <configItem> - <name>thinkpad</name> - <_description>IBM ThinkPad 560Z/600/600E/A22E</_description> - <vendor>Lenovo (previously IBM)</vendor> - </configItem> - </model> - <model> - <configItem> - <name>thinkpad60</name> - <_description>IBM ThinkPad R60/T60/R61/T61</_description> - <vendor>Lenovo (previously IBM)</vendor> - </configItem> - </model> - <model> - <configItem> - <name>thinkpadz60</name> - <_description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</_description> - <vendor>Lenovo (previously IBM)</vendor> - </configItem> - </model> - <model> - <configItem> - <name>ibm_spacesaver</name> - <_description>IBM Space Saver</_description> - <vendor>Lenovo (previously IBM)</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logiaccess</name> - <_description>Logitech Access Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logiclx300</name> - <_description>Logitech Cordless Desktop LX-300</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logii350</name> - <_description>Logitech Internet 350 Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logimel</name> - <_description>Logitech Media Elite Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logicd</name> - <_description>Logitech Cordless Desktop</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logicd_it</name> - <_description>Logitech Cordless Desktop iTouch</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logicd_nav</name> - <_description>Logitech Cordless Desktop Navigator</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logicd_opt</name> - <_description>Logitech Cordless Desktop Optical</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logicda</name> - <_description>Logitech Cordless Desktop (alternate option)</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logicdpa2</name> - <_description>Logitech Cordless Desktop Pro (alternate option 2)</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logicfn</name> - <_description>Logitech Cordless Freedom/Desktop Navigator</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logicdn</name> - <_description>Logitech Cordless Desktop Navigator</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logiitc</name> - <_description>Logitech iTouch Cordless Keyboard (model Y-RB6)</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logiik</name> - <_description>Logitech Internet Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>itouch</name> - <_description>Logitech iTouch</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logicink</name> - <_description>Logitech Internet Navigator Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logiex110</name> - <_description>Logitech Cordless Desktop EX110</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logiinkse</name> - <_description>Logitech iTouch Internet Navigator Keyboard SE</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logiinkseusb</name> - <_description>Logitech iTouch Internet Navigator Keyboard SE (USB)</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logiultrax</name> - <_description>Logitech Ultra-X Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logiultraxc</name> - <_description>Logitech Ultra-X Cordless Media Desktop Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logidinovo</name> - <_description>Logitech diNovo Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>logidinovoedge</name> - <_description>Logitech diNovo Edge Keyboard</_description> - <vendor>Logitech</vendor> - </configItem> - </model> - <model> - <configItem> - <name>mx1998</name> - <_description>Memorex MX1998</_description> - <vendor>Memorex</vendor> - </configItem> - </model> - <model> - <configItem> - <name>mx2500</name> - <_description>Memorex MX2500 EZ-Access Keyboard</_description> - <vendor>Memorex</vendor> - </configItem> - </model> - <model> - <configItem> - <name>mx2750</name> - <_description>Memorex MX2750</_description> - <vendor>Memorex</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoft4000</name> - <_description>Microsoft Natural Wireless Ergonomic Keyboard 4000</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoft7000</name> - <_description>Microsoft Natural Wireless Ergonomic Keyboard 7000</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoftinet</name> - <_description>Microsoft Internet Keyboard</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoftpro</name> - <_description>Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoftprousb</name> - <_description>Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoftprooem</name> - <_description>Microsoft Natural Keyboard Pro OEM</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>vsonku306</name> - <_description>ViewSonic KU-306 Internet Keyboard</_description> - <vendor>ViewSonic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoftprose</name> - <_description>Microsoft Internet Keyboard Pro, Swedish</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoftoffice</name> - <_description>Microsoft Office Keyboard</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoftmult</name> - <_description>Microsoft Wireless Multimedia Keyboard 1.0A</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoftelite</name> - <_description>Microsoft Natural Keyboard Elite</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>microsoftccurve2k</name> - <_description>Microsoft Comfort Curve Keyboard 2000</_description> - <vendor>Microsoft Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>oretec</name> - <_description>Ortek MCK-800 MM/Internet keyboard</_description> - <vendor>Ortek</vendor> - </configItem> - </model> - <model> - <configItem> - <name>propeller</name> - <_description>Propeller Voyager (KTEZ-1000)</_description> - <vendor>KeyTronic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>qtronix</name> - <_description>QTronix Scorpius 98N+</_description> - <vendor>QTronix</vendor> - </configItem> - </model> - <model> - <configItem> - <name>samsung4500</name> - <_description>Samsung SDM 4500P</_description> - <vendor>Samsung</vendor> - </configItem> - </model> - <model> - <configItem> - <name>samsung4510</name> - <_description>Samsung SDM 4510P</_description> - <vendor>Samsung</vendor> - </configItem> - </model> - <model> - <configItem> - <name>sanwaskbkg3</name> - <_description>Sanwa Supply SKB-KG3</_description> - <vendor>Sanwa Supply Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>sk1300</name> - <_description>SK-1300</_description> - <vendor>NEC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>sk2500</name> - <_description>SK-2500</_description> - <vendor>NEC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>sk6200</name> - <_description>SK-6200</_description> - <vendor>NEC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>sk7100</name> - <_description>SK-7100</_description> - <vendor>NEC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>sp_inet</name> - <_description>Super Power Multimedia Keyboard</_description> - <vendor>Generic</vendor> - </configItem> - </model> - <model> - <configItem> - <name>sven</name> - <_description>SVEN Ergonomic 2500</_description> - <vendor>SVEN</vendor> - </configItem> - </model> - <model> - <configItem> - <name>sven303</name> - <_description>SVEN Slim 303</_description> - <vendor>SVEN</vendor> - </configItem> - </model> - <model> - <configItem> - <name>symplon</name> - <_description>Symplon PaceBook (tablet PC)</_description> - <vendor>Symplon</vendor> - </configItem> - </model> - <model> - <configItem> - <name>toshiba_s3000</name> - <_description>Toshiba Satellite S3000</_description> - <vendor>Toshiba</vendor> - </configItem> - </model> - <model> - <configItem> - <name>trust</name> - <_description>Trust Wireless Keyboard Classic</_description> - <vendor>Trust</vendor> - </configItem> - </model> - <model> - <configItem> - <name>trustda</name> - <_description>Trust Direct Access Keyboard</_description> - <vendor>Trust</vendor> - </configItem> - </model> - <model> - <configItem> - <name>trust_slimline</name> - <_description>Trust Slimline</_description> - <vendor>Trust</vendor> - </configItem> - </model> - <model> - <configItem> - <name>tm2020</name> - <_description>TypeMatrix EZ-Reach 2020</_description> - <vendor>TypeMatrix</vendor> - </configItem> - </model> - <model> - <configItem> - <name>tm2030PS2</name> - <_description>TypeMatrix EZ-Reach 2030 PS2</_description> - <vendor>TypeMatrix</vendor> - </configItem> - </model> - <model> - <configItem> - <name>tm2030USB</name> - <_description>TypeMatrix EZ-Reach 2030 USB</_description> - <vendor>TypeMatrix</vendor> - </configItem> - </model> - <model> - <configItem> - <name>tm2030USB-102</name> - <_description>TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)</_description> - <vendor>TypeMatrix</vendor> - </configItem> - </model> - <model> - <configItem> - <name>tm2030USB-106</name> - <_description>TypeMatrix EZ-Reach 2030 USB (106:JP mode)</_description> - <vendor>TypeMatrix</vendor> - </configItem> - </model> - <model> - <configItem> - <name>yahoo</name> - <_description>Yahoo! Internet Keyboard</_description> - <vendor>Yahoo!</vendor> - </configItem> - </model> - <model> - <configItem> - <name>macbook78</name> - <_description>MacBook/MacBook Pro</_description> - <vendor>Apple</vendor> - </configItem> - </model> - <model> - <configItem> - <name>macbook79</name> - <_description>MacBook/MacBook Pro (Intl)</_description> - <vendor>Apple</vendor> - </configItem> - </model> - <model> - <configItem> - <name>macintosh</name> - <_description>Macintosh</_description> - <vendor>Apple</vendor> - </configItem> - </model> - <model> - <configItem> - <name>macintosh_old</name> - <_description>Macintosh Old</_description> - <vendor>Apple</vendor> - </configItem> - </model> - <model> - <configItem> - <name>macintosh_hhk</name> - <_description>Happy Hacking Keyboard for Mac</_description> - <vendor>Fujitsu</vendor> - </configItem> - </model> - <model> - <configItem> - <name>acer_c300</name> - <_description>Acer C300</_description> - <vendor>Acer</vendor> - </configItem> - </model> - <model> - <configItem> - <name>acer_ferrari4k</name> - <_description>Acer Ferrari 4000</_description> - <vendor>Acer</vendor> - </configItem> - </model> - <model> - <configItem> - <name>acer_laptop</name> - <_description>Acer Laptop</_description> - <vendor>Acer</vendor> - </configItem> - </model> - <model> - <configItem> - <name>asus_laptop</name> - <_description>Asus Laptop</_description> - <vendor>Asus</vendor> - </configItem> - </model> - <model> - <configItem> - <name>apple</name> - <_description>Apple</_description> - <vendor>Apple</vendor> - </configItem> - </model> - <model> - <configItem> - <name>apple_laptop</name> - <_description>Apple Laptop</_description> - <vendor>Apple</vendor> - </configItem> - </model> - <model> - <configItem> - <name>applealu_ansi</name> - <_description>Apple Aluminium Keyboard (ANSI)</_description> - <vendor>Apple</vendor> - </configItem> - </model> - <model> - <configItem> - <name>applealu_iso</name> - <_description>Apple Aluminium Keyboard (ISO)</_description> - <vendor>Apple</vendor> - </configItem> - </model> - <model> - <configItem> - <name>applealu_jis</name> - <_description>Apple Aluminium Keyboard (JIS)</_description> - <vendor>Apple</vendor> - </configItem> - </model> - <model> - <configItem> - <name>silvercrest</name> - <_description>SILVERCREST Multimedia Wireless Keyboard</_description> - <vendor>Silvercrest</vendor> - </configItem> - </model> - <model> - <configItem> - <name>emachines</name> - <_description>Laptop/notebook eMachines m68xx</_description> - <vendor>eMachines</vendor> - </configItem> - </model> - <model> - <configItem> - <name>benqx</name> - <_description>BenQ X-Touch</_description> - <vendor>BenQ</vendor> - </configItem> - </model> - <model> - <configItem> - <name>benqx730</name> - <_description>BenQ X-Touch 730</_description> - <vendor>BenQ</vendor> - </configItem> - </model> - <model> - <configItem> - <name>benqx800</name> - <_description>BenQ X-Touch 800</_description> - <vendor>BenQ</vendor> - </configItem> - </model> - <model> - <configItem> - <name>hhk</name> - <_description>Happy Hacking Keyboard</_description> - <vendor>Fujitsu</vendor> - </configItem> - </model> - <model> - <configItem> - <name>classmate</name> - <_description>Classmate PC</_description> - <vendor>Intel</vendor> - </configItem> - </model> - <model> - <configItem> - <name>olpc</name> - <_description>OLPC</_description> - <vendor>OLPC</vendor> - </configItem> - </model> - <model> - <configItem> - <name>sun6</name> - <_description>Sun Type 5/6</_description> - <vendor>Sun Microsystems</vendor> - </configItem> - </model> - <model> - <configItem> - <name>targa_v811</name> - <_description>Targa Visionary 811</_description> - <vendor>Targa</vendor> - </configItem> - </model> - <model> - <configItem> - <name>unitekkb1925</name> - <_description>Unitek KB-1925</_description> - <vendor>Unitek Group</vendor> - </configItem> - </model> - <model> - <configItem> - <name>compalfl90</name> - <_description>FL90</_description> - <vendor>Compal Electronics Inc.</vendor> - </configItem> - </model> - <model> - <configItem> - <name>creativedw7000</name> - <_description>Creative Desktop Wireless 7000</_description> - <vendor>Creative</vendor> - </configItem> - </model> - <model> - <configItem> - <name>htcdream</name> - <_description>Htc Dream phone</_description> - <vendor>htc</vendor> - </configItem> - </model> - </modelList> - <layoutList> - <layout> - <configItem> - <name>us</name> - <_shortDescription>en</_shortDescription> - <_description>English (US)</_description> - <languageList> - <iso639Id>eng</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>chr</name> - <_shortDescription>chr</_shortDescription> - <_description>Cherokee</_description> - <languageList> - <iso639Id>chr</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>euro</name> - <_description>English (US, with euro on 5)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>intl</name> - <_description>English (US, international with dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>alt-intl</name> - <_description>English (US, alternative international)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>colemak</name> - <_description>English (Colemak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>English (Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak-intl</name> - <_description>English (Dvorak international with dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak-alt-intl</name> - <_description>English (Dvorak alternative international no dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak-l</name> - <_description>English (left handed Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak-r</name> - <_description>English (right handed Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak-classic</name> - <_description>English (classic Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvp</name> - <_description>English (programmer Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>rus</name> - <_shortDescription>ru</_shortDescription> - <_description>Russian (US, phonetic)</_description> - <languageList> - <iso639Id>rus</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>English (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>altgr-intl</name> - <_description>English (international AltGr dead keys)</_description> - <languageList><iso639Id>eng</iso639Id> - <iso639Id>fra</iso639Id> - <iso639Id>ger</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>olpc2</name> - <_description>English (layout toggle on multiply/divide key)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>hbs</name> - <_description>Serbo-Croatian (US)</_description> - <languageList><iso639Id>eng</iso639Id> - <iso639Id>bos</iso639Id> - <iso639Id>hbs</iso639Id> - <iso639Id>hrv</iso639Id> - <iso639Id>srp</iso639Id> </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ad</name> - <_shortDescription>ca</_shortDescription> - <_description>Catalan</_description> - <languageList> - <iso639Id>cat</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>af</name> - <_shortDescription>Afg</_shortDescription> - <_description>Afghani</_description> - </configItem> - <variantList> - <variant> - <configItem> - <name>ps</name> - <_shortDescription>ps</_shortDescription> - <_description>Pashto</_description> - <languageList> - <iso639Id>pus</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>uz</name> - <_shortDescription>uz</_shortDescription> - <_description>Uzbek (Afghanistan)</_description> - <languageList> - <iso639Id>uzb</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>olpc-ps</name> - <_shortDescription>ps</_shortDescription> - <_description>Pashto (Afghanistan, OLPC)</_description> - <languageList> - <iso639Id>pus</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>fa-olpc</name> - <_shortDescription>fa</_shortDescription> - <_description>Persian (Afghanistan, Dari OLPC)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>uz-olpc</name> - <_shortDescription>uz</_shortDescription> - <_description>Uzbek (Afghanistan, OLPC)</_description> - <languageList> - <iso639Id>uzb</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ara</name> - <_shortDescription>ar</_shortDescription> - <_description>Arabic</_description> - <countryList> - <iso3166Id>AE</iso3166Id> - <iso3166Id>BH</iso3166Id> - <iso3166Id>DZ</iso3166Id> - <iso3166Id>EG</iso3166Id> - <iso3166Id>EH</iso3166Id> - <iso3166Id>JO</iso3166Id> - <iso3166Id>KW</iso3166Id> - <iso3166Id>LB</iso3166Id> - <iso3166Id>LY</iso3166Id> - <iso3166Id>MA</iso3166Id> - <iso3166Id>MR</iso3166Id> - <iso3166Id>OM</iso3166Id> - <iso3166Id>PS</iso3166Id> - <iso3166Id>QA</iso3166Id> - <iso3166Id>SA</iso3166Id> - <iso3166Id>SD</iso3166Id> - <iso3166Id>SY</iso3166Id> - <iso3166Id>TN</iso3166Id> - <iso3166Id>YE</iso3166Id> - </countryList> - <languageList> - <iso639Id>ara</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>azerty</name> - <_description>Arabic (azerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>azerty_digits</name> - <_description>Arabic (azerty/digits)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>digits</name> - <_description>Arabic (digits)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>qwerty</name> - <_description>Arabic (qwerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>qwerty_digits</name> - <_description>Arabic (qwerty/digits)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>buckwalter</name> - <_description>Arabic (Buckwalter)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>al</name> - <_shortDescription>sq</_shortDescription> - <_description>Albanian</_description> - <languageList> - <iso639Id>alb</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>am</name> - <_shortDescription>hy</_shortDescription> - <_description>Armenian</_description> - <languageList> - <iso639Id>hye</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>phonetic</name> - <_description>Armenian (phonetic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>phonetic-alt</name> - <_description>Armenian (alternative phonetic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>eastern</name> - <_description>Armenian (eastern)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>western</name> - <_description>Armenian (western)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>eastern-alt</name> - <_description>Armenian (alternative eastern)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>at</name> - <_shortDescription>de</_shortDescription> - <_description>German (Austria)</_description> - <languageList> - <iso639Id>ger</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>German (Austria, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>sundeadkeys</name> - <_description>German (Austria, Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>German (Austria, Macintosh)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>az</name> - <_shortDescription>az</_shortDescription> - <_description>Azerbaijani</_description> - <languageList> - <iso639Id>aze</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>cyrillic</name> - <_description>Azerbaijani (Cyrillic)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>by</name> - <_shortDescription>be</_shortDescription> - <_description>Belarusian</_description> - <languageList> - <iso639Id>bel</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>legacy</name> - <_description>Belarusian (legacy)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latin</name> - <_description>Belarusian (Latin)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>be</name> - <_shortDescription>be</_shortDescription> - <_description>Belgian</_description> - <languageList><iso639Id>ger</iso639Id> - <iso639Id>nld</iso639Id> - <iso639Id>fra</iso639Id></languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>oss</name> - <_description>Belgian (alternative)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>oss_latin9</name> - <_description>Belgian (alternative, latin-9 only)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>oss_sundeadkeys</name> - <_description>Belgian (alternative, Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>iso-alternate</name> - <_description>Belgian (ISO alternate)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Belgian (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>sundeadkeys</name> - <_description>Belgian (Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>wang</name> - <_description>Belgian (Wang model 724 azerty)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>bd</name> - <_shortDescription>bn</_shortDescription> - <_description>Bengali</_description> - <languageList> - <iso639Id>ben</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>probhat</name> - <_description>Bengali (Probhat)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>in</name> - <_shortDescription>in</_shortDescription> - <_description>Indian</_description> - </configItem> - <variantList> - <variant> - <configItem> - <name>ben</name> - <_shortDescription>bn</_shortDescription> - <_description>Bengali</_description> - <languageList> - <iso639Id>ben</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ben_probhat</name> - <_shortDescription>bn</_shortDescription> - <_description>Bengali (Probhat)</_description> - <languageList> - <iso639Id>ben</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>guj</name> - <_shortDescription>gu</_shortDescription> - <_description>Gujarati</_description> - <languageList> - <iso639Id>guj</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>guru</name> - <_shortDescription>pa</_shortDescription> - <_description>Punjabi (Gurmukhi)</_description> - <languageList> - <iso639Id>pan</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>jhelum</name> - <_shortDescription>pa</_shortDescription> - <_description>Punjabi (Gurmukhi Jhelum)</_description> - <languageList> - <iso639Id>pan</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>kan</name> - <_shortDescription>kn</_shortDescription> - <_description>Kannada</_description> - <languageList> - <iso639Id>kan</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>mal</name> - <_shortDescription>ml</_shortDescription> - <_description>Malayalam</_description> - <languageList> - <iso639Id>mal</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>mal_lalitha</name> - <_shortDescription>ml</_shortDescription> - <_description>Malayalam (Lalitha)</_description> - <languageList> - <iso639Id>mal</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>mal_enhanced</name> - <_shortDescription>ml</_shortDescription> - <_description>Malayalam (enhanced Inscript with Rupee Sign)</_description> - <languageList><iso639Id>mal</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ori</name> - <_shortDescription>or</_shortDescription> - <_description> Oriya</_description> - <languageList> - <iso639Id>ori</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tam_unicode</name> - <_shortDescription>ta</_shortDescription> - <_description>Tamil (Unicode)</_description> - <languageList> - <iso639Id>tam</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tam_keyboard_with_numerals</name> - <_shortDescription>ta</_shortDescription> - <_description>Tamil (keyboard with numerals)</_description> - <languageList> - <iso639Id>tam</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tam_TAB</name> - <_shortDescription>ta</_shortDescription> - <_description>Tamil (TAB typewriter)</_description> - <languageList> - <iso639Id>tam</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tam_TSCII</name> - <_shortDescription>ta</_shortDescription> - <_description>Tamil (TSCII typewriter)</_description> - <languageList> - <iso639Id>tam</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tam</name> - <_shortDescription>ta</_shortDescription> - <_description>Tamil</_description> - <languageList> - <iso639Id>tam</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tel</name> - <_shortDescription>te</_shortDescription> - <_description>Telugu</_description> - <languageList> - <iso639Id>tel</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>urd-phonetic</name> - <_shortDescription>ur</_shortDescription> - <_description>Urdu (phonetic)</_description> - <languageList> - <iso639Id>urd</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>urd-phonetic3</name> - <_shortDescription>ur</_shortDescription> - <_description>Urdu (alternative phonetic)</_description> - <languageList> - <iso639Id>urd</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>urd-winkeys</name> - <_shortDescription>ur</_shortDescription> - <_description>Urdu (WinKeys)</_description> - <languageList> - <iso639Id>urd</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>bolnagri</name> - <_shortDescription>hi</_shortDescription> - <_description>Hindi (Bolnagri)</_description> - <languageList> - <iso639Id>hin</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>hin-wx</name> - <_shortDescription>hi</_shortDescription> - <_description>Hindi (Wx)</_description> - <languageList> - <iso639Id>hin</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>eng</name> - <_shortDescription>en</_shortDescription> - <_description>English (India, with RupeeSign)</_description> - <languageList> - <iso639Id>eng</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ba</name> - <_shortDescription>bs</_shortDescription> - <_description>Bosnian</_description> - <languageList> - <iso639Id>bos</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>alternatequotes</name> - <_description>Bosnian (use guillemets for quotes)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>unicode</name> - <_description>Bosnian (use Bosnian digraphs)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>unicodeus</name> - <_description>Bosnian (US keyboard with Bosnian digraphs)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>us</name> - <_description>Bosnian (US keyboard with Bosnian letters)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>br</name> - <_shortDescription>pt</_shortDescription> - <_description>Portuguese (Brazil)</_description> - <languageList> - <iso639Id>por</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Portuguese (Brazil, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>Portuguese (Brazil, Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nativo</name> - <_description>Portuguese (Brazil, nativo)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nativo-us</name> - <_description>Portuguese (Brazil, nativo for USA keyboards)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nativo-epo</name> - <_description>Portuguese (Brazil, nativo for Esperanto)</_description> - <languageList> - <iso639Id>epo</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>bg</name> - <_shortDescription>bg</_shortDescription> - <_description>Bulgarian</_description> - <languageList> - <iso639Id>bul</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>phonetic</name> - <_description>Bulgarian (traditional phonetic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>bas_phonetic</name> - <_description>Bulgarian (new phonetic)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ma</name> - <_shortDescription>ar</_shortDescription> - <_description>Arabic (Morocco)</_description> - </configItem> - <variantList> - <variant> - <configItem> - <name>french</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Morocco)</_description> - <languageList> - <iso639Id>fra</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tifinagh</name> - <_shortDescription>ber</_shortDescription> - <_description>Berber (Morocco, Tifinagh)</_description> - <languageList> - <iso639Id>ber</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tifinagh-alt</name> - <_shortDescription>ber</_shortDescription> - <_description>Berber (Morocco, Tifinagh alternative)</_description> - <languageList> - <iso639Id>ber</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tifinagh-alt-phonetic</name> - <_shortDescription>ber</_shortDescription> - <_description>Berber (Morocco, Tifinagh alternative phonetic)</_description> - <languageList> - <iso639Id>ber</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tifinagh-extended</name> - <_shortDescription>ber</_shortDescription> - <_description>Berber (Morocco, Tifinagh extended)</_description> - <languageList> - <iso639Id>ber</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tifinagh-phonetic</name> - <_shortDescription>ber</_shortDescription> - <_description>Berber (Morocco, Tifinagh phonetic)</_description> - <languageList> - <iso639Id>ber</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tifinagh-extended-phonetic</name> - <_shortDescription>ber</_shortDescription> - <_description>Berber (Morocco, Tifinagh extended phonetic)</_description> - <languageList> - <iso639Id>ber</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>mm</name> - <_shortDescription>my</_shortDescription> - <_description>Burmese</_description> - <languageList> - <iso639Id>mya</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>ca</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Canada)</_description> - <languageList> - <iso639Id>fra</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>fr-dvorak</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Canada, Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>fr-legacy</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Canada, legacy)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>multix</name> - <_description>Canadian Multilingual</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>multi</name> - <_description>Canadian Multilingual (first part)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>multi-2gr</name> - <_description>Canadian Multilingual (second part)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ike</name> - <_shortDescription>ike</_shortDescription> - <_description>Inuktitut</_description> - <languageList> - <iso639Id>iku</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>shs</name> - <_shortDescription>shs</_shortDescription> - <_description>Secwepemctsin</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>kut</name> - <_shortDescription>kut</_shortDescription> - <_description>Kutenai</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>eng</name> - <_shortDescription>en</_shortDescription> - <_description>English (Canada)</_description> - <languageList> - <iso639Id>eng</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>cd</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Democratic Republic of the Congo)</_description> - <languageList> - <iso639Id>fra</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>cn</name> - <_shortDescription>zh</_shortDescription> - <_description>Chinese</_description> - <languageList> - <iso639Id>chi</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>tib</name> - <_description>Tibetan</_description> - <languageList> - <iso639Id>tib</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tib_asciinum</name> - <_description>Tibetan (with ASCII numerals)</_description> - <languageList> - <iso639Id>tib</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>uig</name> - <_description>Uyghur</_description> - <languageList> - <iso639Id>uig</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>hr</name> - <_shortDescription>hr</_shortDescription> - <_description>Croatian</_description> - <languageList> - <iso639Id>scr</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>alternatequotes</name> - <_description>Croatian (use guillemets for quotes)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>unicode</name> - <_description>Croatian (use Croatian digraphs)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>unicodeus</name> - <_description>Croatian (US keyboard with Croatian digraphs)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>us</name> - <_description>Croatian (US keyboard with Croatian letters)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>cz</name> - <_shortDescription>cs</_shortDescription> - <_description>Czech</_description> - <languageList> - <iso639Id>cze</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>bksl</name> - <_description>Czech (with <\|> key)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>qwerty</name> - <_description>Czech (qwerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>qwerty_bksl</name> - <_description>Czech (qwerty, extended Backslash)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ucw</name> - <_description>Czech (UCW layout, accented letters only)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak-ucw</name> - <_description>Czech (US Dvorak with CZ UCW support)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>dk</name> - <_shortDescription>da</_shortDescription> - <_description>Danish</_description> - <languageList> - <iso639Id>dan</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Danish (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Danish (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac_nodeadkeys</name> - <_description>Danish (Macintosh, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>Danish (Dvorak)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>nl</name> - <_shortDescription>nl</_shortDescription> - <_description>Dutch</_description> - <languageList> - <iso639Id>nld</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>sundeadkeys</name> - <_description>Dutch (Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Dutch (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>std</name> - <_description>Dutch (standard)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>bt</name> - <_shortDescription>dz</_shortDescription> - <_description>Dzongkha</_description> - <languageList> - <iso639Id>dzo</iso639Id> - </languageList> - </configItem> - </layout> - <layout> - <configItem> - <name>ee</name> - <_shortDescription>et</_shortDescription> - <_description>Estonian</_description> - <languageList> - <iso639Id>est</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Estonian (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>Estonian (Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>us</name> - <_description>Estonian (US keyboard with Estonian letters)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ir</name> - <_shortDescription>fa</_shortDescription> - <_description>Persian</_description> - <languageList> - <iso639Id>per</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>pes_keypad</name> - <_description>Persian (with Persian Keypad)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ku</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Iran, Latin Q)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_f</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Iran, F)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_alt</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Iran, Latin Alt-Q)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_ara</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Iran, Arabic-Latin)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>iq</name> - <_shortDescription>irq</_shortDescription> - <_description>Iraqi</_description> - <languageList><iso639Id>ara</iso639Id> - <iso639Id>kur</iso639Id></languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>ku</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Iraq, Latin Q)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_f</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Iraq, F)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_alt</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Iraq, Latin Alt-Q)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_ara</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Iraq, Arabic-Latin)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>fo</name> - <_shortDescription>fo</_shortDescription> - <_description>Faroese</_description> - <languageList> - <iso639Id>fao</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Faroese (eliminate dead keys)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>fi</name> - <_shortDescription>fi</_shortDescription> - <_description>Finnish</_description> - <languageList> - <iso639Id>fin</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>classic</name> - <_description>Finnish (classic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Finnish (classic, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>smi</name> - <_description>Northern Saami (Finland)</_description> - <languageList><iso639Id>sme</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Finnish (Macintosh)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>fr</name> - <_shortDescription>fr</_shortDescription> - <_description>French</_description> - <languageList> - <iso639Id>fra</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>French (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>sundeadkeys</name> - <_description>French (Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>oss</name> - <_description>French (alternative)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>oss_latin9</name> - <_description>French (alternative, latin-9 only)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>oss_nodeadkeys</name> - <_description>French (alternative, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>oss_sundeadkeys</name> - <_description>French (alternative, Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latin9</name> - <_description>French (legacy, alternative)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latin9_nodeadkeys</name> - <_description>French (legacy, alternative, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latin9_sundeadkeys</name> - <_description>French (legacy, alternative, Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>bepo</name> - <_description>French (Bepo, ergonomic, Dvorak way)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>bepo_latin9</name> - <_description>French (Bepo, ergonomic, Dvorak way, latin-9 only)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>French (Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>French (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>bre</name> - <_description>French (Breton)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>oci</name> - <_description>Occitan</_description> - <languageList> - <iso639Id>oci</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>geo</name> - <_description>Georgian (France, AZERTY Tskapo)</_description> - <languageList> - <iso639Id>geo</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>gh</name> - <_shortDescription>en</_shortDescription> - <_description>English (Ghana)</_description> - <languageList> - <iso639Id>eng</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>generic</name> - <_description>English (Ghana, multilingual)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>akan</name> - <_shortDescription>ak</_shortDescription> - <_description>Akan</_description> - <languageList> - <iso639Id>aka</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ewe</name> - <_shortDescription>ee</_shortDescription> - <_description>Ewe</_description> - <languageList> - <iso639Id>ewe</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>fula</name> - <_shortDescription>ff</_shortDescription> - <_description>Fula</_description> - <languageList> - <iso639Id>ful</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ga</name> - <_shortDescription>gaa</_shortDescription> - <_description>Ga</_description> - <languageList> - <iso639Id>gaa</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>hausa</name> - <_shortDescription>ha</_shortDescription> - <_description>Hausa</_description> - <languageList> - <iso639Id>hau</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>avn</name> - <_shortDescription>avn</_shortDescription> - <_description>Avatime</_description> - <languageList> - <iso639Id>avn</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>gillbt</name> - <_description>English (Ghana, GILLBT)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>gn</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Guinea)</_description> - <languageList> - <iso639Id>fra</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>ge</name> - <_shortDescription>ka</_shortDescription> - <_description>Georgian</_description> - <languageList> - <iso639Id>geo</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>ergonomic</name> - <_description>Georgian (ergonomic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mess</name> - <_description>Georgian (MESS)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ru</name> - <_shortDescription>ru</_shortDescription> - <_description>Russian (Georgia)</_description> - <languageList> - <iso639Id>rus</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>os</name> - <_description>Ossetian (Georgia)</_description> - <languageList> - <iso639Id>oss</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>de</name> - <_shortDescription>de</_shortDescription> - <_description>German</_description> - <languageList> - <iso639Id>ger</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>deadacute</name> - <_description>German (dead acute)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>deadgraveacute</name> - <_description>German (dead grave acute)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>German (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ro</name> - <_description>Romanian (Germany)</_description> - <languageList><iso639Id>rum</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ro_nodeadkeys</name> - <_description>Romanian (Germany, eliminate dead keys)</_description> - <languageList><iso639Id>rum</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>German (Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>sundeadkeys</name> - <_description>German (Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>neo</name> - <_description>German (Neo 2)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>German (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac_nodeadkeys</name> - <_description>German (Macintosh, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dsb</name> - <_description>Lower Sorbian</_description> - <languageList> - <iso639Id>dsb</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>dsb_qwertz</name> - <_description>Lower Sorbian (qwertz)</_description> - <languageList> - <iso639Id>dsb</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>qwerty</name> - <_description>German (qwerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ru</name> - <_description>Russian (Germany, phonetic)</_description> - <languageList> - <iso639Id>rus</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>gr</name> - <_shortDescription>gr</_shortDescription> - <_description>Greek</_description> - <languageList> - <iso639Id>gre</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>simple</name> - <_description>Greek (simple)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>extended</name> - <_description>Greek (extended)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Greek (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>polytonic</name> - <_description>Greek (polytonic)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>hu</name> - <_shortDescription>hu</_shortDescription> - <_description>Hungarian</_description> - <languageList> - <iso639Id>hun</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>standard</name> - <_description>Hungarian (standard)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Hungarian (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>qwerty</name> - <_description>Hungarian (qwerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>101_qwertz_comma_dead</name> - <_description>Hungarian (101/qwertz/comma/dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>101_qwertz_comma_nodead</name> - <_description>Hungarian (101/qwertz/comma/eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>101_qwertz_dot_dead</name> - <_description>Hungarian (101/qwertz/dot/dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>101_qwertz_dot_nodead</name> - <_description>Hungarian (101/qwertz/dot/eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>101_qwerty_comma_dead</name> - <_description>Hungarian (101/qwerty/comma/dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>101_qwerty_comma_nodead</name> - <_description>Hungarian (101/qwerty/comma/eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>101_qwerty_dot_dead</name> - <_description>Hungarian (101/qwerty/dot/dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>101_qwerty_dot_nodead</name> - <_description>Hungarian (101/qwerty/dot/eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>102_qwertz_comma_dead</name> - <_description>Hungarian (102/qwertz/comma/dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>102_qwertz_comma_nodead</name> - <_description>Hungarian (102/qwertz/comma/eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>102_qwertz_dot_dead</name> - <_description>Hungarian (102/qwertz/dot/dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>102_qwertz_dot_nodead</name> - <_description>Hungarian (102/qwertz/dot/eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>102_qwerty_comma_dead</name> - <_description>Hungarian (102/qwerty/comma/dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>102_qwerty_comma_nodead</name> - <_description>Hungarian (102/qwerty/comma/eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>102_qwerty_dot_dead</name> - <_description>Hungarian (102/qwerty/dot/dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>102_qwerty_dot_nodead</name> - <_description>Hungarian (102/qwerty/dot/eliminate dead keys)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>is</name> - <_shortDescription>is</_shortDescription> - <_description>Icelandic</_description> - <languageList> - <iso639Id>ice</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>Sundeadkeys</name> - <_description>Icelandic (Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Icelandic (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Icelandic (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>Icelandic (Dvorak)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>il</name> - <_shortDescription>he</_shortDescription> - <_description>Hebrew</_description> - <languageList> - <iso639Id>heb</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>lyx</name> - <_description>Hebrew (lyx)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>phonetic</name> - <_description>Hebrew (phonetic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>biblical</name> - <_description>Hebrew (Biblical, Tiro)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>it</name> - <_shortDescription>it</_shortDescription> - <_description>Italian</_description> - <languageList> - <iso639Id>ita</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Italian (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Italian (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>us</name> - <_description>Italian (US keyboard with Italian letters)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>geo</name> - <_description>Georgian (Italy)</_description> - <languageList> - <iso639Id>geo</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>jp</name> - <_shortDescription>ja</_shortDescription> - <_description>Japanese</_description> - <languageList> - <iso639Id>jpn</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>kana</name> - <_description>Japanese (Kana)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>kana86</name> - <_description>Japanese (Kana 86)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>OADG109A</name> - <_description>Japanese (OADG 109A)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Japanese (Macintosh)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>kg</name> - <_shortDescription>ki</_shortDescription> - <_description>Kyrgyz</_description> - <languageList> - <iso639Id>kir</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>phonetic</name> - <_description>Kyrgyz (phonetic)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>kh</name> - <_shortDescription>km</_shortDescription> - <_description>Khmer (Cambodia)</_description> - <languageList> - <iso639Id>khm</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>kz</name> - <_shortDescription>kk</_shortDescription> - <_description>Kazakh</_description> - <languageList> - <iso639Id>kaz</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>ruskaz</name> - <_shortDescription>ru</_shortDescription> - <_description>Russian (Kazakhstan, with Kazakh)</_description> - <languageList><iso639Id>kaz</iso639Id> - <iso639Id>rus</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>kazrus</name> - <_description>Kazakh (with Russian)</_description> - <languageList><iso639Id>kaz</iso639Id> - <iso639Id>rus</iso639Id></languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>la</name> - <_shortDescription>lo</_shortDescription> - <_description>Lao</_description> - <languageList> - <iso639Id>lao</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>stea</name> - <_description>Lao (STEA proposed standard layout)</_description> - <languageList><iso639Id>lao</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>latam</name> - <_shortDescription>es</_shortDescription> - <_description>Spanish (Latin American)</_description> - <countryList> - <iso3166Id>AR</iso3166Id> - <iso3166Id>BO</iso3166Id> - <iso3166Id>CL</iso3166Id> - <iso3166Id>CO</iso3166Id> - <iso3166Id>CR</iso3166Id> - <iso3166Id>CU</iso3166Id> - <iso3166Id>DO</iso3166Id> - <iso3166Id>EC</iso3166Id> - <iso3166Id>GT</iso3166Id> - <iso3166Id>HN</iso3166Id> - <iso3166Id>HT</iso3166Id> - <iso3166Id>MX</iso3166Id> - <iso3166Id>NI</iso3166Id> - <iso3166Id>PA</iso3166Id> - <iso3166Id>PE</iso3166Id> - <iso3166Id>PR</iso3166Id> - <iso3166Id>PY</iso3166Id> - <iso3166Id>SV</iso3166Id> - <iso3166Id>US</iso3166Id> - <iso3166Id>UY</iso3166Id> - <iso3166Id>VE</iso3166Id> - </countryList> - <languageList> - <iso639Id>spa</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Spanish (Latin American, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>deadtilde</name> - <_description>Spanish (Latin American, include dead tilde)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>sundeadkeys</name> - <_description>Spanish (Latin American, Sun dead keys)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>lt</name> - <_shortDescription>lt</_shortDescription> - <_description>Lithuanian</_description> - <languageList> - <iso639Id>lit</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>std</name> - <_description>Lithuanian (standard)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>us</name> - <_description>Lithuanian (US keyboard with Lithuanian letters)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ibm</name> - <_description>Lithuanian (IBM LST 1205-92)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>lekp</name> - <_description>Lithuanian (LEKP)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>lekpa</name> - <_description>Lithuanian (LEKPa)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>lv</name> - <_shortDescription>lv</_shortDescription> - <_description>Latvian</_description> - <languageList> - <iso639Id>lav</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>apostrophe</name> - <_description>Latvian (apostrophe variant)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>tilde</name> - <_description>Latvian (tilde variant)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>fkey</name> - <_description>Latvian (F variant)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>modern</name> - <_description>Latvian (modern)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ergonomic</name> - <_description>Latvian (ergonomic, ŪGJRMV)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>adapted</name> - <_description>Latvian (adapted)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>mao</name> - <_shortDescription>mi</_shortDescription> - <_description>Maori</_description> - <languageList> - <iso639Id>mao</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>me</name> - <_shortDescription>srp</_shortDescription> - <_description>Montenegrin</_description> - <languageList> - <iso639Id>srp</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>cyrillic</name> - <_description>Montenegrin (Cyrillic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>cyrillicyz</name> - <_description>Montenegrin (Cyrillic, Z and ZHE swapped)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latinunicode</name> - <_description>Montenegrin (Latin unicode)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latinyz</name> - <_description>Montenegrin (Latin qwerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latinunicodeyz</name> - <_description>Montenegrin (Latin unicode qwerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>cyrillicalternatequotes</name> - <_description>Montenegrin (Cyrillic with guillemets)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latinalternatequotes</name> - <_description>Montenegrin (Latin with guillemets)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>mk</name> - <_shortDescription>mk</_shortDescription> - <_description>Macedonian</_description> - <languageList> - <iso639Id>mkd</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Macedonian (eliminate dead keys)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>mt</name> - <_shortDescription>mt</_shortDescription> - <_description>Maltese</_description> - <languageList> - <iso639Id>mlt</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>us</name> - <_description>Maltese (with US layout)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>mn</name> - <_shortDescription>mn</_shortDescription> - <_description>Mongolian</_description> - <languageList> - <iso639Id>mng</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>no</name> - <_shortDescription>no</_shortDescription> - <_description>Norwegian</_description> - <languageList> - <iso639Id>nor</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Norwegian (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>Norwegian (Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>smi</name> - <_description>Northern Saami (Norway)</_description> - <languageList> - <iso639Id>sme</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>smi_nodeadkeys</name> - <_description>Northern Saami (Norway, eliminate dead keys)</_description> - <languageList> - <iso639Id>sme</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Norwegian (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac_nodeadkeys</name> - <_description>Norwegian (Macintosh, eliminate dead keys)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>pl</name> - <_shortDescription>pl</_shortDescription> - <_description>Polish</_description> - <languageList> - <iso639Id>pol</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>qwertz</name> - <_description>Polish (qwertz)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>Polish (Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak_quotes</name> - <_description>Polish (Dvorak, Polish quotes on quotemark key)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak_altquotes</name> - <_description>Polish (Dvorak, Polish quotes on key 1)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>csb</name> - <_description>Kashubian</_description> - <languageList> - <iso639Id>csb</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ru_phonetic_dvorak</name> - <_shortDescription>ru</_shortDescription> - <_description>Russian (Poland, phonetic Dvorak)</_description> - <languageList> - <iso639Id>rus</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>dvp</name> - <_description>Polish (programmer Dvorak)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>pt</name> - <_shortDescription>pt</_shortDescription> - <_description>Portuguese</_description> - <languageList> - <iso639Id>por</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Portuguese (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>sundeadkeys</name> - <_description>Portuguese (Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Portuguese (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac_nodeadkeys</name> - <_description>Portuguese (Macintosh, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac_sundeadkeys</name> - <_description>Portuguese (Macintosh, Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nativo</name> - <_description>Portuguese (Nativo)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nativo-us</name> - <_description>Portuguese (Nativo for USA keyboards)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>nativo-epo</name> - <_description>Esperanto (Portugal, Nativo)</_description> - <languageList> - <iso639Id>epo</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ro</name> - <_shortDescription>ro</_shortDescription> - <_description>Romanian</_description> - <languageList> - <iso639Id>rum</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>cedilla</name> - <_description>Romanian (cedilla)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>std</name> - <_description>Romanian (standard)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>std_cedilla</name> - <_description>Romanian (standard cedilla)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>winkeys</name> - <_description>Romanian (WinKeys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>crh_dobruja</name> - <_shortDescription>crh</_shortDescription> - <_description>Crimean Tatar (Dobruja Q)</_description> - <languageList> - <iso639Id>crh</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ru</name> - <_shortDescription>ru</_shortDescription> - <_description>Russian</_description> - <languageList> - <iso639Id>rus</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>phonetic</name> - <_description>Russian (phonetic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>phonetic_winkeys</name> - <_description>Russian (phonetic WinKeys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>typewriter</name> - <_description>Russian (typewriter)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>legacy</name> - <_description>Russian (legacy)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>typewriter-legacy</name> - <_description>Russian (typewriter, legacy)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>tt</name> - <_description>Tatar</_description> - <languageList> - <iso639Id>tat</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>os_legacy</name> - <_description>Ossetian (legacy)</_description> - <languageList> - <iso639Id>oss</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>os_winkeys</name> - <_description>Ossetian (WinKeys)</_description> - <languageList> - <iso639Id>oss</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>cv</name> - <_description>Chuvash</_description> - <languageList> - <iso639Id>chv</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>cv_latin</name> - <_description>Chuvash (Latin)</_description> - <languageList> - <iso639Id>chv</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>udm</name> - <_description>Udmurt</_description> - <languageList> - <iso639Id>udm</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>kom</name> - <_description>Komi</_description> - <languageList> - <iso639Id>kom</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>sah</name> - <_description>Yakut</_description> - <languageList> - <iso639Id>sah</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>xal</name> - <_description>Kalmyk</_description> - <languageList> - <iso639Id>xal</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>dos</name> - <_description>Russian (DOS)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>srp</name> - <_description>Serbian (Russia)</_description> - <languageList><iso639Id>rus</iso639Id> - <iso639Id>srp</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>bak</name> - <_description>Bashkirian</_description> - <languageList> - <iso639Id>bak</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>chm</name> - <_description>Mari</_description> - <languageList> - <iso639Id>chm</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>rs</name> - <_shortDescription>sr</_shortDescription> - <_description>Serbian</_description> - <languageList> - <iso639Id>srp</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>yz</name> - <_description>Serbian (Z and ZHE swapped)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latin</name> - <_description>Serbian (Latin)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latinunicode</name> - <_description>Serbian (Latin Unicode)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latinyz</name> - <_description>Serbian (Latin qwerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latinunicodeyz</name> - <_description>Serbian (Latin Unicode qwerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>alternatequotes</name> - <_description>Serbian (with guillemets)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>latinalternatequotes</name> - <_description>Serbian (Latin with guillemets)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>rue</name> - <_description>Pannonian Rusyn (homophonic)</_description> - <languageList> - <iso639Id>rue</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>si</name> - <_shortDescription>sl</_shortDescription> - <_description>Slovenian</_description> - <languageList> - <iso639Id>slv</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>alternatequotes</name> - <_description>Slovenian (use guillemets for quotes)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>us</name> - <_description>Slovenian (US keyboard with Slovenian letters)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>sk</name> - <_shortDescription>sk</_shortDescription> - <_description>Slovak</_description> - <languageList> - <iso639Id>slo</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>bksl</name> - <_description>Slovak (extended Backslash)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>qwerty</name> - <_description>Slovak (qwerty)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>qwerty_bksl</name> - <_description>Slovak (qwerty, extended Backslash)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>es</name> - <_shortDescription>es</_shortDescription> - <_description>Spanish</_description> - <languageList> - <iso639Id>spa</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Spanish (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>deadtilde</name> - <_description>Spanish (include dead tilde)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>sundeadkeys</name> - <_description>Spanish (Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>Spanish (Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ast</name> - <_description>Asturian (Spain, with bottom-dot H and bottom-dot L)</_description> - <languageList> - <iso639Id>ast</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>cat</name> - <_description>Catalan (Spain, with middle-dot L)</_description> - <languageList> - <iso639Id>cat</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Spanish (Macintosh)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>se</name> - <_shortDescription>sv</_shortDescription> - <_description>Swedish</_description> - <languageList> - <iso639Id>swe</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>nodeadkeys</name> - <_description>Swedish (eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>Swedish (Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>rus</name> - <_shortDescription>ru</_shortDescription> - <_description>Russian (Sweden, phonetic)</_description> - <languageList> - <iso639Id>rus</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>rus_nodeadkeys</name> - <_shortDescription>ru</_shortDescription> - <_description>Russian (Sweden, phonetic, eliminate dead keys)</_description> - <languageList> - <iso639Id>rus</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>smi</name> - <_description>Northern Saami (Sweden)</_description> - <languageList> - <iso639Id>sme</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>Swedish (Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>svdvorak</name> - <_description>Swedish (Svdvorak)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ch</name> - <_shortDescription>che</_shortDescription> - <_description>German (Switzerland)</_description> - <languageList><iso639Id>ger</iso639Id> - <iso639Id>gsw</iso639Id></languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>legacy</name> - <_description>German (Switzerland, legacy)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>de_nodeadkeys</name> - <_shortDescription>de</_shortDescription> - <_description>German (Switzerland, eliminate dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>de_sundeadkeys</name> - <_shortDescription>de</_shortDescription> - <_description>German (Switzerland, Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>fr</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Switzerland)</_description> - <languageList> - <iso639Id>fra</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>fr_nodeadkeys</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Switzerland, eliminate dead keys)</_description> - <languageList> - <iso639Id>fra</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>fr_sundeadkeys</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Switzerland, Sun dead keys)</_description> - <languageList> - <iso639Id>fra</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>fr_mac</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Switzerland, Macintosh)</_description> - <languageList> - <iso639Id>fra</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>de_mac</name> - <_shortDescription>de</_shortDescription> - <_description>German (Switzerland, Macintosh)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>sy</name> - <_shortDescription>ar</_shortDescription> - <_description>Arabic (Syria)</_description> - <languageList> - <iso639Id>syr</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>syc</name> - <_shortDescription>syc</_shortDescription> - <_description>Syriac</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>syc_phonetic</name> - <_shortDescription>syc</_shortDescription> - <_description>Syriac (phonetic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ku</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Syria, Latin Q)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_f</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Syria, F)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_alt</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Syria, Latin Alt-Q)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>tj</name> - <_shortDescription>tg</_shortDescription> - <_description>Tajik</_description> - <languageList> - <iso639Id>tgk</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>legacy</name> - <_description>Tajik (legacy)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>lk</name> - <_shortDescription>si</_shortDescription> - <_description>Sinhala</_description> - <languageList> - <iso639Id>sin</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>tam_unicode</name> - <_shortDescription>ta</_shortDescription> - <_description>Tamil (Sri Lanka, Unicode)</_description> - <languageList> - <iso639Id>tam</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>tam_TAB</name> - <_description>Tamil (Sri Lanka, TAB Typewriter)</_description> - <languageList> - <iso639Id>tam</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>th</name> - <_shortDescription>th</_shortDescription> - <_description>Thai</_description> - <languageList> - <iso639Id>tha</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>tis</name> - <_description>Thai (TIS-820.2538)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>pat</name> - <_description>Thai (Pattachote)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>tr</name> - <_shortDescription>tr</_shortDescription> - <_description>Turkish</_description> - <languageList> - <iso639Id>tur</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>f</name> - <_description>Turkish (F)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>alt</name> - <_description>Turkish (Alt-Q)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>sundeadkeys</name> - <_description>Turkish (Sun dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ku</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Turkey, Latin Q)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_f</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Turkey, F)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ku_alt</name> - <_shortDescription>ku</_shortDescription> - <_description>Kurdish (Turkey, Latin Alt-Q)</_description> - <languageList> - <iso639Id>kur</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>intl</name> - <_description>Turkish (international with dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>crh</name> - <_shortDescription>crh</_shortDescription> - <_description>Crimean Tatar (Turkish Q)</_description> - <languageList> - <iso639Id>crh</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>crh_f</name> - <_shortDescription>crh</_shortDescription> - <_description>Crimean Tatar (Turkish F)</_description> - <languageList> - <iso639Id>crh</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>crh_alt</name> - <_shortDescription>crh</_shortDescription> - <_description>Crimean Tatar (Turkish Alt-Q)</_description> - <languageList> - <iso639Id>crh</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>tw</name> - <_shortDescription>twn</_shortDescription> - <_description>Taiwanese</_description> - <languageList> - <iso639Id>trv</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>indigenous</name> - <_description>Taiwanese (indigenous)</_description> - <languageList> - <iso639Id>ami</iso639Id> - <iso639Id>tay</iso639Id> - <iso639Id>bnn</iso639Id> - <iso639Id>ckv</iso639Id> - <iso639Id>pwn</iso639Id> - <iso639Id>pyu</iso639Id> - <iso639Id>dru</iso639Id> - <iso639Id>ais</iso639Id> - <iso639Id>ssf</iso639Id> - <iso639Id>tao</iso639Id> - <iso639Id>tsu</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>saisiyat</name> - <_shortDescription>xsy</_shortDescription> - <_description>Saisiyat (Taiwan)</_description> - <languageList> - <iso639Id>xsy</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ua</name> - <_shortDescription>uk</_shortDescription> - <_description>Ukrainian</_description> - <languageList> - <iso639Id>ukr</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>phonetic</name> - <_description>Ukrainian (phonetic)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>typewriter</name> - <_description>Ukrainian (typewriter)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>winkeys</name> - <_description>Ukrainian (WinKeys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>legacy</name> - <_description>Ukrainian (legacy)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>rstu</name> - <_description>Ukrainian (standard RSTU)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>rstu_ru</name> - <_description>Russian (Ukraine, standard RSTU)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>homophonic</name> - <_description>Ukrainian (homophonic)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>gb</name> - <_shortDescription>GBr</_shortDescription> - <_description>English (UK)</_description> - <languageList> - <iso639Id>eng</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>extd</name> - <_description>English (UK, extended WinKeys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>intl</name> - <_description>English (UK, international with dead keys)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>English (UK, Dvorak)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorakukp</name> - <_description>English (UK, Dvorak with UK punctuation)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac</name> - <_description>English (UK, Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>mac_intl</name> - <_description>English (UK, Macintosh international)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>colemak</name> - <_description>English (UK, Colemak)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>uz</name> - <_shortDescription>uz</_shortDescription> - <_description>Uzbek</_description> - <languageList> - <iso639Id>uzb</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>latin</name> - <_description>Uzbek (Latin)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>vn</name> - <_shortDescription>vi</_shortDescription> - <_description>Vietnamese</_description> - <languageList> - <iso639Id>vie</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>kr</name> - <_shortDescription>ko</_shortDescription> - <_description>Korean</_description> - <languageList> - <iso639Id>kor</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>kr104</name> - <_description>Korean (101/104 key compatible)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>nec_vndr/jp</name> - <_shortDescription>ja</_shortDescription> - <_description>Japanese (PC-98xx Series)</_description> - <countryList> - <iso3166Id>JP</iso3166Id> - </countryList> - <languageList> - <iso639Id>jpn</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>ie</name> - <_shortDescription>ie</_shortDescription> - <_description>Irish</_description> - <languageList> - <iso639Id>eng</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>CloGaelach</name> - <_description>CloGaelach</_description> - <languageList> - <iso639Id>gla</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>UnicodeExpert</name> - <_description>Irish (UnicodeExpert)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ogam</name> - <_description>Ogham</_description> - <languageList> - <iso639Id>sga</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>ogam_is434</name> - <_description>Ogham (IS434)</_description> - <languageList> - <iso639Id>sga</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>pk</name> - <_shortDescription>ur</_shortDescription> - <_description>Urdu (Pakistan)</_description> - <languageList> - <iso639Id>urd</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>urd-crulp</name> - <_description>Urdu (Pakistan, CRULP)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>urd-nla</name> - <_description>Urdu (Pakistan, NLA)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>ara</name> - <_shortDescription>ar</_shortDescription> - <_description>Arabic (Pakistan)</_description> - <languageList> - <iso639Id>ara</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>snd</name> - <_shortDescription>sd</_shortDescription> - <_description>Sindhi</_description> - <languageList> - <iso639Id>sd</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>mv</name> - <_shortDescription>dv</_shortDescription> - <_description>Dhivehi</_description> - <languageList> - <iso639Id>div</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>za</name> - <_shortDescription>en</_shortDescription> - <_description>English (South Africa)</_description> - <languageList> - <iso639Id>eng</iso639Id> - </languageList> - </configItem> - </layout> - <layout> - <configItem> - <name>epo</name> - <_shortDescription>eo</_shortDescription> - <_description>Esperanto</_description> - <languageList> - <iso639Id>epo</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>legacy</name> - <_description>Esperanto (displaced semicolon and quote, obsolete)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>np</name> - <_shortDescription>ne</_shortDescription> - <_description>Nepali</_description> - <languageList> - <iso639Id>nep</iso639Id> - </languageList> - </configItem> - </layout> - <layout> - <configItem> - <name>ng</name> - <_shortDescription>en</_shortDescription> - <_description>English (Nigeria)</_description> - <languageList> - <iso639Id>eng</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>igbo</name> - <_shortDescription>ig</_shortDescription> - <_description>Igbo</_description> - <languageList> - <iso639Id>ibo</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>yoruba</name> - <_shortDescription>yo</_shortDescription> - <_description>Yoruba</_description> - <languageList> - <iso639Id>yor</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>hausa</name> - <_shortDescription>ha</_shortDescription> - <_description>Hausa</_description> - <languageList> - <iso639Id>hau</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>et</name> - <_shortDescription>am</_shortDescription> - <_description>Amharic</_description> - <languageList> - <iso639Id>amh</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>sn</name> - <_shortDescription>wo</_shortDescription> - <_description>Wolof</_description> - <languageList> - <iso639Id>wol</iso639Id> - </languageList> - </configItem> - <variantList/> - </layout> - <layout> - <configItem> - <name>brai</name> - <_shortDescription>brl</_shortDescription> - <_description>Braille</_description> - </configItem> - <variantList> - <variant> - <configItem> - <name>left_hand</name> - <_description>Braille (left hand)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>right_hand</name> - <_description>Braille (right hand)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>tm</name> - <_shortDescription>tk</_shortDescription> - <_description>Turkmen</_description> - <languageList> - <iso639Id>tuk</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>alt</name> - <_description>Turkmen (Alt-Q)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>ml</name> - <_shortDescription>bm</_shortDescription> - <_description>Bambara</_description> - <languageList> - <iso639Id>bam</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>fr-oss</name> - <_shortDescription>fr</_shortDescription> - <_description>French (Mali, alternative)</_description> - <languageList> - <iso639Id>fr</iso639Id> - </languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>us-mac</name> - <_shortDescription>en</_shortDescription> - <_description>English (Mali, US Macintosh)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>us-intl</name> - <_shortDescription>en</_shortDescription> - <_description>English (Mali, US international)</_description> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>tz</name> - <_shortDescription>sw</_shortDescription> - <_description>Swahili (Tanzania)</_description> - <languageList> - <iso639Id>swa</iso639Id> - </languageList> - </configItem> - </layout> - <layout> - <configItem> - <name>ke</name> - <_shortDescription>sw</_shortDescription> - <_description>Swahili (Kenya)</_description> - <languageList> - <iso639Id>swa</iso639Id> - </languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>kik</name> - <_shortDescription>ki</_shortDescription> - <_description>Kikuyu</_description> - <languageList> - <iso639Id>kik</iso639Id> - </languageList> - </configItem> - </variant> - </variantList> - </layout> - <layout> - <configItem> - <name>bw</name> - <_shortDescription>tn</_shortDescription> - <_description>Tswana</_description> - <languageList> - <iso639Id>tsn</iso639Id> - </languageList> - </configItem> - </layout> - <layout> - <configItem> - <name>ph</name> - <_shortDescription>ph</_shortDescription> - <_description>Filipino</_description> - <languageList><iso639Id>eng</iso639Id> - <iso639Id>bik</iso639Id> - <iso639Id>ceb</iso639Id> - <iso639Id>fil</iso639Id> - <iso639Id>hil</iso639Id> - <iso639Id>ilo</iso639Id> - <iso639Id>pam</iso639Id> - <iso639Id>pag</iso639Id> - <iso639Id>phi</iso639Id> - <iso639Id>tgl</iso639Id> - <iso639Id>war</iso639Id></languageList> - </configItem> - <variantList> - <variant> - <configItem> - <name>qwerty-bay</name> - <_description>Filipino (QWERTY Baybayin)</_description> - <languageList><iso639Id>bik</iso639Id> - <iso639Id>ceb</iso639Id> - <iso639Id>fil</iso639Id> - <iso639Id>hil</iso639Id> - <iso639Id>ilo</iso639Id> - <iso639Id>pam</iso639Id> - <iso639Id>pag</iso639Id> - <iso639Id>phi</iso639Id> - <iso639Id>tgl</iso639Id> - <iso639Id>war</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>capewell-dvorak</name> - <_description>Filipino (Capewell-Dvorak Latin)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>capewell-dvorak-bay</name> - <_description>Filipino (Capewell-Dvorak Baybayin)</_description> - <languageList><iso639Id>bik</iso639Id> - <iso639Id>ceb</iso639Id> - <iso639Id>fil</iso639Id> - <iso639Id>hil</iso639Id> - <iso639Id>ilo</iso639Id> - <iso639Id>pam</iso639Id> - <iso639Id>pag</iso639Id> - <iso639Id>phi</iso639Id> - <iso639Id>tgl</iso639Id> - <iso639Id>war</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>capewell-qwerf2k6</name> - <_description>Filipino (Capewell-QWERF 2006 Latin)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>capewell-qwerf2k6-bay</name> - <_description>Filipino (Capewell-QWERF 2006 Baybayin)</_description> - <languageList><iso639Id>bik</iso639Id> - <iso639Id>ceb</iso639Id> - <iso639Id>fil</iso639Id> - <iso639Id>hil</iso639Id> - <iso639Id>ilo</iso639Id> - <iso639Id>pam</iso639Id> - <iso639Id>pag</iso639Id> - <iso639Id>phi</iso639Id> - <iso639Id>tgl</iso639Id> - <iso639Id>war</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>colemak</name> - <_description>Filipino (Colemak Latin)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>colemak-bay</name> - <_description>Filipino (Colemak Baybayin)</_description> - <languageList><iso639Id>bik</iso639Id> - <iso639Id>ceb</iso639Id> - <iso639Id>fil</iso639Id> - <iso639Id>hil</iso639Id> - <iso639Id>ilo</iso639Id> - <iso639Id>pam</iso639Id> - <iso639Id>pag</iso639Id> - <iso639Id>phi</iso639Id> - <iso639Id>tgl</iso639Id> - <iso639Id>war</iso639Id></languageList> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak</name> - <_description>Filipino (Dvorak Latin)</_description> - </configItem> - </variant> - <variant> - <configItem> - <name>dvorak-bay</name> - <_description>Filipino (Dvorak Baybayin)</_description> - <languageList><iso639Id>bik</iso639Id> - <iso639Id>ceb</iso639Id> - <iso639Id>fil</iso639Id> - <iso639Id>hil</iso639Id> - <iso639Id>ilo</iso639Id> - <iso639Id>pam</iso639Id> - <iso639Id>pag</iso639Id> - <iso639Id>phi</iso639Id> - <iso639Id>tgl</iso639Id> - <iso639Id>war</iso639Id></languageList> - </configItem> - </variant> - </variantList> - </layout> - </layoutList> - <optionList> - <group allowMultipleSelection="true"> - <!-- The key combination used to switch between groups --> - <configItem> - <name>grp</name> - <_description>Key(s) to change layout</_description> - </configItem> - <option> - <configItem> - <name>grp:switch</name> - <_description>Right Alt (while pressed)</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:lswitch</name> - <_description>Left Alt (while pressed)</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:lwin_switch</name> - <_description>Left Win (while pressed)</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:rwin_switch</name> - <_description>Right Win (while pressed)</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:win_switch</name> - <_description>Any Win key (while pressed)</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:caps_switch</name> - <_description>Caps Lock (while pressed), Alt+Caps Lock does the original capslock action</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:rctrl_switch</name> - <_description>Right Ctrl (while pressed)</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:toggle</name> - <_description>Right Alt</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:lalt_toggle</name> - <_description>Left Alt</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:caps_toggle</name> - <_description>Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:shift_caps_toggle</name> - <_description>Shift+Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:shift_caps_switch</name> - <_description>Caps Lock (to first layout), Shift+Caps Lock (to last layout)</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:win_menu_switch</name> - <_description>Left Win (to first layout), Right Win/Menu (to last layout)</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:lctrl_rctrl_switch</name> - <_description>Left Ctrl (to first layout), Right Ctrl (to last layout)</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:alt_caps_toggle</name> - <_description>Alt+Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:shifts_toggle</name> - <_description>Both Shift keys together</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:alts_toggle</name> - <_description>Both Alt keys together</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:ctrls_toggle</name> - <_description>Both Ctrl keys together</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:ctrl_shift_toggle</name> - <_description>Ctrl+Shift</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:lctrl_lshift_toggle</name> - <_description>Left Ctrl+Left Shift</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:rctrl_rshift_toggle</name> - <_description>Right Ctrl+Right Shift</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:ctrl_alt_toggle</name> - <_description>Alt+Ctrl</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:alt_shift_toggle</name> - <_description>Alt+Shift</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:alt_space_toggle</name> - <_description>Alt+Space</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:menu_toggle</name> - <_description>Menu</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:lwin_toggle</name> - <_description>Left Win</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:rwin_toggle</name> - <_description>Right Win</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:lshift_toggle</name> - <_description>Left Shift</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:rshift_toggle</name> - <_description>Right Shift</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:lctrl_toggle</name> - <_description>Left Ctrl</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:rctrl_toggle</name> - <_description>Right Ctrl</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:sclk_toggle</name> - <_description>Scroll Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp:lctrl_lwin_rctrl_menu</name> - <_description>LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="true"> - <!-- The key combination used to choose the 3rd (and 4th, together with Shift) - level of symbols --> - <configItem> - <name>lv3</name> - <_description>Key to choose 3rd level</_description> - </configItem> - <option> - <configItem> - <name>lv3:switch</name> - <_description>Right Ctrl</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:menu_switch</name> - <_description>Menu</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:win_switch</name> - <_description>Any Win key</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:lwin_switch</name> - <_description>Left Win</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:rwin_switch</name> - <_description>Right Win</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:alt_switch</name> - <_description>Any Alt key</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:lalt_switch</name> - <_description>Left Alt</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:ralt_switch</name> - <_description>Right Alt</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:ralt_switch_multikey</name> - <_description>Right Alt, Shift+Right Alt key is Multi_Key</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:ralt_alt</name> - <_description>Right Alt key never chooses 3rd level</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:enter_switch</name> - <_description>Enter on keypad</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:caps_switch</name> - <_description>Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:bksl_switch</name> - <_description>Backslash</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:lsgt_switch</name> - <_description><Less/Greater></_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:caps_switch_latch</name> - <_description>Caps Lock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:bksl_switch_latch</name> - <_description>Backslash (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv3:lsgt_switch_latch</name> - <_description><Less/Greater> (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="true"> - <!-- Tweaking the position of the "Ctrl" key --> - <configItem> - <name>ctrl</name> - <_description>Ctrl key position</_description> - </configItem> - <option> - <configItem> - <name>ctrl:nocaps</name> - <_description>Make Caps Lock an additional Ctrl</_description> - </configItem> - </option> - <option> - <configItem> - <name>ctrl:lctrl_meta</name> - <_description>Meta on Left Ctrl</_description> - </configItem> - </option> - <option> - <configItem> - <name>ctrl:swapcaps</name> - <_description>Swap Ctrl and Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>ctrl:ctrl_ac</name> - <_description>At left of 'A'</_description> - </configItem> - </option> - <option> - <configItem> - <name>ctrl:ctrl_aa</name> - <_description>At bottom left</_description> - </configItem> - </option> - <option> - <configItem> - <name>ctrl:ctrl_ra</name> - <_description>Right Ctrl as Right Alt</_description> - </configItem> - </option> - <option> - <configItem> - <name>ctrl:ctrl_menu</name> - <_description>Right Ctrl is mapped to Menu</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="true"> - <!-- Using startard LEDs to indicate the alternative (not first) group(s) --> - <configItem> - <name>grp_led</name> - <_description>Use keyboard LED to show alternative layout</_description> - </configItem> - <option> - <configItem> - <name>grp_led:num</name> - <_description>Num Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp_led:caps</name> - <_description>Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>grp_led:scroll</name> - <_description>Scroll Lock</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="false"> - <!-- Select a keypad type --> - <configItem> - <name>keypad</name> - <_description>Numeric keypad layout selection</_description> - </configItem> - <option> - <configItem> - <name>keypad:legacy</name> - <_description>Legacy</_description> - </configItem> - </option> - <option> - <configItem> - <name>keypad:oss</name> - <_description>Unicode additions (arrows and math operators)</_description> - </configItem> - </option> - <option> - <configItem> - <name>keypad:future</name> - <_description>Unicode additions (arrows and math operators). Math operators on default level</_description> - </configItem> - </option> - <option> - <configItem> - <name>keypad:legacy_wang</name> - <_description>Legacy Wang 724</_description> - </configItem> - </option> - <option> - <configItem> - <name>keypad:oss_wang</name> - <_description>Wang 724 keypad with unicode additions (arrows and math operators)</_description> - </configItem> - </option> - <option> - <configItem> - <name>keypad:future_wang</name> - <_description>Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level</_description> - </configItem> - </option> - <option> - <configItem> - <name>keypad:hex</name> - <_description>Hexadecimal</_description> - </configItem> - </option> - <option> - <configItem> - <name>keypad:atm</name> - <_description>ATM/phone-style</_description> - </configItem> - </option> - </group> - <!-- This option should override the KPDL key defined in keypad; I hope it's declared in the right place --> - <group allowMultipleSelection="false"> - <!-- Select a keypad KPDL variant --> - <configItem> - <name>kpdl</name> - <_description>Numeric keypad delete key behaviour</_description> - </configItem> - <option> - <configItem> - <!-- Actually, with KP_DECIMAL, as the old keypad(dot) --> - <name>kpdl:dot</name> - <_description>Legacy key with dot</_description> - </configItem> - </option> - <option> - <configItem> - <name>kpdl:comma</name> - <!-- Actually, with KP_SEPARATOR, as the old keypad(comma) --> - <_description>Legacy key with comma</_description> - </configItem> - </option> - <option> - <configItem> - <name>kpdl:dotoss</name> - <_description>Four-level key with dot</_description> - </configItem> - </option> - <option> - <configItem> - <name>kpdl:dotoss_latin9</name> - <_description>Four-level key with dot, latin-9 restriction</_description> - </configItem> - </option> - <option> - <configItem> - <name>kpdl:commaoss</name> - <_description>Four-level key with comma</_description> - </configItem> - </option> - <option> - <configItem> - <name>kpdl:momayyezoss</name> - <_description>Four-level key with momayyez</_description> - </configItem> - </option> - <option> - <configItem> - <name>kpdl:kposs</name> - <!-- This assumes the KP_ abstract symbols are actually useful for some apps - The description needs to be rewritten --> - <_description>Four-level key with abstract separators</_description> - </configItem> - </option> - <option> - <configItem> - <name>kpdl:semi</name> - <_description>Semi-colon on third level</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="false"> - <!-- Caps Lock tweaks. - "Internal" capitalization means capitalization using some internal tables. - Otherwise "as Shift" - means using next group. --> - <configItem> - <name>caps</name> - <_description>Caps Lock key behavior</_description> - </configItem> - <option> - <configItem> - <name>caps:internal</name> - <_description>Caps Lock uses internal capitalization. Shift "pauses" Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:internal_nocancel</name> - <_description>Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:shift</name> - <_description>Caps Lock acts as Shift with locking. Shift "pauses" Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:shift_nocancel</name> - <_description>Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:capslock</name> - <_description>Caps Lock toggles normal capitalization of alphabetic characters</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:numlock</name> - <_description>Make Caps Lock an additional Num Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:swapescape</name> - <_description>Swap ESC and Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:escape</name> - <_description>Make Caps Lock an additional ESC</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:backspace</name> - <_description>Make Caps Lock an additional Backspace</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:super</name> - <_description>Make Caps Lock an additional Super</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:hyper</name> - <_description>Make Caps Lock an additional Hyper</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:shiftlock</name> - <_description>Caps Lock toggles Shift so all keys are affected</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:none</name> - <_description>Caps Lock is disabled</_description> - </configItem> - </option> - <option> - <configItem> - <name>caps:ctrl_modifier</name> - <_description>Make Caps Lock an additional Control but keep the Caps_Lock keysym</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="false"> - <!-- Using special PC keys (Win, Menu) to work as standard X keys (Super, Hyper, etc.) --> - <configItem> - <name>altwin</name> - <_description>Alt/Win key behavior</_description> - </configItem> - <option> - <configItem> - <name>altwin:menu</name> - <_description>Add the standard behavior to Menu key</_description> - </configItem> - </option> - <option> - <configItem> - <name>altwin:meta_alt</name> - <_description>Alt and Meta are on Alt keys</_description> - </configItem> - </option> - <option> - <configItem> - <name>altwin:ctrl_win</name> - <_description>Control is mapped to Win keys (and the usual Ctrl keys)</_description> - </configItem> - </option> - <option> - <configItem> - <name>altwin:ctrl_alt_win</name> - <_description>Control is mapped to Alt keys, Alt is mapped to Win keys</_description> - </configItem> - </option> - <option> - <configItem> - <name>altwin:meta_win</name> - <_description>Meta is mapped to Win keys</_description> - </configItem> - </option> - <option> - <configItem> - <name>altwin:left_meta_win</name> - <_description>Meta is mapped to Left Win</_description> - </configItem> - </option> - <option> - <configItem> - <name>altwin:hyper_win</name> - <_description>Hyper is mapped to Win-keys</_description> - </configItem> - </option> - <option> - <configItem> - <name>altwin:alt_super_win</name> - <_description>Alt is mapped to Right Win, Super to Menu</_description> - </configItem> - </option> - <option> - <configItem> - <name>altwin:swap_lalt_lwin</name> - <_description>Left Alt is swapped with Left Win</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="true"> - <!-- Tweaking the position of the "Compose" key: mapping to existing PC keys --> - <configItem> - <name>Compose key</name> - <_description>Compose key position</_description> - </configItem> - <option> - <configItem> - <name>compose:ralt</name> - <_description>Right Alt</_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:lwin</name> - <_description>Left Win</_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:rwin</name> - <_description>Right Win</_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:menu</name> - <_description>Menu</_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:lctrl</name> - <_description>Left Ctrl</_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:rctrl</name> - <_description>Right Ctrl</_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:caps</name> - <_description>Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:102</name> - <_description><Less/Greater></_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:paus</name> - <_description>Pause</_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:prsc</name> - <_description>PrtSc</_description> - </configItem> - </option> - <option> - <configItem> - <name>compose:sclk</name> - <_description>Scroll Lock</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="true"> - <configItem> - <name>compat</name> - <_description>Miscellaneous compatibility options</_description> - </configItem> - <option> - <configItem> - <name>numpad:pc</name> - <_description>Default numeric keypad keys</_description> - </configItem> - </option> - <option> - <configItem> - <name>numpad:mac</name> - <_description>Numeric keypad keys work as with Macintosh</_description> - </configItem> - </option> - <option> - <configItem> - <name>numpad:microsoft</name> - <_description>Shift with numeric keypad keys works as in MS Windows</_description> - </configItem> - </option> - <option> - <configItem> - <name>numpad:shift3</name> - <_description>Shift does not cancel Num Lock, chooses 3rd level instead</_description> - </configItem> - </option> - <option> - <configItem> - <name>srvrkeys:none</name> - <_description>Special keys (Ctrl+Alt+<key>) handled in a server</_description> - </configItem> - </option> - <option> - <configItem> - <name>apple:alupckeys</name> - <_description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)</_description> - </configItem> - </option> - <option> - <configItem> - <name>shift:breaks_caps</name> - <_description>Shift cancels Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>misc:typo</name> - <_description>Enable extra typographic characters</_description> - </configItem> - </option> - <option> - <configItem> - <name>shift:both_capslock</name> - <_description>Both Shift-Keys together toggle Caps Lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>shift:both_capslock_cancel</name> - <_description>Both Shift-Keys together activate Caps Lock, one Shift-Key deactivates</_description> - </configItem> - </option> - <option> - <configItem> - <name>shift:both_shiftlock</name> - <_description>Both Shift-Keys together toggle ShiftLock</_description> - </configItem> - </option> - <option> - <configItem> - <name>keypad:pointerkeys</name> - <_description>Toggle PointerKeys with Shift + NumLock.</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="true"> - <!-- Special shortcuts for the Euro character --> - <configItem> - <name>eurosign</name> - <_description>Adding currency signs to certain keys</_description> - </configItem> - <option> - <configItem> - <name>eurosign:e</name> - <_description>Euro on E</_description> - </configItem> - </option> - <option> - <configItem> - <name>eurosign:2</name> - <_description>Euro on 2</_description> - </configItem> - </option> - <option> - <configItem> - <name>eurosign:4</name> - <_description>Euro on 4</_description> - </configItem> - </option> - <option> - <configItem> - <name>eurosign:5</name> - <_description>Euro on 5</_description> - </configItem> - </option> - <option> - <configItem> - <name>rupeesign:4</name> - <_description>Rupee on 4</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="true"> - <configItem> - <name>lv5</name> - <_description>Key to choose 5th level</_description> - </configItem> - <option> - <configItem> - <name>lv5:lsgt_switch_lock</name> - <_description><Less/Greater> chooses 5th level, locks when pressed together with another 5th-level-chooser</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv5:ralt_switch_lock</name> - <_description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv5:lwin_switch_lock</name> - <_description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv5:rwin_switch_lock</name> - <_description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv5:lsgt_switch_lock_cancel</name> - <_description><Less/Greater> chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv5:ralt_switch_lock_cancel</name> - <_description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv5:lwin_switch_lock_cancel</name> - <_description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv5:rwin_switch_lock_cancel</name> - <_description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv5:lsgt_switch_lock_cancel</name> - <_description><Less/Greater> chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</_description> - </configItem> - </option> - <option> - <configItem> - <name>lv5:ralt_switch_lock_cancel</name> - <_description>Right Alt chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="false"> - <!-- Let space output NBSP, NNBSP, ZWNJ, and ZWJ for the desired level --> - <configItem> - <name>nbsp</name> - <_description>Using space key to input non-breakable space character</_description> - </configItem> - <option> - <configItem> - <name>nbsp:none</name> - <_description>Usual space at any level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:level2</name> - <_description>Non-breakable space character at second level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:level3</name> - <_description>Non-breakable space character at third level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:level3s</name> - <_description>Non-breakable space character at third level, nothing at fourth level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:level3n</name> - <_description>Non-breakable space character at third level, thin non-breakable space character at fourth level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:level4</name> - <_description>Non-breakable space character at fourth level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:level4n</name> - <_description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:level4nl</name> - <_description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:zwnj2</name> - <_description>Zero-width non-joiner character at second level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:zwnj2zwj3</name> - <_description>Zero-width non-joiner character at second level, zero-width joiner character at third level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:zwnj2zwj3nb4</name> - <_description>Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:zwnj2nb3</name> - <_description>Zero-width non-joiner character at second level, non-breakable space character at third level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:zwnj2nb3s</name> - <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:zwnj2nb3zwj4</name> - <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:zwnj2nb3nnb4</name> - <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level</_description> - </configItem> - </option> - <option> - <configItem> - <name>nbsp:zwnj3zwj4</name> - <_description>Zero-width non-joiner character at third level, zero-width joiner at fourth level</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="true"> - <configItem> - <name>japan</name> - <_description>Japanese keyboard options</_description> - </configItem> - <option> - <configItem> - <name>japan:kana_lock</name> - <_description>Kana Lock key is locking</_description> - </configItem> - </option> - <option> - <configItem> - <name>japan:nicola_f_bs</name> - <_description>NICOLA-F style Backspace</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="false"> - <configItem> - <name>esperanto</name> - <_description>Adding Esperanto circumflexes (supersigno)</_description> - </configItem> - <option> - <configItem> - <name>esperanto:qwerty</name> - <_description>To the corresponding key in a Qwerty keyboard.</_description> - </configItem> - </option> - <option> - <configItem> - <name>esperanto:dvorak</name> - <_description>To the corresponding key in a Dvorak keyboard.</_description> - </configItem> - </option> - </group> - <group allowMultipleSelection="true"> - <configItem> - <name>terminate</name> - <_description>Key sequence to kill the X server</_description> - </configItem> - <option> - <configItem> - <name>terminate:ctrl_alt_bksp</name> - <_description>Control + Alt + Backspace</_description> - </configItem> - </option> - </group> - </optionList> -</xkbConfigRegistry> +<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
+<xkbConfigRegistry version="1.1">
+ <modelList>
+ <model>
+ <configItem>
+ <name>pc101</name>
+ <_description>Generic 101-key PC</_description>
+ <vendor>Generic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>pc102</name>
+ <_description>Generic 102-key (Intl) PC</_description>
+ <vendor>Generic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>pc104</name>
+ <_description>Generic 104-key PC</_description>
+ <vendor>Generic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>pc105</name>
+ <_description>Generic 105-key (Intl) PC</_description>
+ <vendor>Generic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dell101</name>
+ <_description>Dell 101-key PC</_description>
+ <vendor>Dell</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>latitude</name>
+ <_description>Dell Latitude series laptop</_description>
+ <vendor>Dell</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dellm65</name>
+ <_description>Dell Precision M65</_description>
+ <vendor>Dell</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>everex</name>
+ <_description>Everex STEPnote</_description>
+ <vendor>Everex</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>flexpro</name>
+ <_description>Keytronic FlexPro</_description>
+ <vendor>Keytronic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoft</name>
+ <_description>Microsoft Natural</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>omnikey101</name>
+ <_description>Northgate OmniKey 101</_description>
+ <vendor>Northgate</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>winbook</name>
+ <_description>Winbook Model XP5</_description>
+ <vendor>Generic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>pc98</name>
+ <_description>PC-98xx Series</_description>
+ <vendor>Generic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>a4techKB21</name>
+ <_description>A4Tech KB-21</_description>
+ <vendor>A4Tech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>a4techKBS8</name>
+ <_description>A4Tech KBS-8</_description>
+ <vendor>A4Tech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>a4_rfkb23</name>
+ <_description>A4Tech Wireless Desktop RFKB-23</_description>
+ <vendor>A4Tech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>airkey</name>
+ <_description>Acer AirKey V</_description>
+ <vendor>Acer</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>azonaRF2300</name>
+ <_description>Azona RF2300 wireless Internet Keyboard</_description>
+ <vendor>Azona</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>scorpius</name>
+ <_description>Advance Scorpius KI</_description>
+ <vendor>Scorpius</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>brother</name>
+ <_description>Brother Internet Keyboard</_description>
+ <vendor>Brother</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc5113rf</name>
+ <_description>BTC 5113RF Multimedia</_description>
+ <vendor>BTC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc5126t</name>
+ <_description>BTC 5126T</_description>
+ <vendor>BTC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc6301urf</name>
+ <_description>BTC 6301URF</_description>
+ <vendor>BTC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc9000</name>
+ <_description>BTC 9000</_description>
+ <vendor>BTC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc9000a</name>
+ <_description>BTC 9000A</_description>
+ <vendor>BTC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc9001ah</name>
+ <_description>BTC 9001AH</_description>
+ <vendor>BTC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc5090</name>
+ <_description>BTC 5090</_description>
+ <vendor>BTC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc9019u</name>
+ <_description>BTC 9019U</_description>
+ <vendor>BTC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc9116u</name>
+ <_description>BTC 9116U Mini Wireless Internet and Gaming</_description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cherryblue</name>
+ <_description>Cherry Blue Line CyBo@rd</_description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cherryblueb</name>
+ <_description>Cherry CyMotion Master XPress</_description>
+ <vendor>Cherry</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cherrybluea</name>
+ <_description>Cherry Blue Line CyBo@rd (alternate option)</_description>
+ <vendor>Cherry</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cherrycyboard</name>
+ <_description>Cherry CyBo@rd USB-Hub</_description>
+ <vendor>Cherry</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cherrycmexpert</name>
+ <_description>Cherry CyMotion Expert</_description>
+ <vendor>Cherry</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cherrybunlim</name>
+ <_description>Cherry B.UNLIMITED</_description>
+ <vendor>Cherry</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>chicony</name>
+ <_description>Chicony Internet Keyboard</_description>
+ <vendor>Chicony</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>chicony0108</name>
+ <_description>Chicony KU-0108</_description>
+ <vendor>Chicony</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>chicony0420</name>
+ <_description>Chicony KU-0420</_description>
+ <vendor>Chicony</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>chicony9885</name>
+ <_description>Chicony KB-9885</_description>
+ <vendor>Chicony</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>compaqeak8</name>
+ <_description>Compaq Easy Access Keyboard</_description>
+ <vendor>Compaq</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>compaqik7</name>
+ <_description>Compaq Internet Keyboard (7 keys)</_description>
+ <vendor>Compaq</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>compaqik13</name>
+ <_description>Compaq Internet Keyboard (13 keys)</_description>
+ <vendor>Compaq</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>compaqik18</name>
+ <_description>Compaq Internet Keyboard (18 keys)</_description>
+ <vendor>Compaq</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cymotionlinux</name>
+ <_description>Cherry CyMotion Master Linux</_description>
+ <vendor>Cherry</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>armada</name>
+ <_description>Laptop/notebook Compaq (eg. Armada) Laptop Keyboard</_description>
+ <vendor>Compaq</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>presario</name>
+ <_description>Laptop/notebook Compaq (eg. Presario) Internet Keyboard</_description>
+ <vendor>Compaq</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>ipaq</name>
+ <_description>Compaq iPaq Keyboard</_description>
+ <vendor>Compaq</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dell</name>
+ <_description>Dell</_description>
+ <vendor>Dell</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dellsk8125</name>
+ <_description>Dell SK-8125</_description>
+ <vendor>Dell</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dellsk8135</name>
+ <_description>Dell SK-8135</_description>
+ <vendor>Dell</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dellusbmm</name>
+ <_description>Dell USB Multimedia Keyboard</_description>
+ <vendor>Dell</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>inspiron</name>
+ <_description>Dell Laptop/notebook Inspiron 6xxx/8xxx</_description>
+ <vendor>Dell</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>precision_m</name>
+ <_description>Dell Laptop/notebook Precision M series</_description>
+ <vendor>Dell</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dexxa</name>
+ <_description>Dexxa Wireless Desktop Keyboard</_description>
+ <vendor>Dexxa</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>diamond</name>
+ <_description>Diamond 9801 / 9802 series</_description>
+ <vendor>Diamond</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dtk2000</name>
+ <_description>DTK2000</_description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>ennyah_dkb1008</name>
+ <_description>Ennyah DKB-1008</_description>
+ <vendor>Ennyah</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>fscaa1667g</name>
+ <_description>Fujitsu-Siemens Computers AMILO laptop</_description>
+ <vendor>Fujitsu-Siemens</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>genius</name>
+ <_description>Genius Comfy KB-16M / Genius MM Keyboard KWD-910</_description>
+ <vendor>Genius</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>geniuscomfy</name>
+ <_description>Genius Comfy KB-12e</_description>
+ <vendor>Genius</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>geniuscomfy2</name>
+ <_description>Genius Comfy KB-21e-Scroll</_description>
+ <vendor>Genius</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>geniuskb19e</name>
+ <_description>Genius KB-19e NB</_description>
+ <vendor>Genius</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>geniuskkb2050hs</name>
+ <_description>Genius KKB-2050HS</_description>
+ <vendor>Genius</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>gyration</name>
+ <_description>Gyration</_description>
+ <vendor>Gyration</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>htcdream</name>
+ <_description>HTC Dream</_description>
+ <vendor>HTC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>kinesis</name>
+ <_description>Kinesis</_description>
+ <vendor>Kinesis</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logitech_base</name>
+ <_description>Logitech Generic Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logitech_g15</name>
+ <_description>Logitech G15 extra keys via G15daemon</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpi6</name>
+ <_description>Hewlett-Packard Internet Keyboard</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hp250x</name>
+ <_description>Hewlett-Packard SK-250x Multimedia Keyboard</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpxe3gc</name>
+ <_description>Hewlett-Packard Omnibook XE3 GC</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpxe3gf</name>
+ <_description>Hewlett-Packard Omnibook XE3 GF</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpxt1000</name>
+ <_description>Hewlett-Packard Omnibook XT1000</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpdv5</name>
+ <_description>Hewlett-Packard Pavilion dv5</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpzt11xx</name>
+ <_description>Hewlett-Packard Pavilion ZT11xx</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hp500fa</name>
+ <_description>Hewlett-Packard Omnibook 500 FA</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hp5xx</name>
+ <_description>Hewlett-Packard Omnibook 5xx</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpnx9020</name>
+ <_description>Hewlett-Packard nx9020</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hp6000</name>
+ <_description>Hewlett-Packard Omnibook 6000/6100</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>honeywell_euroboard</name>
+ <_description>Honeywell Euroboard</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpmini110</name>
+ <_description>Hewlett-Packard Mini 110 Notebook</_description>
+ <vendor>Hewlett-Packard</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>rapidaccess</name>
+ <_description>IBM Rapid Access</_description>
+ <vendor>Lenovo (previously IBM)</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>rapidaccess2</name>
+ <_description>IBM Rapid Access II</_description>
+ <vendor>Lenovo (previously IBM)</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>thinkpad</name>
+ <_description>IBM ThinkPad 560Z/600/600E/A22E</_description>
+ <vendor>Lenovo (previously IBM)</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>thinkpad60</name>
+ <_description>IBM ThinkPad R60/T60/R61/T61</_description>
+ <vendor>Lenovo (previously IBM)</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>thinkpadz60</name>
+ <_description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</_description>
+ <vendor>Lenovo (previously IBM)</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>ibm_spacesaver</name>
+ <_description>IBM Space Saver</_description>
+ <vendor>Lenovo (previously IBM)</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiaccess</name>
+ <_description>Logitech Access Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiclx300</name>
+ <_description>Logitech Cordless Desktop LX-300</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logii350</name>
+ <_description>Logitech Internet 350 Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logimel</name>
+ <_description>Logitech Media Elite Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicd</name>
+ <_description>Logitech Cordless Desktop</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicd_it</name>
+ <_description>Logitech Cordless Desktop iTouch</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicd_nav</name>
+ <_description>Logitech Cordless Desktop Navigator</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicd_opt</name>
+ <_description>Logitech Cordless Desktop Optical</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicda</name>
+ <_description>Logitech Cordless Desktop (alternate option)</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicdpa2</name>
+ <_description>Logitech Cordless Desktop Pro (alternate option 2)</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicfn</name>
+ <_description>Logitech Cordless Freedom/Desktop Navigator</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicdn</name>
+ <_description>Logitech Cordless Desktop Navigator</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiitc</name>
+ <_description>Logitech iTouch Cordless Keyboard (model Y-RB6)</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiik</name>
+ <_description>Logitech Internet Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>itouch</name>
+ <_description>Logitech iTouch</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicink</name>
+ <_description>Logitech Internet Navigator Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiex110</name>
+ <_description>Logitech Cordless Desktop EX110</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiinkse</name>
+ <_description>Logitech iTouch Internet Navigator Keyboard SE</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiinkseusb</name>
+ <_description>Logitech iTouch Internet Navigator Keyboard SE (USB)</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiultrax</name>
+ <_description>Logitech Ultra-X Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiultraxc</name>
+ <_description>Logitech Ultra-X Cordless Media Desktop Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logidinovo</name>
+ <_description>Logitech diNovo Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logidinovoedge</name>
+ <_description>Logitech diNovo Edge Keyboard</_description>
+ <vendor>Logitech</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>mx1998</name>
+ <_description>Memorex MX1998</_description>
+ <vendor>Memorex</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>mx2500</name>
+ <_description>Memorex MX2500 EZ-Access Keyboard</_description>
+ <vendor>Memorex</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>mx2750</name>
+ <_description>Memorex MX2750</_description>
+ <vendor>Memorex</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoft4000</name>
+ <_description>Microsoft Natural Wireless Ergonomic Keyboard 4000</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoft7000</name>
+ <_description>Microsoft Natural Wireless Ergonomic Keyboard 7000</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftinet</name>
+ <_description>Microsoft Internet Keyboard</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftpro</name>
+ <_description>Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftprousb</name>
+ <_description>Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftprooem</name>
+ <_description>Microsoft Natural Keyboard Pro OEM</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>vsonku306</name>
+ <_description>ViewSonic KU-306 Internet Keyboard</_description>
+ <vendor>ViewSonic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftprose</name>
+ <_description>Microsoft Internet Keyboard Pro, Swedish</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftoffice</name>
+ <_description>Microsoft Office Keyboard</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftmult</name>
+ <_description>Microsoft Wireless Multimedia Keyboard 1.0A</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftelite</name>
+ <_description>Microsoft Natural Keyboard Elite</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftccurve2k</name>
+ <_description>Microsoft Comfort Curve Keyboard 2000</_description>
+ <vendor>Microsoft Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>oretec</name>
+ <_description>Ortek MCK-800 MM/Internet keyboard</_description>
+ <vendor>Ortek</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>propeller</name>
+ <_description>Propeller Voyager (KTEZ-1000)</_description>
+ <vendor>KeyTronic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>qtronix</name>
+ <_description>QTronix Scorpius 98N+</_description>
+ <vendor>QTronix</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>samsung4500</name>
+ <_description>Samsung SDM 4500P</_description>
+ <vendor>Samsung</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>samsung4510</name>
+ <_description>Samsung SDM 4510P</_description>
+ <vendor>Samsung</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sanwaskbkg3</name>
+ <_description>Sanwa Supply SKB-KG3</_description>
+ <vendor>Sanwa Supply Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sk1300</name>
+ <_description>SK-1300</_description>
+ <vendor>NEC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sk2500</name>
+ <_description>SK-2500</_description>
+ <vendor>NEC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sk6200</name>
+ <_description>SK-6200</_description>
+ <vendor>NEC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sk7100</name>
+ <_description>SK-7100</_description>
+ <vendor>NEC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sp_inet</name>
+ <_description>Super Power Multimedia Keyboard</_description>
+ <vendor>Generic</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sven</name>
+ <_description>SVEN Ergonomic 2500</_description>
+ <vendor>SVEN</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sven303</name>
+ <_description>SVEN Slim 303</_description>
+ <vendor>SVEN</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>symplon</name>
+ <_description>Symplon PaceBook (tablet PC)</_description>
+ <vendor>Symplon</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>toshiba_s3000</name>
+ <_description>Toshiba Satellite S3000</_description>
+ <vendor>Toshiba</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>trust</name>
+ <_description>Trust Wireless Keyboard Classic</_description>
+ <vendor>Trust</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>trustda</name>
+ <_description>Trust Direct Access Keyboard</_description>
+ <vendor>Trust</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>trust_slimline</name>
+ <_description>Trust Slimline</_description>
+ <vendor>Trust</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>tm2020</name>
+ <_description>TypeMatrix EZ-Reach 2020</_description>
+ <vendor>TypeMatrix</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>tm2030PS2</name>
+ <_description>TypeMatrix EZ-Reach 2030 PS2</_description>
+ <vendor>TypeMatrix</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>tm2030USB</name>
+ <_description>TypeMatrix EZ-Reach 2030 USB</_description>
+ <vendor>TypeMatrix</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>tm2030USB-102</name>
+ <_description>TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)</_description>
+ <vendor>TypeMatrix</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>tm2030USB-106</name>
+ <_description>TypeMatrix EZ-Reach 2030 USB (106:JP mode)</_description>
+ <vendor>TypeMatrix</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>yahoo</name>
+ <_description>Yahoo! Internet Keyboard</_description>
+ <vendor>Yahoo!</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>macbook78</name>
+ <_description>MacBook/MacBook Pro</_description>
+ <vendor>Apple</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>macbook79</name>
+ <_description>MacBook/MacBook Pro (Intl)</_description>
+ <vendor>Apple</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>macintosh</name>
+ <_description>Macintosh</_description>
+ <vendor>Apple</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>macintosh_old</name>
+ <_description>Macintosh Old</_description>
+ <vendor>Apple</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>macintosh_hhk</name>
+ <_description>Happy Hacking Keyboard for Mac</_description>
+ <vendor>Fujitsu</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>acer_c300</name>
+ <_description>Acer C300</_description>
+ <vendor>Acer</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>acer_ferrari4k</name>
+ <_description>Acer Ferrari 4000</_description>
+ <vendor>Acer</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>acer_laptop</name>
+ <_description>Acer Laptop</_description>
+ <vendor>Acer</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>asus_laptop</name>
+ <_description>Asus Laptop</_description>
+ <vendor>Asus</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>apple</name>
+ <_description>Apple</_description>
+ <vendor>Apple</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>apple_laptop</name>
+ <_description>Apple Laptop</_description>
+ <vendor>Apple</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>applealu_ansi</name>
+ <_description>Apple Aluminium Keyboard (ANSI)</_description>
+ <vendor>Apple</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>applealu_iso</name>
+ <_description>Apple Aluminium Keyboard (ISO)</_description>
+ <vendor>Apple</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>applealu_jis</name>
+ <_description>Apple Aluminium Keyboard (JIS)</_description>
+ <vendor>Apple</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>silvercrest</name>
+ <_description>SILVERCREST Multimedia Wireless Keyboard</_description>
+ <vendor>Silvercrest</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>emachines</name>
+ <_description>Laptop/notebook eMachines m68xx</_description>
+ <vendor>eMachines</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>benqx</name>
+ <_description>BenQ X-Touch</_description>
+ <vendor>BenQ</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>benqx730</name>
+ <_description>BenQ X-Touch 730</_description>
+ <vendor>BenQ</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>benqx800</name>
+ <_description>BenQ X-Touch 800</_description>
+ <vendor>BenQ</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hhk</name>
+ <_description>Happy Hacking Keyboard</_description>
+ <vendor>Fujitsu</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>classmate</name>
+ <_description>Classmate PC</_description>
+ <vendor>Intel</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>olpc</name>
+ <_description>OLPC</_description>
+ <vendor>OLPC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sun6</name>
+ <_description>Sun Type 5/6</_description>
+ <vendor>Sun Microsystems</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>targa_v811</name>
+ <_description>Targa Visionary 811</_description>
+ <vendor>Targa</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>unitekkb1925</name>
+ <_description>Unitek KB-1925</_description>
+ <vendor>Unitek Group</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>compalfl90</name>
+ <_description>FL90</_description>
+ <vendor>Compal Electronics Inc.</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>creativedw7000</name>
+ <_description>Creative Desktop Wireless 7000</_description>
+ <vendor>Creative</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>htcdream</name>
+ <_description>Htc Dream phone</_description>
+ <vendor>htc</vendor>
+ </configItem>
+ </model>
+ </modelList>
+ <layoutList>
+ <layout>
+ <configItem>
+ <name>us</name>
+ <_shortDescription>en</_shortDescription>
+ <_description>English (US)</_description>
+ <languageList>
+ <iso639Id>eng</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>chr</name>
+ <_shortDescription>chr</_shortDescription>
+ <_description>Cherokee</_description>
+ <languageList>
+ <iso639Id>chr</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>euro</name>
+ <_description>English (US, with euro on 5)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>intl</name>
+ <_description>English (US, international with dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>alt-intl</name>
+ <_description>English (US, alternative international)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>colemak</name>
+ <_description>English (Colemak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>English (Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak-intl</name>
+ <_description>English (Dvorak international with dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak-alt-intl</name>
+ <_description>English (Dvorak alternative international no dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak-l</name>
+ <_description>English (left handed Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak-r</name>
+ <_description>English (right handed Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak-classic</name>
+ <_description>English (classic Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvp</name>
+ <_description>English (programmer Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rus</name>
+ <_shortDescription>ru</_shortDescription>
+ <_description>Russian (US, phonetic)</_description>
+ <languageList>
+ <iso639Id>rus</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>English (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>altgr-intl</name>
+ <_description>English (international AltGr dead keys)</_description>
+ <languageList><iso639Id>eng</iso639Id>
+ <iso639Id>fra</iso639Id>
+ <iso639Id>ger</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>olpc2</name>
+ <_description>English (layout toggle on multiply/divide key)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>hbs</name>
+ <_description>Serbo-Croatian (US)</_description>
+ <languageList><iso639Id>eng</iso639Id>
+ <iso639Id>bos</iso639Id>
+ <iso639Id>hbs</iso639Id>
+ <iso639Id>hrv</iso639Id>
+ <iso639Id>srp</iso639Id> </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ad</name>
+ <_shortDescription>ca</_shortDescription>
+ <_description>Catalan</_description>
+ <languageList>
+ <iso639Id>cat</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>af</name>
+ <_shortDescription>Afg</_shortDescription>
+ <_description>Afghani</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>ps</name>
+ <_shortDescription>ps</_shortDescription>
+ <_description>Pashto</_description>
+ <languageList>
+ <iso639Id>pus</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>uz</name>
+ <_shortDescription>uz</_shortDescription>
+ <_description>Uzbek (Afghanistan)</_description>
+ <languageList>
+ <iso639Id>uzb</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>olpc-ps</name>
+ <_shortDescription>ps</_shortDescription>
+ <_description>Pashto (Afghanistan, OLPC)</_description>
+ <languageList>
+ <iso639Id>pus</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fa-olpc</name>
+ <_shortDescription>fa</_shortDescription>
+ <_description>Persian (Afghanistan, Dari OLPC)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>uz-olpc</name>
+ <_shortDescription>uz</_shortDescription>
+ <_description>Uzbek (Afghanistan, OLPC)</_description>
+ <languageList>
+ <iso639Id>uzb</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ara</name>
+ <_shortDescription>ar</_shortDescription>
+ <_description>Arabic</_description>
+ <countryList>
+ <iso3166Id>AE</iso3166Id>
+ <iso3166Id>BH</iso3166Id>
+ <iso3166Id>DZ</iso3166Id>
+ <iso3166Id>EG</iso3166Id>
+ <iso3166Id>EH</iso3166Id>
+ <iso3166Id>JO</iso3166Id>
+ <iso3166Id>KW</iso3166Id>
+ <iso3166Id>LB</iso3166Id>
+ <iso3166Id>LY</iso3166Id>
+ <iso3166Id>MA</iso3166Id>
+ <iso3166Id>MR</iso3166Id>
+ <iso3166Id>OM</iso3166Id>
+ <iso3166Id>PS</iso3166Id>
+ <iso3166Id>QA</iso3166Id>
+ <iso3166Id>SA</iso3166Id>
+ <iso3166Id>SD</iso3166Id>
+ <iso3166Id>SY</iso3166Id>
+ <iso3166Id>TN</iso3166Id>
+ <iso3166Id>YE</iso3166Id>
+ </countryList>
+ <languageList>
+ <iso639Id>ara</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>azerty</name>
+ <_description>Arabic (azerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>azerty_digits</name>
+ <_description>Arabic (azerty/digits)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>digits</name>
+ <_description>Arabic (digits)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty</name>
+ <_description>Arabic (qwerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty_digits</name>
+ <_description>Arabic (qwerty/digits)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>buckwalter</name>
+ <_description>Arabic (Buckwalter)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>al</name>
+ <_shortDescription>sq</_shortDescription>
+ <_description>Albanian</_description>
+ <languageList>
+ <iso639Id>alb</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>am</name>
+ <_shortDescription>hy</_shortDescription>
+ <_description>Armenian</_description>
+ <languageList>
+ <iso639Id>hye</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <_description>Armenian (phonetic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>phonetic-alt</name>
+ <_description>Armenian (alternative phonetic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>eastern</name>
+ <_description>Armenian (eastern)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>western</name>
+ <_description>Armenian (western)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>eastern-alt</name>
+ <_description>Armenian (alternative eastern)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>at</name>
+ <_shortDescription>de</_shortDescription>
+ <_description>German (Austria)</_description>
+ <languageList>
+ <iso639Id>ger</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>German (Austria, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <_description>German (Austria, Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>German (Austria, Macintosh)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>az</name>
+ <_shortDescription>az</_shortDescription>
+ <_description>Azerbaijani</_description>
+ <languageList>
+ <iso639Id>aze</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>cyrillic</name>
+ <_description>Azerbaijani (Cyrillic)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>by</name>
+ <_shortDescription>be</_shortDescription>
+ <_description>Belarusian</_description>
+ <languageList>
+ <iso639Id>bel</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>legacy</name>
+ <_description>Belarusian (legacy)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latin</name>
+ <_description>Belarusian (Latin)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>be</name>
+ <_shortDescription>be</_shortDescription>
+ <_description>Belgian</_description>
+ <languageList><iso639Id>ger</iso639Id>
+ <iso639Id>nld</iso639Id>
+ <iso639Id>fra</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>oss</name>
+ <_description>Belgian (alternative)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>oss_latin9</name>
+ <_description>Belgian (alternative, latin-9 only)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>oss_sundeadkeys</name>
+ <_description>Belgian (alternative, Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>iso-alternate</name>
+ <_description>Belgian (ISO alternate)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Belgian (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <_description>Belgian (Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>wang</name>
+ <_description>Belgian (Wang model 724 azerty)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>bd</name>
+ <_shortDescription>bn</_shortDescription>
+ <_description>Bengali</_description>
+ <languageList>
+ <iso639Id>ben</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>probhat</name>
+ <_description>Bengali (Probhat)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>in</name>
+ <_shortDescription>in</_shortDescription>
+ <_description>Indian</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>ben</name>
+ <_shortDescription>bn</_shortDescription>
+ <_description>Bengali</_description>
+ <languageList>
+ <iso639Id>ben</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ben_probhat</name>
+ <_shortDescription>bn</_shortDescription>
+ <_description>Bengali (Probhat)</_description>
+ <languageList>
+ <iso639Id>ben</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>guj</name>
+ <_shortDescription>gu</_shortDescription>
+ <_description>Gujarati</_description>
+ <languageList>
+ <iso639Id>guj</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>guru</name>
+ <_shortDescription>pa</_shortDescription>
+ <_description>Punjabi (Gurmukhi)</_description>
+ <languageList>
+ <iso639Id>pan</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>jhelum</name>
+ <_shortDescription>pa</_shortDescription>
+ <_description>Punjabi (Gurmukhi Jhelum)</_description>
+ <languageList>
+ <iso639Id>pan</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>kan</name>
+ <_shortDescription>kn</_shortDescription>
+ <_description>Kannada</_description>
+ <languageList>
+ <iso639Id>kan</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mal</name>
+ <_shortDescription>ml</_shortDescription>
+ <_description>Malayalam</_description>
+ <languageList>
+ <iso639Id>mal</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mal_lalitha</name>
+ <_shortDescription>ml</_shortDescription>
+ <_description>Malayalam (Lalitha)</_description>
+ <languageList>
+ <iso639Id>mal</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mal_enhanced</name>
+ <_shortDescription>ml</_shortDescription>
+ <_description>Malayalam (enhanced Inscript with Rupee Sign)</_description>
+ <languageList><iso639Id>mal</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ori</name>
+ <_shortDescription>or</_shortDescription>
+ <_description> Oriya</_description>
+ <languageList>
+ <iso639Id>ori</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_unicode</name>
+ <_shortDescription>ta</_shortDescription>
+ <_description>Tamil (Unicode)</_description>
+ <languageList>
+ <iso639Id>tam</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_keyboard_with_numerals</name>
+ <_shortDescription>ta</_shortDescription>
+ <_description>Tamil (keyboard with numerals)</_description>
+ <languageList>
+ <iso639Id>tam</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_TAB</name>
+ <_shortDescription>ta</_shortDescription>
+ <_description>Tamil (TAB typewriter)</_description>
+ <languageList>
+ <iso639Id>tam</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_TSCII</name>
+ <_shortDescription>ta</_shortDescription>
+ <_description>Tamil (TSCII typewriter)</_description>
+ <languageList>
+ <iso639Id>tam</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam</name>
+ <_shortDescription>ta</_shortDescription>
+ <_description>Tamil</_description>
+ <languageList>
+ <iso639Id>tam</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tel</name>
+ <_shortDescription>te</_shortDescription>
+ <_description>Telugu</_description>
+ <languageList>
+ <iso639Id>tel</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>urd-phonetic</name>
+ <_shortDescription>ur</_shortDescription>
+ <_description>Urdu (phonetic)</_description>
+ <languageList>
+ <iso639Id>urd</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>urd-phonetic3</name>
+ <_shortDescription>ur</_shortDescription>
+ <_description>Urdu (alternative phonetic)</_description>
+ <languageList>
+ <iso639Id>urd</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>urd-winkeys</name>
+ <_shortDescription>ur</_shortDescription>
+ <_description>Urdu (WinKeys)</_description>
+ <languageList>
+ <iso639Id>urd</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>bolnagri</name>
+ <_shortDescription>hi</_shortDescription>
+ <_description>Hindi (Bolnagri)</_description>
+ <languageList>
+ <iso639Id>hin</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>hin-wx</name>
+ <_shortDescription>hi</_shortDescription>
+ <_description>Hindi (Wx)</_description>
+ <languageList>
+ <iso639Id>hin</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>eng</name>
+ <_shortDescription>en</_shortDescription>
+ <_description>English (India, with RupeeSign)</_description>
+ <languageList>
+ <iso639Id>eng</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ba</name>
+ <_shortDescription>bs</_shortDescription>
+ <_description>Bosnian</_description>
+ <languageList>
+ <iso639Id>bos</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>alternatequotes</name>
+ <_description>Bosnian (use guillemets for quotes)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>unicode</name>
+ <_description>Bosnian (use Bosnian digraphs)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>unicodeus</name>
+ <_description>Bosnian (US keyboard with Bosnian digraphs)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <_description>Bosnian (US keyboard with Bosnian letters)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>br</name>
+ <_shortDescription>pt</_shortDescription>
+ <_description>Portuguese (Brazil)</_description>
+ <languageList>
+ <iso639Id>por</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Portuguese (Brazil, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Portuguese (Brazil, Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nativo</name>
+ <_description>Portuguese (Brazil, nativo)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nativo-us</name>
+ <_description>Portuguese (Brazil, nativo for USA keyboards)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nativo-epo</name>
+ <_description>Portuguese (Brazil, nativo for Esperanto)</_description>
+ <languageList>
+ <iso639Id>epo</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>bg</name>
+ <_shortDescription>bg</_shortDescription>
+ <_description>Bulgarian</_description>
+ <languageList>
+ <iso639Id>bul</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <_description>Bulgarian (traditional phonetic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>bas_phonetic</name>
+ <_description>Bulgarian (new phonetic)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ma</name>
+ <_shortDescription>ar</_shortDescription>
+ <_description>Arabic (Morocco)</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>french</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Morocco)</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tifinagh</name>
+ <_shortDescription>ber</_shortDescription>
+ <_description>Berber (Morocco, Tifinagh)</_description>
+ <languageList>
+ <iso639Id>ber</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tifinagh-alt</name>
+ <_shortDescription>ber</_shortDescription>
+ <_description>Berber (Morocco, Tifinagh alternative)</_description>
+ <languageList>
+ <iso639Id>ber</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tifinagh-alt-phonetic</name>
+ <_shortDescription>ber</_shortDescription>
+ <_description>Berber (Morocco, Tifinagh alternative phonetic)</_description>
+ <languageList>
+ <iso639Id>ber</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tifinagh-extended</name>
+ <_shortDescription>ber</_shortDescription>
+ <_description>Berber (Morocco, Tifinagh extended)</_description>
+ <languageList>
+ <iso639Id>ber</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tifinagh-phonetic</name>
+ <_shortDescription>ber</_shortDescription>
+ <_description>Berber (Morocco, Tifinagh phonetic)</_description>
+ <languageList>
+ <iso639Id>ber</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tifinagh-extended-phonetic</name>
+ <_shortDescription>ber</_shortDescription>
+ <_description>Berber (Morocco, Tifinagh extended phonetic)</_description>
+ <languageList>
+ <iso639Id>ber</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mm</name>
+ <_shortDescription>my</_shortDescription>
+ <_description>Burmese</_description>
+ <languageList>
+ <iso639Id>mya</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ca</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Canada)</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>fr-dvorak</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Canada, Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fr-legacy</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Canada, legacy)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>multix</name>
+ <_description>Canadian Multilingual</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>multi</name>
+ <_description>Canadian Multilingual (first part)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>multi-2gr</name>
+ <_description>Canadian Multilingual (second part)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ike</name>
+ <_shortDescription>ike</_shortDescription>
+ <_description>Inuktitut</_description>
+ <languageList>
+ <iso639Id>iku</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>shs</name>
+ <_shortDescription>shs</_shortDescription>
+ <_description>Secwepemctsin</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>kut</name>
+ <_shortDescription>kut</_shortDescription>
+ <_description>Kutenai</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>eng</name>
+ <_shortDescription>en</_shortDescription>
+ <_description>English (Canada)</_description>
+ <languageList>
+ <iso639Id>eng</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>cd</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Democratic Republic of the Congo)</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>cn</name>
+ <_shortDescription>zh</_shortDescription>
+ <_description>Chinese</_description>
+ <languageList>
+ <iso639Id>chi</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>tib</name>
+ <_description>Tibetan</_description>
+ <languageList>
+ <iso639Id>tib</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tib_asciinum</name>
+ <_description>Tibetan (with ASCII numerals)</_description>
+ <languageList>
+ <iso639Id>tib</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>uig</name>
+ <_description>Uyghur</_description>
+ <languageList>
+ <iso639Id>uig</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>hr</name>
+ <_shortDescription>hr</_shortDescription>
+ <_description>Croatian</_description>
+ <languageList>
+ <iso639Id>scr</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>alternatequotes</name>
+ <_description>Croatian (use guillemets for quotes)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>unicode</name>
+ <_description>Croatian (use Croatian digraphs)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>unicodeus</name>
+ <_description>Croatian (US keyboard with Croatian digraphs)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <_description>Croatian (US keyboard with Croatian letters)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>cz</name>
+ <_shortDescription>cs</_shortDescription>
+ <_description>Czech</_description>
+ <languageList>
+ <iso639Id>cze</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>bksl</name>
+ <_description>Czech (with <\|> key)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty</name>
+ <_description>Czech (qwerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty_bksl</name>
+ <_description>Czech (qwerty, extended Backslash)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ucw</name>
+ <_description>Czech (UCW layout, accented letters only)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak-ucw</name>
+ <_description>Czech (US Dvorak with CZ UCW support)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>dk</name>
+ <_shortDescription>da</_shortDescription>
+ <_description>Danish</_description>
+ <languageList>
+ <iso639Id>dan</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Danish (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Danish (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac_nodeadkeys</name>
+ <_description>Danish (Macintosh, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Danish (Dvorak)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>nl</name>
+ <_shortDescription>nl</_shortDescription>
+ <_description>Dutch</_description>
+ <languageList>
+ <iso639Id>nld</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <_description>Dutch (Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Dutch (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>std</name>
+ <_description>Dutch (standard)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>bt</name>
+ <_shortDescription>dz</_shortDescription>
+ <_description>Dzongkha</_description>
+ <languageList>
+ <iso639Id>dzo</iso639Id>
+ </languageList>
+ </configItem>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ee</name>
+ <_shortDescription>et</_shortDescription>
+ <_description>Estonian</_description>
+ <languageList>
+ <iso639Id>est</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Estonian (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Estonian (Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <_description>Estonian (US keyboard with Estonian letters)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ir</name>
+ <_shortDescription>fa</_shortDescription>
+ <_description>Persian</_description>
+ <languageList>
+ <iso639Id>per</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>pes_keypad</name>
+ <_description>Persian (with Persian Keypad)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Iran, Latin Q)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_f</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Iran, F)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_alt</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Iran, Latin Alt-Q)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_ara</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Iran, Arabic-Latin)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>iq</name>
+ <_shortDescription>irq</_shortDescription>
+ <_description>Iraqi</_description>
+ <languageList><iso639Id>ara</iso639Id>
+ <iso639Id>kur</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>ku</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Iraq, Latin Q)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_f</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Iraq, F)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_alt</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Iraq, Latin Alt-Q)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_ara</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Iraq, Arabic-Latin)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>fo</name>
+ <_shortDescription>fo</_shortDescription>
+ <_description>Faroese</_description>
+ <languageList>
+ <iso639Id>fao</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Faroese (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>fi</name>
+ <_shortDescription>fi</_shortDescription>
+ <_description>Finnish</_description>
+ <languageList>
+ <iso639Id>fin</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>classic</name>
+ <_description>Finnish (classic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Finnish (classic, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>smi</name>
+ <_description>Northern Saami (Finland)</_description>
+ <languageList><iso639Id>sme</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Finnish (Macintosh)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>fr</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>French (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <_description>French (Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>oss</name>
+ <_description>French (alternative)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>oss_latin9</name>
+ <_description>French (alternative, latin-9 only)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>oss_nodeadkeys</name>
+ <_description>French (alternative, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>oss_sundeadkeys</name>
+ <_description>French (alternative, Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latin9</name>
+ <_description>French (legacy, alternative)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latin9_nodeadkeys</name>
+ <_description>French (legacy, alternative, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latin9_sundeadkeys</name>
+ <_description>French (legacy, alternative, Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>bepo</name>
+ <_description>French (Bepo, ergonomic, Dvorak way)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>bepo_latin9</name>
+ <_description>French (Bepo, ergonomic, Dvorak way, latin-9 only)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>French (Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>French (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>bre</name>
+ <_description>French (Breton)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>oci</name>
+ <_description>Occitan</_description>
+ <languageList>
+ <iso639Id>oci</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>geo</name>
+ <_description>Georgian (France, AZERTY Tskapo)</_description>
+ <languageList>
+ <iso639Id>geo</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>gh</name>
+ <_shortDescription>en</_shortDescription>
+ <_description>English (Ghana)</_description>
+ <languageList>
+ <iso639Id>eng</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>generic</name>
+ <_description>English (Ghana, multilingual)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>akan</name>
+ <_shortDescription>ak</_shortDescription>
+ <_description>Akan</_description>
+ <languageList>
+ <iso639Id>aka</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ewe</name>
+ <_shortDescription>ee</_shortDescription>
+ <_description>Ewe</_description>
+ <languageList>
+ <iso639Id>ewe</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fula</name>
+ <_shortDescription>ff</_shortDescription>
+ <_description>Fula</_description>
+ <languageList>
+ <iso639Id>ful</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ga</name>
+ <_shortDescription>gaa</_shortDescription>
+ <_description>Ga</_description>
+ <languageList>
+ <iso639Id>gaa</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>hausa</name>
+ <_shortDescription>ha</_shortDescription>
+ <_description>Hausa</_description>
+ <languageList>
+ <iso639Id>hau</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>avn</name>
+ <_shortDescription>avn</_shortDescription>
+ <_description>Avatime</_description>
+ <languageList>
+ <iso639Id>avn</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>gillbt</name>
+ <_description>English (Ghana, GILLBT)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>gn</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Guinea)</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ge</name>
+ <_shortDescription>ka</_shortDescription>
+ <_description>Georgian</_description>
+ <languageList>
+ <iso639Id>geo</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>ergonomic</name>
+ <_description>Georgian (ergonomic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mess</name>
+ <_description>Georgian (MESS)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ru</name>
+ <_shortDescription>ru</_shortDescription>
+ <_description>Russian (Georgia)</_description>
+ <languageList>
+ <iso639Id>rus</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>os</name>
+ <_description>Ossetian (Georgia)</_description>
+ <languageList>
+ <iso639Id>oss</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>de</name>
+ <_shortDescription>de</_shortDescription>
+ <_description>German</_description>
+ <languageList>
+ <iso639Id>ger</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>deadacute</name>
+ <_description>German (dead acute)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>deadgraveacute</name>
+ <_description>German (dead grave acute)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>German (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ro</name>
+ <_description>Romanian (Germany)</_description>
+ <languageList><iso639Id>rum</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ro_nodeadkeys</name>
+ <_description>Romanian (Germany, eliminate dead keys)</_description>
+ <languageList><iso639Id>rum</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>German (Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <_description>German (Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>neo</name>
+ <_description>German (Neo 2)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>German (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac_nodeadkeys</name>
+ <_description>German (Macintosh, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dsb</name>
+ <_description>Lower Sorbian</_description>
+ <languageList>
+ <iso639Id>dsb</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dsb_qwertz</name>
+ <_description>Lower Sorbian (qwertz)</_description>
+ <languageList>
+ <iso639Id>dsb</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty</name>
+ <_description>German (qwerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ru</name>
+ <_description>Russian (Germany, phonetic)</_description>
+ <languageList>
+ <iso639Id>rus</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>gr</name>
+ <_shortDescription>gr</_shortDescription>
+ <_description>Greek</_description>
+ <languageList>
+ <iso639Id>gre</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>simple</name>
+ <_description>Greek (simple)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>extended</name>
+ <_description>Greek (extended)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Greek (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>polytonic</name>
+ <_description>Greek (polytonic)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>hu</name>
+ <_shortDescription>hu</_shortDescription>
+ <_description>Hungarian</_description>
+ <languageList>
+ <iso639Id>hun</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>standard</name>
+ <_description>Hungarian (standard)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Hungarian (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty</name>
+ <_description>Hungarian (qwerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwertz_comma_dead</name>
+ <_description>Hungarian (101/qwertz/comma/dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwertz_comma_nodead</name>
+ <_description>Hungarian (101/qwertz/comma/eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwertz_dot_dead</name>
+ <_description>Hungarian (101/qwertz/dot/dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwertz_dot_nodead</name>
+ <_description>Hungarian (101/qwertz/dot/eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwerty_comma_dead</name>
+ <_description>Hungarian (101/qwerty/comma/dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwerty_comma_nodead</name>
+ <_description>Hungarian (101/qwerty/comma/eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwerty_dot_dead</name>
+ <_description>Hungarian (101/qwerty/dot/dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwerty_dot_nodead</name>
+ <_description>Hungarian (101/qwerty/dot/eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwertz_comma_dead</name>
+ <_description>Hungarian (102/qwertz/comma/dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwertz_comma_nodead</name>
+ <_description>Hungarian (102/qwertz/comma/eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwertz_dot_dead</name>
+ <_description>Hungarian (102/qwertz/dot/dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwertz_dot_nodead</name>
+ <_description>Hungarian (102/qwertz/dot/eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwerty_comma_dead</name>
+ <_description>Hungarian (102/qwerty/comma/dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwerty_comma_nodead</name>
+ <_description>Hungarian (102/qwerty/comma/eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwerty_dot_dead</name>
+ <_description>Hungarian (102/qwerty/dot/dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwerty_dot_nodead</name>
+ <_description>Hungarian (102/qwerty/dot/eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>is</name>
+ <_shortDescription>is</_shortDescription>
+ <_description>Icelandic</_description>
+ <languageList>
+ <iso639Id>ice</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>Sundeadkeys</name>
+ <_description>Icelandic (Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Icelandic (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Icelandic (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Icelandic (Dvorak)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>il</name>
+ <_shortDescription>he</_shortDescription>
+ <_description>Hebrew</_description>
+ <languageList>
+ <iso639Id>heb</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>lyx</name>
+ <_description>Hebrew (lyx)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <_description>Hebrew (phonetic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>biblical</name>
+ <_description>Hebrew (Biblical, Tiro)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>it</name>
+ <_shortDescription>it</_shortDescription>
+ <_description>Italian</_description>
+ <languageList>
+ <iso639Id>ita</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Italian (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Italian (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <_description>Italian (US keyboard with Italian letters)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>geo</name>
+ <_description>Georgian (Italy)</_description>
+ <languageList>
+ <iso639Id>geo</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>jp</name>
+ <_shortDescription>ja</_shortDescription>
+ <_description>Japanese</_description>
+ <languageList>
+ <iso639Id>jpn</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>kana</name>
+ <_description>Japanese (Kana)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>kana86</name>
+ <_description>Japanese (Kana 86)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>OADG109A</name>
+ <_description>Japanese (OADG 109A)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Japanese (Macintosh)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>kg</name>
+ <_shortDescription>ki</_shortDescription>
+ <_description>Kyrgyz</_description>
+ <languageList>
+ <iso639Id>kir</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <_description>Kyrgyz (phonetic)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>kh</name>
+ <_shortDescription>km</_shortDescription>
+ <_description>Khmer (Cambodia)</_description>
+ <languageList>
+ <iso639Id>khm</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>kz</name>
+ <_shortDescription>kk</_shortDescription>
+ <_description>Kazakh</_description>
+ <languageList>
+ <iso639Id>kaz</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>ruskaz</name>
+ <_shortDescription>ru</_shortDescription>
+ <_description>Russian (Kazakhstan, with Kazakh)</_description>
+ <languageList><iso639Id>kaz</iso639Id>
+ <iso639Id>rus</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>kazrus</name>
+ <_description>Kazakh (with Russian)</_description>
+ <languageList><iso639Id>kaz</iso639Id>
+ <iso639Id>rus</iso639Id></languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>la</name>
+ <_shortDescription>lo</_shortDescription>
+ <_description>Lao</_description>
+ <languageList>
+ <iso639Id>lao</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>stea</name>
+ <_description>Lao (STEA proposed standard layout)</_description>
+ <languageList><iso639Id>lao</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>latam</name>
+ <_shortDescription>es</_shortDescription>
+ <_description>Spanish (Latin American)</_description>
+ <countryList>
+ <iso3166Id>AR</iso3166Id>
+ <iso3166Id>BO</iso3166Id>
+ <iso3166Id>CL</iso3166Id>
+ <iso3166Id>CO</iso3166Id>
+ <iso3166Id>CR</iso3166Id>
+ <iso3166Id>CU</iso3166Id>
+ <iso3166Id>DO</iso3166Id>
+ <iso3166Id>EC</iso3166Id>
+ <iso3166Id>GT</iso3166Id>
+ <iso3166Id>HN</iso3166Id>
+ <iso3166Id>HT</iso3166Id>
+ <iso3166Id>MX</iso3166Id>
+ <iso3166Id>NI</iso3166Id>
+ <iso3166Id>PA</iso3166Id>
+ <iso3166Id>PE</iso3166Id>
+ <iso3166Id>PR</iso3166Id>
+ <iso3166Id>PY</iso3166Id>
+ <iso3166Id>SV</iso3166Id>
+ <iso3166Id>US</iso3166Id>
+ <iso3166Id>UY</iso3166Id>
+ <iso3166Id>VE</iso3166Id>
+ </countryList>
+ <languageList>
+ <iso639Id>spa</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Spanish (Latin American, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>deadtilde</name>
+ <_description>Spanish (Latin American, include dead tilde)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <_description>Spanish (Latin American, Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>lt</name>
+ <_shortDescription>lt</_shortDescription>
+ <_description>Lithuanian</_description>
+ <languageList>
+ <iso639Id>lit</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>std</name>
+ <_description>Lithuanian (standard)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <_description>Lithuanian (US keyboard with Lithuanian letters)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ibm</name>
+ <_description>Lithuanian (IBM LST 1205-92)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>lekp</name>
+ <_description>Lithuanian (LEKP)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>lekpa</name>
+ <_description>Lithuanian (LEKPa)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>lv</name>
+ <_shortDescription>lv</_shortDescription>
+ <_description>Latvian</_description>
+ <languageList>
+ <iso639Id>lav</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>apostrophe</name>
+ <_description>Latvian (apostrophe variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tilde</name>
+ <_description>Latvian (tilde variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fkey</name>
+ <_description>Latvian (F variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>modern</name>
+ <_description>Latvian (modern)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ergonomic</name>
+ <_description>Latvian (ergonomic, ŪGJRMV)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>adapted</name>
+ <_description>Latvian (adapted)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mao</name>
+ <_shortDescription>mi</_shortDescription>
+ <_description>Maori</_description>
+ <languageList>
+ <iso639Id>mao</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>me</name>
+ <_shortDescription>srp</_shortDescription>
+ <_description>Montenegrin</_description>
+ <languageList>
+ <iso639Id>srp</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>cyrillic</name>
+ <_description>Montenegrin (Cyrillic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>cyrillicyz</name>
+ <_description>Montenegrin (Cyrillic, Z and ZHE swapped)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinunicode</name>
+ <_description>Montenegrin (Latin unicode)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinyz</name>
+ <_description>Montenegrin (Latin qwerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinunicodeyz</name>
+ <_description>Montenegrin (Latin unicode qwerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>cyrillicalternatequotes</name>
+ <_description>Montenegrin (Cyrillic with guillemets)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinalternatequotes</name>
+ <_description>Montenegrin (Latin with guillemets)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mk</name>
+ <_shortDescription>mk</_shortDescription>
+ <_description>Macedonian</_description>
+ <languageList>
+ <iso639Id>mkd</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Macedonian (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mt</name>
+ <_shortDescription>mt</_shortDescription>
+ <_description>Maltese</_description>
+ <languageList>
+ <iso639Id>mlt</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <_description>Maltese (with US layout)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mn</name>
+ <_shortDescription>mn</_shortDescription>
+ <_description>Mongolian</_description>
+ <languageList>
+ <iso639Id>mng</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>no</name>
+ <_shortDescription>no</_shortDescription>
+ <_description>Norwegian</_description>
+ <languageList>
+ <iso639Id>nor</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Norwegian (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Norwegian (Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>smi</name>
+ <_description>Northern Saami (Norway)</_description>
+ <languageList>
+ <iso639Id>sme</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>smi_nodeadkeys</name>
+ <_description>Northern Saami (Norway, eliminate dead keys)</_description>
+ <languageList>
+ <iso639Id>sme</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Norwegian (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac_nodeadkeys</name>
+ <_description>Norwegian (Macintosh, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>pl</name>
+ <_shortDescription>pl</_shortDescription>
+ <_description>Polish</_description>
+ <languageList>
+ <iso639Id>pol</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>qwertz</name>
+ <_description>Polish (qwertz)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Polish (Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak_quotes</name>
+ <_description>Polish (Dvorak, Polish quotes on quotemark key)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak_altquotes</name>
+ <_description>Polish (Dvorak, Polish quotes on key 1)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>csb</name>
+ <_description>Kashubian</_description>
+ <languageList>
+ <iso639Id>csb</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ru_phonetic_dvorak</name>
+ <_shortDescription>ru</_shortDescription>
+ <_description>Russian (Poland, phonetic Dvorak)</_description>
+ <languageList>
+ <iso639Id>rus</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvp</name>
+ <_description>Polish (programmer Dvorak)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>pt</name>
+ <_shortDescription>pt</_shortDescription>
+ <_description>Portuguese</_description>
+ <languageList>
+ <iso639Id>por</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Portuguese (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <_description>Portuguese (Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Portuguese (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac_nodeadkeys</name>
+ <_description>Portuguese (Macintosh, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac_sundeadkeys</name>
+ <_description>Portuguese (Macintosh, Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nativo</name>
+ <_description>Portuguese (Nativo)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nativo-us</name>
+ <_description>Portuguese (Nativo for USA keyboards)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nativo-epo</name>
+ <_description>Esperanto (Portugal, Nativo)</_description>
+ <languageList>
+ <iso639Id>epo</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ro</name>
+ <_shortDescription>ro</_shortDescription>
+ <_description>Romanian</_description>
+ <languageList>
+ <iso639Id>rum</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>cedilla</name>
+ <_description>Romanian (cedilla)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>std</name>
+ <_description>Romanian (standard)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>std_cedilla</name>
+ <_description>Romanian (standard cedilla)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>winkeys</name>
+ <_description>Romanian (WinKeys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>crh_dobruja</name>
+ <_shortDescription>crh</_shortDescription>
+ <_description>Crimean Tatar (Dobruja Q)</_description>
+ <languageList>
+ <iso639Id>crh</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ru</name>
+ <_shortDescription>ru</_shortDescription>
+ <_description>Russian</_description>
+ <languageList>
+ <iso639Id>rus</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <_description>Russian (phonetic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>phonetic_winkeys</name>
+ <_description>Russian (phonetic WinKeys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>typewriter</name>
+ <_description>Russian (typewriter)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>legacy</name>
+ <_description>Russian (legacy)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>typewriter-legacy</name>
+ <_description>Russian (typewriter, legacy)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tt</name>
+ <_description>Tatar</_description>
+ <languageList>
+ <iso639Id>tat</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>os_legacy</name>
+ <_description>Ossetian (legacy)</_description>
+ <languageList>
+ <iso639Id>oss</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>os_winkeys</name>
+ <_description>Ossetian (WinKeys)</_description>
+ <languageList>
+ <iso639Id>oss</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>cv</name>
+ <_description>Chuvash</_description>
+ <languageList>
+ <iso639Id>chv</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>cv_latin</name>
+ <_description>Chuvash (Latin)</_description>
+ <languageList>
+ <iso639Id>chv</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>udm</name>
+ <_description>Udmurt</_description>
+ <languageList>
+ <iso639Id>udm</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>kom</name>
+ <_description>Komi</_description>
+ <languageList>
+ <iso639Id>kom</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sah</name>
+ <_description>Yakut</_description>
+ <languageList>
+ <iso639Id>sah</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>xal</name>
+ <_description>Kalmyk</_description>
+ <languageList>
+ <iso639Id>xal</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dos</name>
+ <_description>Russian (DOS)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>srp</name>
+ <_description>Serbian (Russia)</_description>
+ <languageList><iso639Id>rus</iso639Id>
+ <iso639Id>srp</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>bak</name>
+ <_description>Bashkirian</_description>
+ <languageList>
+ <iso639Id>bak</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>chm</name>
+ <_description>Mari</_description>
+ <languageList>
+ <iso639Id>chm</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>rs</name>
+ <_shortDescription>sr</_shortDescription>
+ <_description>Serbian</_description>
+ <languageList>
+ <iso639Id>srp</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>yz</name>
+ <_description>Serbian (Z and ZHE swapped)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latin</name>
+ <_description>Serbian (Latin)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinunicode</name>
+ <_description>Serbian (Latin Unicode)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinyz</name>
+ <_description>Serbian (Latin qwerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinunicodeyz</name>
+ <_description>Serbian (Latin Unicode qwerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>alternatequotes</name>
+ <_description>Serbian (with guillemets)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinalternatequotes</name>
+ <_description>Serbian (Latin with guillemets)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rue</name>
+ <_description>Pannonian Rusyn (homophonic)</_description>
+ <languageList>
+ <iso639Id>rue</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>si</name>
+ <_shortDescription>sl</_shortDescription>
+ <_description>Slovenian</_description>
+ <languageList>
+ <iso639Id>slv</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>alternatequotes</name>
+ <_description>Slovenian (use guillemets for quotes)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <_description>Slovenian (US keyboard with Slovenian letters)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>sk</name>
+ <_shortDescription>sk</_shortDescription>
+ <_description>Slovak</_description>
+ <languageList>
+ <iso639Id>slo</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>bksl</name>
+ <_description>Slovak (extended Backslash)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty</name>
+ <_description>Slovak (qwerty)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty_bksl</name>
+ <_description>Slovak (qwerty, extended Backslash)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>es</name>
+ <_shortDescription>es</_shortDescription>
+ <_description>Spanish</_description>
+ <languageList>
+ <iso639Id>spa</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Spanish (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>deadtilde</name>
+ <_description>Spanish (include dead tilde)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <_description>Spanish (Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Spanish (Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ast</name>
+ <_description>Asturian (Spain, with bottom-dot H and bottom-dot L)</_description>
+ <languageList>
+ <iso639Id>ast</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>cat</name>
+ <_description>Catalan (Spain, with middle-dot L)</_description>
+ <languageList>
+ <iso639Id>cat</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Spanish (Macintosh)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>se</name>
+ <_shortDescription>sv</_shortDescription>
+ <_description>Swedish</_description>
+ <languageList>
+ <iso639Id>swe</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <_description>Swedish (eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Swedish (Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rus</name>
+ <_shortDescription>ru</_shortDescription>
+ <_description>Russian (Sweden, phonetic)</_description>
+ <languageList>
+ <iso639Id>rus</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rus_nodeadkeys</name>
+ <_shortDescription>ru</_shortDescription>
+ <_description>Russian (Sweden, phonetic, eliminate dead keys)</_description>
+ <languageList>
+ <iso639Id>rus</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>smi</name>
+ <_description>Northern Saami (Sweden)</_description>
+ <languageList>
+ <iso639Id>sme</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>Swedish (Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>svdvorak</name>
+ <_description>Swedish (Svdvorak)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ch</name>
+ <_shortDescription>che</_shortDescription>
+ <_description>German (Switzerland)</_description>
+ <languageList><iso639Id>ger</iso639Id>
+ <iso639Id>gsw</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>legacy</name>
+ <_description>German (Switzerland, legacy)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>de_nodeadkeys</name>
+ <_shortDescription>de</_shortDescription>
+ <_description>German (Switzerland, eliminate dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>de_sundeadkeys</name>
+ <_shortDescription>de</_shortDescription>
+ <_description>German (Switzerland, Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fr</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Switzerland)</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fr_nodeadkeys</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Switzerland, eliminate dead keys)</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fr_sundeadkeys</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Switzerland, Sun dead keys)</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fr_mac</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Switzerland, Macintosh)</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>de_mac</name>
+ <_shortDescription>de</_shortDescription>
+ <_description>German (Switzerland, Macintosh)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>sy</name>
+ <_shortDescription>ar</_shortDescription>
+ <_description>Arabic (Syria)</_description>
+ <languageList>
+ <iso639Id>syr</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>syc</name>
+ <_shortDescription>syc</_shortDescription>
+ <_description>Syriac</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>syc_phonetic</name>
+ <_shortDescription>syc</_shortDescription>
+ <_description>Syriac (phonetic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Syria, Latin Q)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_f</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Syria, F)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_alt</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Syria, Latin Alt-Q)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>tj</name>
+ <_shortDescription>tg</_shortDescription>
+ <_description>Tajik</_description>
+ <languageList>
+ <iso639Id>tgk</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>legacy</name>
+ <_description>Tajik (legacy)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>lk</name>
+ <_shortDescription>si</_shortDescription>
+ <_description>Sinhala</_description>
+ <languageList>
+ <iso639Id>sin</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>tam_unicode</name>
+ <_shortDescription>ta</_shortDescription>
+ <_description>Tamil (Sri Lanka, Unicode)</_description>
+ <languageList>
+ <iso639Id>tam</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_TAB</name>
+ <_description>Tamil (Sri Lanka, TAB Typewriter)</_description>
+ <languageList>
+ <iso639Id>tam</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>th</name>
+ <_shortDescription>th</_shortDescription>
+ <_description>Thai</_description>
+ <languageList>
+ <iso639Id>tha</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>tis</name>
+ <_description>Thai (TIS-820.2538)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>pat</name>
+ <_description>Thai (Pattachote)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>tr</name>
+ <_shortDescription>tr</_shortDescription>
+ <_description>Turkish</_description>
+ <languageList>
+ <iso639Id>tur</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>f</name>
+ <_description>Turkish (F)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>alt</name>
+ <_description>Turkish (Alt-Q)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <_description>Turkish (Sun dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Turkey, Latin Q)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_f</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Turkey, F)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ku_alt</name>
+ <_shortDescription>ku</_shortDescription>
+ <_description>Kurdish (Turkey, Latin Alt-Q)</_description>
+ <languageList>
+ <iso639Id>kur</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>intl</name>
+ <_description>Turkish (international with dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>crh</name>
+ <_shortDescription>crh</_shortDescription>
+ <_description>Crimean Tatar (Turkish Q)</_description>
+ <languageList>
+ <iso639Id>crh</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>crh_f</name>
+ <_shortDescription>crh</_shortDescription>
+ <_description>Crimean Tatar (Turkish F)</_description>
+ <languageList>
+ <iso639Id>crh</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>crh_alt</name>
+ <_shortDescription>crh</_shortDescription>
+ <_description>Crimean Tatar (Turkish Alt-Q)</_description>
+ <languageList>
+ <iso639Id>crh</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>tw</name>
+ <_shortDescription>twn</_shortDescription>
+ <_description>Taiwanese</_description>
+ <languageList>
+ <iso639Id>trv</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>indigenous</name>
+ <_description>Taiwanese (indigenous)</_description>
+ <languageList>
+ <iso639Id>ami</iso639Id>
+ <iso639Id>tay</iso639Id>
+ <iso639Id>bnn</iso639Id>
+ <iso639Id>ckv</iso639Id>
+ <iso639Id>pwn</iso639Id>
+ <iso639Id>pyu</iso639Id>
+ <iso639Id>dru</iso639Id>
+ <iso639Id>ais</iso639Id>
+ <iso639Id>ssf</iso639Id>
+ <iso639Id>tao</iso639Id>
+ <iso639Id>tsu</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>saisiyat</name>
+ <_shortDescription>xsy</_shortDescription>
+ <_description>Saisiyat (Taiwan)</_description>
+ <languageList>
+ <iso639Id>xsy</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ua</name>
+ <_shortDescription>uk</_shortDescription>
+ <_description>Ukrainian</_description>
+ <languageList>
+ <iso639Id>ukr</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <_description>Ukrainian (phonetic)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>typewriter</name>
+ <_description>Ukrainian (typewriter)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>winkeys</name>
+ <_description>Ukrainian (WinKeys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>legacy</name>
+ <_description>Ukrainian (legacy)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rstu</name>
+ <_description>Ukrainian (standard RSTU)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rstu_ru</name>
+ <_description>Russian (Ukraine, standard RSTU)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>homophonic</name>
+ <_description>Ukrainian (homophonic)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>gb</name>
+ <_shortDescription>GBr</_shortDescription>
+ <_description>English (UK)</_description>
+ <languageList>
+ <iso639Id>eng</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>extd</name>
+ <_description>English (UK, extended WinKeys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>intl</name>
+ <_description>English (UK, international with dead keys)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>English (UK, Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorakukp</name>
+ <_description>English (UK, Dvorak with UK punctuation)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac</name>
+ <_description>English (UK, Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mac_intl</name>
+ <_description>English (UK, Macintosh international)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>colemak</name>
+ <_description>English (UK, Colemak)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>uz</name>
+ <_shortDescription>uz</_shortDescription>
+ <_description>Uzbek</_description>
+ <languageList>
+ <iso639Id>uzb</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>latin</name>
+ <_description>Uzbek (Latin)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>vn</name>
+ <_shortDescription>vi</_shortDescription>
+ <_description>Vietnamese</_description>
+ <languageList>
+ <iso639Id>vie</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>kr</name>
+ <_shortDescription>ko</_shortDescription>
+ <_description>Korean</_description>
+ <languageList>
+ <iso639Id>kor</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>kr104</name>
+ <_description>Korean (101/104 key compatible)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>nec_vndr/jp</name>
+ <_shortDescription>ja</_shortDescription>
+ <_description>Japanese (PC-98xx Series)</_description>
+ <countryList>
+ <iso3166Id>JP</iso3166Id>
+ </countryList>
+ <languageList>
+ <iso639Id>jpn</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ie</name>
+ <_shortDescription>ie</_shortDescription>
+ <_description>Irish</_description>
+ <languageList>
+ <iso639Id>eng</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>CloGaelach</name>
+ <_description>CloGaelach</_description>
+ <languageList>
+ <iso639Id>gla</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>UnicodeExpert</name>
+ <_description>Irish (UnicodeExpert)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ogam</name>
+ <_description>Ogham</_description>
+ <languageList>
+ <iso639Id>sga</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ogam_is434</name>
+ <_description>Ogham (IS434)</_description>
+ <languageList>
+ <iso639Id>sga</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>pk</name>
+ <_shortDescription>ur</_shortDescription>
+ <_description>Urdu (Pakistan)</_description>
+ <languageList>
+ <iso639Id>urd</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>urd-crulp</name>
+ <_description>Urdu (Pakistan, CRULP)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>urd-nla</name>
+ <_description>Urdu (Pakistan, NLA)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ara</name>
+ <_shortDescription>ar</_shortDescription>
+ <_description>Arabic (Pakistan)</_description>
+ <languageList>
+ <iso639Id>ara</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>snd</name>
+ <_shortDescription>sd</_shortDescription>
+ <_description>Sindhi</_description>
+ <languageList>
+ <iso639Id>sd</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mv</name>
+ <_shortDescription>dv</_shortDescription>
+ <_description>Dhivehi</_description>
+ <languageList>
+ <iso639Id>div</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>za</name>
+ <_shortDescription>en</_shortDescription>
+ <_description>English (South Africa)</_description>
+ <languageList>
+ <iso639Id>eng</iso639Id>
+ </languageList>
+ </configItem>
+ </layout>
+ <layout>
+ <configItem>
+ <name>epo</name>
+ <_shortDescription>eo</_shortDescription>
+ <_description>Esperanto</_description>
+ <languageList>
+ <iso639Id>epo</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>legacy</name>
+ <_description>Esperanto (displaced semicolon and quote, obsolete)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>np</name>
+ <_shortDescription>ne</_shortDescription>
+ <_description>Nepali</_description>
+ <languageList>
+ <iso639Id>nep</iso639Id>
+ </languageList>
+ </configItem>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ng</name>
+ <_shortDescription>en</_shortDescription>
+ <_description>English (Nigeria)</_description>
+ <languageList>
+ <iso639Id>eng</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>igbo</name>
+ <_shortDescription>ig</_shortDescription>
+ <_description>Igbo</_description>
+ <languageList>
+ <iso639Id>ibo</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>yoruba</name>
+ <_shortDescription>yo</_shortDescription>
+ <_description>Yoruba</_description>
+ <languageList>
+ <iso639Id>yor</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>hausa</name>
+ <_shortDescription>ha</_shortDescription>
+ <_description>Hausa</_description>
+ <languageList>
+ <iso639Id>hau</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>et</name>
+ <_shortDescription>am</_shortDescription>
+ <_description>Amharic</_description>
+ <languageList>
+ <iso639Id>amh</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>sn</name>
+ <_shortDescription>wo</_shortDescription>
+ <_description>Wolof</_description>
+ <languageList>
+ <iso639Id>wol</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>brai</name>
+ <_shortDescription>brl</_shortDescription>
+ <_description>Braille</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>left_hand</name>
+ <_description>Braille (left hand)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>right_hand</name>
+ <_description>Braille (right hand)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>tm</name>
+ <_shortDescription>tk</_shortDescription>
+ <_description>Turkmen</_description>
+ <languageList>
+ <iso639Id>tuk</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>alt</name>
+ <_description>Turkmen (Alt-Q)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ml</name>
+ <_shortDescription>bm</_shortDescription>
+ <_description>Bambara</_description>
+ <languageList>
+ <iso639Id>bam</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>fr-oss</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French (Mali, alternative)</_description>
+ <languageList>
+ <iso639Id>fr</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>us-mac</name>
+ <_shortDescription>en</_shortDescription>
+ <_description>English (Mali, US Macintosh)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>us-intl</name>
+ <_shortDescription>en</_shortDescription>
+ <_description>English (Mali, US international)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>tz</name>
+ <_shortDescription>sw</_shortDescription>
+ <_description>Swahili (Tanzania)</_description>
+ <languageList>
+ <iso639Id>swa</iso639Id>
+ </languageList>
+ </configItem>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ke</name>
+ <_shortDescription>sw</_shortDescription>
+ <_description>Swahili (Kenya)</_description>
+ <languageList>
+ <iso639Id>swa</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>kik</name>
+ <_shortDescription>ki</_shortDescription>
+ <_description>Kikuyu</_description>
+ <languageList>
+ <iso639Id>kik</iso639Id>
+ </languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>bw</name>
+ <_shortDescription>tn</_shortDescription>
+ <_description>Tswana</_description>
+ <languageList>
+ <iso639Id>tsn</iso639Id>
+ </languageList>
+ </configItem>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ph</name>
+ <_shortDescription>ph</_shortDescription>
+ <_description>Filipino</_description>
+ <languageList><iso639Id>eng</iso639Id>
+ <iso639Id>bik</iso639Id>
+ <iso639Id>ceb</iso639Id>
+ <iso639Id>fil</iso639Id>
+ <iso639Id>hil</iso639Id>
+ <iso639Id>ilo</iso639Id>
+ <iso639Id>pam</iso639Id>
+ <iso639Id>pag</iso639Id>
+ <iso639Id>phi</iso639Id>
+ <iso639Id>tgl</iso639Id>
+ <iso639Id>war</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>qwerty-bay</name>
+ <_description>Filipino (QWERTY Baybayin)</_description>
+ <languageList><iso639Id>bik</iso639Id>
+ <iso639Id>ceb</iso639Id>
+ <iso639Id>fil</iso639Id>
+ <iso639Id>hil</iso639Id>
+ <iso639Id>ilo</iso639Id>
+ <iso639Id>pam</iso639Id>
+ <iso639Id>pag</iso639Id>
+ <iso639Id>phi</iso639Id>
+ <iso639Id>tgl</iso639Id>
+ <iso639Id>war</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>capewell-dvorak</name>
+ <_description>Filipino (Capewell-Dvorak Latin)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>capewell-dvorak-bay</name>
+ <_description>Filipino (Capewell-Dvorak Baybayin)</_description>
+ <languageList><iso639Id>bik</iso639Id>
+ <iso639Id>ceb</iso639Id>
+ <iso639Id>fil</iso639Id>
+ <iso639Id>hil</iso639Id>
+ <iso639Id>ilo</iso639Id>
+ <iso639Id>pam</iso639Id>
+ <iso639Id>pag</iso639Id>
+ <iso639Id>phi</iso639Id>
+ <iso639Id>tgl</iso639Id>
+ <iso639Id>war</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>capewell-qwerf2k6</name>
+ <_description>Filipino (Capewell-QWERF 2006 Latin)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>capewell-qwerf2k6-bay</name>
+ <_description>Filipino (Capewell-QWERF 2006 Baybayin)</_description>
+ <languageList><iso639Id>bik</iso639Id>
+ <iso639Id>ceb</iso639Id>
+ <iso639Id>fil</iso639Id>
+ <iso639Id>hil</iso639Id>
+ <iso639Id>ilo</iso639Id>
+ <iso639Id>pam</iso639Id>
+ <iso639Id>pag</iso639Id>
+ <iso639Id>phi</iso639Id>
+ <iso639Id>tgl</iso639Id>
+ <iso639Id>war</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>colemak</name>
+ <_description>Filipino (Colemak Latin)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>colemak-bay</name>
+ <_description>Filipino (Colemak Baybayin)</_description>
+ <languageList><iso639Id>bik</iso639Id>
+ <iso639Id>ceb</iso639Id>
+ <iso639Id>fil</iso639Id>
+ <iso639Id>hil</iso639Id>
+ <iso639Id>ilo</iso639Id>
+ <iso639Id>pam</iso639Id>
+ <iso639Id>pag</iso639Id>
+ <iso639Id>phi</iso639Id>
+ <iso639Id>tgl</iso639Id>
+ <iso639Id>war</iso639Id></languageList>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Filipino (Dvorak Latin)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak-bay</name>
+ <_description>Filipino (Dvorak Baybayin)</_description>
+ <languageList><iso639Id>bik</iso639Id>
+ <iso639Id>ceb</iso639Id>
+ <iso639Id>fil</iso639Id>
+ <iso639Id>hil</iso639Id>
+ <iso639Id>ilo</iso639Id>
+ <iso639Id>pam</iso639Id>
+ <iso639Id>pag</iso639Id>
+ <iso639Id>phi</iso639Id>
+ <iso639Id>tgl</iso639Id>
+ <iso639Id>war</iso639Id></languageList>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ </layoutList>
+ <optionList>
+ <group allowMultipleSelection="true">
+ <!-- The key combination used to switch between groups -->
+ <configItem>
+ <name>grp</name>
+ <_description>Key(s) to change layout</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>grp:switch</name>
+ <_description>Right Alt (while pressed)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lswitch</name>
+ <_description>Left Alt (while pressed)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lwin_switch</name>
+ <_description>Left Win (while pressed)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rwin_switch</name>
+ <_description>Right Win (while pressed)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:win_switch</name>
+ <_description>Any Win key (while pressed)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:caps_switch</name>
+ <_description>Caps Lock (while pressed), Alt+Caps Lock does the original capslock action</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rctrl_switch</name>
+ <_description>Right Ctrl (while pressed)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:toggle</name>
+ <_description>Right Alt</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lalt_toggle</name>
+ <_description>Left Alt</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:caps_toggle</name>
+ <_description>Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:shift_caps_toggle</name>
+ <_description>Shift+Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:shift_caps_switch</name>
+ <_description>Caps Lock (to first layout), Shift+Caps Lock (to last layout)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:win_menu_switch</name>
+ <_description>Left Win (to first layout), Right Win/Menu (to last layout)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lctrl_rctrl_switch</name>
+ <_description>Left Ctrl (to first layout), Right Ctrl (to last layout)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:alt_caps_toggle</name>
+ <_description>Alt+Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:shifts_toggle</name>
+ <_description>Both Shift keys together</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:alts_toggle</name>
+ <_description>Both Alt keys together</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:ctrls_toggle</name>
+ <_description>Both Ctrl keys together</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:ctrl_shift_toggle</name>
+ <_description>Ctrl+Shift</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lctrl_lshift_toggle</name>
+ <_description>Left Ctrl+Left Shift</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rctrl_rshift_toggle</name>
+ <_description>Right Ctrl+Right Shift</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:ctrl_alt_toggle</name>
+ <_description>Alt+Ctrl</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:alt_shift_toggle</name>
+ <_description>Alt+Shift</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:alt_space_toggle</name>
+ <_description>Alt+Space</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:menu_toggle</name>
+ <_description>Menu</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lwin_toggle</name>
+ <_description>Left Win</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rwin_toggle</name>
+ <_description>Right Win</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lshift_toggle</name>
+ <_description>Left Shift</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rshift_toggle</name>
+ <_description>Right Shift</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lctrl_toggle</name>
+ <_description>Left Ctrl</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rctrl_toggle</name>
+ <_description>Right Ctrl</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:sclk_toggle</name>
+ <_description>Scroll Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lctrl_lwin_rctrl_menu</name>
+ <_description>LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <!-- The key combination used to choose the 3rd (and 4th, together with Shift)
+ level of symbols -->
+ <configItem>
+ <name>lv3</name>
+ <_description>Key to choose 3rd level</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>lv3:switch</name>
+ <_description>Right Ctrl</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:menu_switch</name>
+ <_description>Menu</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:win_switch</name>
+ <_description>Any Win key</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:lwin_switch</name>
+ <_description>Left Win</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:rwin_switch</name>
+ <_description>Right Win</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:alt_switch</name>
+ <_description>Any Alt key</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:lalt_switch</name>
+ <_description>Left Alt</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:ralt_switch</name>
+ <_description>Right Alt</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:ralt_switch_multikey</name>
+ <_description>Right Alt, Shift+Right Alt key is Multi_Key</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:ralt_alt</name>
+ <_description>Right Alt key never chooses 3rd level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:enter_switch</name>
+ <_description>Enter on keypad</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:caps_switch</name>
+ <_description>Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:bksl_switch</name>
+ <_description>Backslash</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:lsgt_switch</name>
+ <_description><Less/Greater></_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:caps_switch_latch</name>
+ <_description>Caps Lock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:bksl_switch_latch</name>
+ <_description>Backslash (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:lsgt_switch_latch</name>
+ <_description><Less/Greater> (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <!-- Tweaking the position of the "Ctrl" key -->
+ <configItem>
+ <name>ctrl</name>
+ <_description>Ctrl key position</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>ctrl:nocaps</name>
+ <_description>Make Caps Lock an additional Ctrl</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:lctrl_meta</name>
+ <_description>Meta on Left Ctrl</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:swapcaps</name>
+ <_description>Swap Ctrl and Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:ctrl_ac</name>
+ <_description>At left of 'A'</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:ctrl_aa</name>
+ <_description>At bottom left</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:ctrl_ra</name>
+ <_description>Right Ctrl as Right Alt</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:ctrl_menu</name>
+ <_description>Right Ctrl is mapped to Menu</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <!-- Using startard LEDs to indicate the alternative (not first) group(s) -->
+ <configItem>
+ <name>grp_led</name>
+ <_description>Use keyboard LED to show alternative layout</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>grp_led:num</name>
+ <_description>Num Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp_led:caps</name>
+ <_description>Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp_led:scroll</name>
+ <_description>Scroll Lock</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="false">
+ <!-- Select a keypad type -->
+ <configItem>
+ <name>keypad</name>
+ <_description>Numeric keypad layout selection</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>keypad:legacy</name>
+ <_description>Legacy</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>keypad:oss</name>
+ <_description>Unicode additions (arrows and math operators)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>keypad:future</name>
+ <_description>Unicode additions (arrows and math operators). Math operators on default level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>keypad:legacy_wang</name>
+ <_description>Legacy Wang 724</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>keypad:oss_wang</name>
+ <_description>Wang 724 keypad with unicode additions (arrows and math operators)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>keypad:future_wang</name>
+ <_description>Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>keypad:hex</name>
+ <_description>Hexadecimal</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>keypad:atm</name>
+ <_description>ATM/phone-style</_description>
+ </configItem>
+ </option>
+ </group>
+ <!-- This option should override the KPDL key defined in keypad; I hope it's declared in the right place -->
+ <group allowMultipleSelection="false">
+ <!-- Select a keypad KPDL variant -->
+ <configItem>
+ <name>kpdl</name>
+ <_description>Numeric keypad delete key behaviour</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <!-- Actually, with KP_DECIMAL, as the old keypad(dot) -->
+ <name>kpdl:dot</name>
+ <_description>Legacy key with dot</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>kpdl:comma</name>
+ <!-- Actually, with KP_SEPARATOR, as the old keypad(comma) -->
+ <_description>Legacy key with comma</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>kpdl:dotoss</name>
+ <_description>Four-level key with dot</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>kpdl:dotoss_latin9</name>
+ <_description>Four-level key with dot, latin-9 restriction</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>kpdl:commaoss</name>
+ <_description>Four-level key with comma</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>kpdl:momayyezoss</name>
+ <_description>Four-level key with momayyez</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>kpdl:kposs</name>
+ <!-- This assumes the KP_ abstract symbols are actually useful for some apps
+ The description needs to be rewritten -->
+ <_description>Four-level key with abstract separators</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>kpdl:semi</name>
+ <_description>Semi-colon on third level</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="false">
+ <!-- Caps Lock tweaks.
+ "Internal" capitalization means capitalization using some internal tables.
+ Otherwise "as Shift" - means using next group. -->
+ <configItem>
+ <name>caps</name>
+ <_description>Caps Lock key behavior</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>caps:internal</name>
+ <_description>Caps Lock uses internal capitalization. Shift "pauses" Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:internal_nocancel</name>
+ <_description>Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:shift</name>
+ <_description>Caps Lock acts as Shift with locking. Shift "pauses" Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:shift_nocancel</name>
+ <_description>Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:capslock</name>
+ <_description>Caps Lock toggles normal capitalization of alphabetic characters</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:numlock</name>
+ <_description>Make Caps Lock an additional Num Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:swapescape</name>
+ <_description>Swap ESC and Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:escape</name>
+ <_description>Make Caps Lock an additional ESC</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:backspace</name>
+ <_description>Make Caps Lock an additional Backspace</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:super</name>
+ <_description>Make Caps Lock an additional Super</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:hyper</name>
+ <_description>Make Caps Lock an additional Hyper</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:shiftlock</name>
+ <_description>Caps Lock toggles Shift so all keys are affected</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:none</name>
+ <_description>Caps Lock is disabled</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:ctrl_modifier</name>
+ <_description>Make Caps Lock an additional Control but keep the Caps_Lock keysym</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="false">
+ <!-- Using special PC keys (Win, Menu) to work as standard X keys (Super, Hyper, etc.) -->
+ <configItem>
+ <name>altwin</name>
+ <_description>Alt/Win key behavior</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>altwin:menu</name>
+ <_description>Add the standard behavior to Menu key</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:meta_alt</name>
+ <_description>Alt and Meta are on Alt keys</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:ctrl_win</name>
+ <_description>Control is mapped to Win keys (and the usual Ctrl keys)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:ctrl_alt_win</name>
+ <_description>Control is mapped to Alt keys, Alt is mapped to Win keys</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:meta_win</name>
+ <_description>Meta is mapped to Win keys</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:left_meta_win</name>
+ <_description>Meta is mapped to Left Win</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:hyper_win</name>
+ <_description>Hyper is mapped to Win-keys</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:alt_super_win</name>
+ <_description>Alt is mapped to Right Win, Super to Menu</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:swap_lalt_lwin</name>
+ <_description>Left Alt is swapped with Left Win</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <!-- Tweaking the position of the "Compose" key: mapping to existing PC keys -->
+ <configItem>
+ <name>Compose key</name>
+ <_description>Compose key position</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>compose:ralt</name>
+ <_description>Right Alt</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:lwin</name>
+ <_description>Left Win</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:rwin</name>
+ <_description>Right Win</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:menu</name>
+ <_description>Menu</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:lctrl</name>
+ <_description>Left Ctrl</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:rctrl</name>
+ <_description>Right Ctrl</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:caps</name>
+ <_description>Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:102</name>
+ <_description><Less/Greater></_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:paus</name>
+ <_description>Pause</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:prsc</name>
+ <_description>PrtSc</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:sclk</name>
+ <_description>Scroll Lock</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <configItem>
+ <name>compat</name>
+ <_description>Miscellaneous compatibility options</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>numpad:pc</name>
+ <_description>Default numeric keypad keys</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>numpad:mac</name>
+ <_description>Numeric keypad keys work as with Macintosh</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>numpad:microsoft</name>
+ <_description>Shift with numeric keypad keys works as in MS Windows</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>numpad:shift3</name>
+ <_description>Shift does not cancel Num Lock, chooses 3rd level instead</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>srvrkeys:none</name>
+ <_description>Special keys (Ctrl+Alt+<key>) handled in a server</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>apple:alupckeys</name>
+ <_description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>shift:breaks_caps</name>
+ <_description>Shift cancels Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>misc:typo</name>
+ <_description>Enable extra typographic characters</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>shift:both_capslock</name>
+ <_description>Both Shift-Keys together toggle Caps Lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>shift:both_capslock_cancel</name>
+ <_description>Both Shift-Keys together activate Caps Lock, one Shift-Key deactivates</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>shift:both_shiftlock</name>
+ <_description>Both Shift-Keys together toggle ShiftLock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>keypad:pointerkeys</name>
+ <_description>Toggle PointerKeys with Shift + NumLock.</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <!-- Special shortcuts for the Euro character -->
+ <configItem>
+ <name>eurosign</name>
+ <_description>Adding currency signs to certain keys</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>eurosign:e</name>
+ <_description>Euro on E</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>eurosign:2</name>
+ <_description>Euro on 2</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>eurosign:4</name>
+ <_description>Euro on 4</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>eurosign:5</name>
+ <_description>Euro on 5</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>rupeesign:4</name>
+ <_description>Rupee on 4</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <configItem>
+ <name>lv5</name>
+ <_description>Key to choose 5th level</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>lv5:lsgt_switch_lock</name>
+ <_description><Less/Greater> chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv5:ralt_switch_lock</name>
+ <_description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv5:lwin_switch_lock</name>
+ <_description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv5:rwin_switch_lock</name>
+ <_description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv5:lsgt_switch_lock_cancel</name>
+ <_description><Less/Greater> chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv5:ralt_switch_lock_cancel</name>
+ <_description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv5:lwin_switch_lock_cancel</name>
+ <_description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv5:rwin_switch_lock_cancel</name>
+ <_description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv5:lsgt_switch_lock_cancel</name>
+ <_description><Less/Greater> chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv5:ralt_switch_lock_cancel</name>
+ <_description>Right Alt chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="false">
+ <!-- Let space output NBSP, NNBSP, ZWNJ, and ZWJ for the desired level -->
+ <configItem>
+ <name>nbsp</name>
+ <_description>Using space key to input non-breakable space character</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>nbsp:none</name>
+ <_description>Usual space at any level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:level2</name>
+ <_description>Non-breakable space character at second level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:level3</name>
+ <_description>Non-breakable space character at third level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:level3s</name>
+ <_description>Non-breakable space character at third level, nothing at fourth level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:level3n</name>
+ <_description>Non-breakable space character at third level, thin non-breakable space character at fourth level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:level4</name>
+ <_description>Non-breakable space character at fourth level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:level4n</name>
+ <_description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:level4nl</name>
+ <_description>Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:zwnj2</name>
+ <_description>Zero-width non-joiner character at second level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:zwnj2zwj3</name>
+ <_description>Zero-width non-joiner character at second level, zero-width joiner character at third level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:zwnj2zwj3nb4</name>
+ <_description>Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:zwnj2nb3</name>
+ <_description>Zero-width non-joiner character at second level, non-breakable space character at third level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:zwnj2nb3s</name>
+ <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:zwnj2nb3zwj4</name>
+ <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:zwnj2nb3nnb4</name>
+ <_description>Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>nbsp:zwnj3zwj4</name>
+ <_description>Zero-width non-joiner character at third level, zero-width joiner at fourth level</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <configItem>
+ <name>japan</name>
+ <_description>Japanese keyboard options</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>japan:kana_lock</name>
+ <_description>Kana Lock key is locking</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>japan:nicola_f_bs</name>
+ <_description>NICOLA-F style Backspace</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="false">
+ <configItem>
+ <name>esperanto</name>
+ <_description>Adding Esperanto circumflexes (supersigno)</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>esperanto:qwerty</name>
+ <_description>To the corresponding key in a Qwerty keyboard.</_description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>esperanto:dvorak</name>
+ <_description>To the corresponding key in a Dvorak keyboard.</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <configItem>
+ <name>terminate</name>
+ <_description>Key sequence to kill the X server</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>terminate:ctrl_alt_bksp</name>
+ <_description>Control + Alt + Backspace</_description>
+ </configItem>
+ </option>
+ </group>
+ </optionList>
+</xkbConfigRegistry>
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1_s.sh b/xorg-server/xkeyboard-config/rules/bin/ml1_s.sh index b2d222432..b09459a5d 100644 --- a/xorg-server/xkeyboard-config/rules/bin/ml1_s.sh +++ b/xorg-server/xkeyboard-config/rules/bin/ml1_s.sh @@ -1,18 +1,9 @@ -#!/bin/sh +@echo off -INDIR=$1 -OUTFILE=base.ml1_s.part +set OUTFILE=base.ml1_s.part -> $OUTFILE +if exist %OUTFILE% del %OUTFILE% -awk '{ - if (index($2, "(") == 0) { - printf " * %s = pc+%s%%(v[1])\n", $1, $2; - } else { - printf " * %s = pc+%s\n", $1, $2; - } -}' < $INDIR/layoutsMapping.lst >> $OUTFILE +gawk "{ if (index($2, """(""") == 0) { printf """ * %%s = pc+%%s%%%%(v[1])\n""", $1, $2; } else { printf """ * %%s = pc+%%s\n""", $1, $2; }}" < layoutsMapping.lst >> %OUTFILE% -awk '{ - printf " * %s(%s) = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantsMapping.lst >> $OUTFILE +gawk "{ printf """ * %%s(%%s) = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE% diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.sh b/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.sh index 7c2b1a84c..4d492e02b 100644 --- a/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.sh +++ b/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.sh @@ -1,10 +1,7 @@ -#!/bin/sh +@echo off -INDIR=$1 -OUTFILE=base.ml1v1_s.part +set OUTFILE=base.ml1v1_s.part -> $OUTFILE +if exist %OUTFILE% del %OUTFILE% -awk '{ - printf " * %s %s = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantsMapping.lst >> $OUTFILE +gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE% diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1v_s.sh b/xorg-server/xkeyboard-config/rules/bin/ml1v_s.sh index 084d4c0be..cec1334c0 100644 --- a/xorg-server/xkeyboard-config/rules/bin/ml1v_s.sh +++ b/xorg-server/xkeyboard-config/rules/bin/ml1v_s.sh @@ -1,10 +1,7 @@ -#!/bin/sh +@echo off -INDIR=$1 -OUTFILE=base.ml1v_s.part +set OUTFILE=base.ml1v_s.part -> $OUTFILE +if exist %OUTFILE% del %OUTFILE% -awk '{ - printf " * %s %s = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantsMapping.lst >> $OUTFILE +gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE% diff --git a/xorg-server/xkeyboard-config/rules/bin/ml_s.sh b/xorg-server/xkeyboard-config/rules/bin/ml_s.sh index 666ba870f..b7f0d9c46 100644 --- a/xorg-server/xkeyboard-config/rules/bin/ml_s.sh +++ b/xorg-server/xkeyboard-config/rules/bin/ml_s.sh @@ -1,14 +1,9 @@ -#!/bin/sh +@echo off -INDIR=$1 -OUTFILE=base.ml_s.part +set OUTFILE=base.ml_s.part -> $OUTFILE +if exist %OUTFILE% del %OUTFILE% -awk '{ - printf " * %s = pc+%s\n", $1, $2; -}' < $INDIR/layoutsMapping.lst >> $OUTFILE +gawk "{ printf """ * %%s = pc+%%s\n""", $1, $2; }" < layoutsMapping.lst >> %OUTFILE% -awk '{ - printf " * %s(%s) = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantsMapping.lst >> $OUTFILE +gawk "{ printf """ * %%s(%%s) = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE% diff --git a/xorg-server/xkeyboard-config/rules/bin/mln_s.sh b/xorg-server/xkeyboard-config/rules/bin/mln_s.sh index 4a615fe7d..66794a4fc 100644 --- a/xorg-server/xkeyboard-config/rules/bin/mln_s.sh +++ b/xorg-server/xkeyboard-config/rules/bin/mln_s.sh @@ -1,20 +1,10 @@ -#!/bin/sh
+@echo off
+set variant=%1
-variant=$1
+set OUTFILE=base.ml%variant%_s.part
-INDIR=$2
-OUTFILE=base.ml${variant}_s.part
+if exist %OUTFILE% del %OUTFILE%
-> $OUTFILE
+echo "{ if (index($2, """(""") == 0) { printf """ * %%s = +%%s%%%%(v[%variant%]):%variant%\n""", $1, $2; } else { printf """ * %%s = +%%s:%variant%\n""", $1, $2; }}" < layoutsMapping.lst >> %OUTFILE%
-awk '{
- if (index($2, "(") == 0) {
- printf " * %s = +%s%%(v['${variant}']):'${variant}'\n", $1, $2;
- } else {
- printf " * %s = +%s:'${variant}'\n", $1, $2;
- }
-}' < $INDIR/layoutsMapping.lst >> $OUTFILE
-
-awk '{
- printf " * %s(%s) = +%s(%s):'${variant}'\n", $1, $2, $3, $4;
-}' < $INDIR/variantsMapping.lst >> $OUTFILE
+gawk "{ printf """ * %%s(%%s) = +%%s(%%s):%variant%\n""", $1, $2, $3, $4;}" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.sh b/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.sh index 30123874b..8e252943b 100644 --- a/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.sh +++ b/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.sh @@ -1,12 +1,8 @@ -#!/bin/sh
+@echo off
+set variant=%1
-variant=$1
+set OUTFILE=base.ml%variant%v%variant%_s.part
-INDIR=$2
-OUTFILE=base.ml${variant}v${variant}_s.part
+if exist %OUTFILE% del %OUTFILE%
-> $OUTFILE
-
-awk '{
- printf " * %s %s = +%s(%s):'${variant}'\n", $1, $2, $3, $4;
-}' < $INDIR/variantsMapping.lst >> $OUTFILE
+gawk "{ printf """ * %%s %%s = +%%s(%%s):%variant%\n""", $1, $2, $3, $4;}" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mlv_s.sh b/xorg-server/xkeyboard-config/rules/bin/mlv_s.sh index 5b466d59c..573cb930f 100644 --- a/xorg-server/xkeyboard-config/rules/bin/mlv_s.sh +++ b/xorg-server/xkeyboard-config/rules/bin/mlv_s.sh @@ -1,10 +1,7 @@ -#!/bin/sh +@echo off -INDIR=$1 -OUTFILE=base.mlv_s.part +set OUTFILE=base.mlv_s.part -> $OUTFILE +if exist %OUTFILE% del %OUTFILE% -awk '{ - printf " * %s %s = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantsMapping.lst >> $OUTFILE +gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE% diff --git a/xorg-server/xkeyboard-config/rules/compat/Makefile.am b/xorg-server/xkeyboard-config/rules/compat/Makefile.am index 814bd25cf..37570e0da 100644 --- a/xorg-server/xkeyboard-config/rules/compat/Makefile.am +++ b/xorg-server/xkeyboard-config/rules/compat/Makefile.am @@ -1,67 +1,67 @@ - -transform_files=layoutsMapping.lst variantsMapping.lst - -dist_parts=base.o_s.part \ -base.lv_c.part \ -base.l1v1_c.part \ -base.l2v2_c.part \ -base.l3v3_c.part \ -base.l4v4_c.part - -scripts_dir=$(srcdir)/../bin - -scripts= \ -base.ml2_s.part \ -base.ml3_s.part \ -base.ml4_s.part \ -base.ml2v2_s.part \ -base.ml3v3_s.part \ -base.ml4v4_s.part \ -base.ml_s.part \ -base.ml1_s.part \ -base.mlv_s.part \ -base.ml1v1_s.part - -if USE_COMPAT_RULES - -noinst_SCRIPTS=$(scripts) $(dist_parts) - -else - -noinst_SCRIPTS= - -endif - -base.ml2_s.part: $(scripts_dir)/mln_s.sh $(transform_files) - sh $< 2 $(srcdir) - -base.ml3_s.part: $(scripts_dir)/mln_s.sh $(transform_files) - sh $< 3 $(srcdir) - -base.ml4_s.part: $(scripts_dir)/mln_s.sh $(transform_files) - sh $< 4 $(srcdir) - -base.ml2v2_s.part: $(scripts_dir)/mlnvn_s.sh $(transform_files) - sh $< 2 $(srcdir) - -base.ml3v3_s.part: $(scripts_dir)/mlnvn_s.sh $(transform_files) - sh $< 3 $(srcdir) - -base.ml4v4_s.part: $(scripts_dir)/mlnvn_s.sh $(transform_files) - sh $< 4 $(srcdir) - -base.ml_s.part: $(scripts_dir)/ml_s.sh $(transform_files) - sh $< $(srcdir) - -base.ml1_s.part: $(scripts_dir)/ml1_s.sh $(transform_files) - sh $< $(srcdir) - -base.mlv_s.part: $(scripts_dir)/mlv_s.sh $(transform_files) - sh $< $(srcdir) - -base.ml1v1_s.part: $(scripts_dir)/ml1v1_s.sh $(transform_files) - sh $< $(srcdir) - -EXTRA_DIST=base.lists.part $(transform_files) $(dist_parts) - -CLEANFILES=$(scripts) +
+transform_files=layoutsMapping.lst variantsMapping.lst
+
+dist_parts=base.o_s.part \
+base.lv_c.part \
+base.l1v1_c.part \
+base.l2v2_c.part \
+base.l3v3_c.part \
+base.l4v4_c.part
+
+scripts_dir=$(srcdir)/../bin
+
+scripts= \
+base.ml2_s.part \
+base.ml3_s.part \
+base.ml4_s.part \
+base.ml2v2_s.part \
+base.ml3v3_s.part \
+base.ml4v4_s.part \
+base.ml_s.part \
+base.ml1_s.part \
+base.mlv_s.part \
+base.ml1v1_s.part
+
+if USE_COMPAT_RULES
+
+noinst_SCRIPTS=$(scripts) $(dist_parts)
+
+else
+
+noinst_SCRIPTS=
+
+endif
+
+base.ml2_s.part: $(scripts_dir)/mln_s.sh $(transform_files)
+ sh $< 2 $(srcdir)
+
+base.ml3_s.part: $(scripts_dir)/mln_s.sh $(transform_files)
+ sh $< 3 $(srcdir)
+
+base.ml4_s.part: $(scripts_dir)/mln_s.sh $(transform_files)
+ sh $< 4 $(srcdir)
+
+base.ml2v2_s.part: $(scripts_dir)/mlnvn_s.sh $(transform_files)
+ sh $< 2 $(srcdir)
+
+base.ml3v3_s.part: $(scripts_dir)/mlnvn_s.sh $(transform_files)
+ sh $< 3 $(srcdir)
+
+base.ml4v4_s.part: $(scripts_dir)/mlnvn_s.sh $(transform_files)
+ sh $< 4 $(srcdir)
+
+base.ml_s.part: $(scripts_dir)/ml_s.sh $(transform_files)
+ sh $< $(srcdir)
+
+base.ml1_s.part: $(scripts_dir)/ml1_s.sh $(transform_files)
+ sh $< $(srcdir)
+
+base.mlv_s.part: $(scripts_dir)/mlv_s.sh $(transform_files)
+ sh $< $(srcdir)
+
+base.ml1v1_s.part: $(scripts_dir)/ml1v1_s.sh $(transform_files)
+ sh $< $(srcdir)
+
+EXTRA_DIST=base.lists.part $(transform_files) $(dist_parts)
+
+CLEANFILES=$(scripts)
diff --git a/xorg-server/xkeyboard-config/rules/compat/makefile b/xorg-server/xkeyboard-config/rules/compat/makefile new file mode 100644 index 000000000..832ef5f80 --- /dev/null +++ b/xorg-server/xkeyboard-config/rules/compat/makefile @@ -0,0 +1,53 @@ +transform_files=layoutsMapping.lst variantsMapping.lst + +scripts_dir=..\bin + +SCRIPTS= \ +base.ml2_s.part \ +base.ml3_s.part \ +base.ml4_s.part \ +base.ml2v2_s.part \ +base.ml3v3_s.part \ +base.ml4v4_s.part \ +base.ml_s.part \ +base.ml1_s.part \ +base.mlv_s.part \ +base.ml1v1_s.part + + +SH=cmd /c + +base.ml2_s.part: mln_s.bat $(transform_files) + $(SH) $< 2 + +base.ml3_s.part: mln_s.bat $(transform_files) + $(SH) $< 3 + +base.ml4_s.part: mln_s.bat $(transform_files) + $(SH) $< 4 + +base.ml2v2_s.part: mlnvn_s.bat $(transform_files) + $(SH) $< 2 + +base.ml3v3_s.part: mlnvn_s.bat $(transform_files) + $(SH) $< 3 + +base.ml4v4_s.part: mlnvn_s.bat $(transform_files) + $(SH) $< 4 + +base.ml_s.part: ml_s.bat $(transform_files) + $(SH) $< + +base.ml1_s.part: ml1_s.bat $(transform_files) + $(SH) $< + +base.mlv_s.part: mlv_s.bat $(transform_files) + $(SH) $< + +base.ml1v1_s.part: ml1v1_s.bat $(transform_files) + $(SH) $< + +%.bat: $(scripts_dir)\%.sh + copy $< $@ + +all: $(SCRIPTS) diff --git a/xorg-server/xkeyboard-config/rules/makefile b/xorg-server/xkeyboard-config/rules/makefile new file mode 100644 index 000000000..c8b2f25c2 --- /dev/null +++ b/xorg-server/xkeyboard-config/rules/makefile @@ -0,0 +1,197 @@ +ifeq ($(MAKESERVER),1) +$(error Please do not specify MAKESERVER=1) +endif + +load_makefile compat\makefile DEBUG=$(DEBUG) + +DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\rules + +USE_COMPAT_RULES = 1 + +if USE_COMPAT_RULES + +base_parts = base.hdr.part base.lists.part \ +compat/base.lists.part \ +HDR base.m_k.part \ +HDR base.l1_k.part \ +HDR base.l_k.part \ +HDR base.o_k.part \ +HDR base.ml_g.part \ +HDR base.m_g.part \ +HDR compat/base.mlv_s.part base.mlv_s.part \ +HDR compat/base.ml_s.part base.ml_s.part \ +HDR compat/base.ml1_s.part base.ml1_s.part \ +HDR compat/base.ml1v1_s.part \ +HDR compat/base.ml2_s.part base.ml2_s.part \ +HDR compat/base.ml3_s.part base.ml3_s.part \ +HDR compat/base.ml4_s.part base.ml4_s.part \ +HDR compat/base.ml2v2_s.part \ +HDR compat/base.ml3v3_s.part \ +HDR compat/base.ml4v4_s.part \ +HDR base.m_s.part \ +HDR compat/base.lv_c.part \ +HDR compat/base.l1v1_c.part \ +HDR compat/base.l2v2_c.part \ +HDR compat/base.l3v3_c.part \ +HDR compat/base.l4v4_c.part \ +HDR base.ml_c.part \ +HDR base.ml1_c.part \ +HDR base.m_t.part \ +HDR base.lo_s.part \ +HDR base.l1o_s.part \ +HDR base.l2o_s.part \ +HDR base.l3o_s.part \ +HDR base.l4o_s.part \ +HDR compat/base.o_s.part base.o_s.part \ +HDR base.o_c.part \ +HDR base.o_t.part + +evdev_parts = base.hdr.part base.lists.part \ +compat/base.lists.part \ +HDR evdev.m_k.part \ +HDR base.l1_k.part \ +HDR base.l_k.part \ +HDR base.o_k.part \ +HDR base.ml_g.part \ +HDR base.m_g.part \ +HDR compat/base.mlv_s.part base.mlv_s.part \ +HDR compat/base.ml_s.part base.ml_s.part \ +HDR compat/base.ml1_s.part base.ml1_s.part \ +HDR compat/base.ml1v1_s.part \ +HDR compat/base.ml2_s.part base.ml2_s.part \ +HDR compat/base.ml3_s.part base.ml3_s.part \ +HDR compat/base.ml4_s.part base.ml4_s.part \ +HDR compat/base.ml2v2_s.part \ +HDR compat/base.ml3v3_s.part \ +HDR compat/base.ml4v4_s.part \ +HDR evdev.m_s.part \ +HDR compat/base.lv_c.part \ +HDR compat/base.l1v1_c.part \ +HDR compat/base.l2v2_c.part \ +HDR compat/base.l3v3_c.part \ +HDR compat/base.l4v4_c.part \ +HDR base.ml_c.part \ +HDR base.ml1_c.part \ +HDR base.m_t.part \ +HDR base.lo_s.part \ +HDR base.l1o_s.part \ +HDR base.l2o_s.part \ +HDR base.l3o_s.part \ +HDR base.l4o_s.part \ +HDR compat/base.o_s.part base.o_s.part \ +HDR base.o_c.part \ +HDR base.o_t.part + +else + +base_parts = base.hdr.part base.lists.part \ +HDR base.m_k.part \ +HDR base.l1_k.part \ +HDR base.l_k.part \ +HDR \ +HDR base.ml_g.part \ +HDR base.m_g.part \ +HDR base.mlv_s.part \ +HDR base.ml_s.part \ +HDR base.ml1_s.part \ +HDR \ +HDR base.ml2_s.part \ +HDR base.ml3_s.part \ +HDR base.ml4_s.part \ +HDR \ +HDR \ +HDR \ +HDR base.m_s.part \ +HDR \ +HDR \ +HDR \ +HDR \ +HDR \ +HDR base.ml_c.part \ +HDR base.ml1_c.part \ +HDR base.m_t.part \ +HDR \ +HDR base.l1o_s.part \ +HDR base.l2o_s.part \ +HDR base.l3o_s.part \ +HDR base.l4o_s.part \ +HDR base.o_s.part \ +HDR base.o_c.part \ +HDR base.o_t.part + +evdev_parts = base.hdr.part base.lists.part \ +HDR evdev.m_k.part \ +HDR base.l1_k.part \ +HDR base.l_k.part \ +HDR \ +HDR base.ml_g.part \ +HDR base.m_g.part \ +HDR base.mlv_s.part \ +HDR base.ml_s.part \ +HDR base.ml1_s.part \ +HDR \ +HDR base.ml2_s.part \ +HDR base.ml3_s.part \ +HDR base.ml4_s.part \ +HDR \ +HDR \ +HDR \ +HDR evdev.m_s.part \ +HDR \ +HDR \ +HDR \ +HDR \ +HDR \ +HDR base.ml_c.part \ +HDR base.ml1_c.part \ +HDR base.m_t.part \ +HDR \ +HDR base.l1o_s.part \ +HDR base.l2o_s.part \ +HDR base.l3o_s.part \ +HDR base.l4o_s.part \ +HDR base.o_s.part \ +HDR base.o_c.part \ +HDR base.o_t.part + +endif +rules_files = base evdev xfree98 + +lst_files = base.lst evdev.lst + +$(DESTDIR)\%.lst: $(DESTDIR)\%.xml + perl xml2lst.pl < $< > $@ + +$(DESTDIR)\base: compat\all $(base_parts) + merge $@ $(base_parts) + +$(DESTDIR)\evdev: compat\all $(evdev_parts) + merge $@ $(evdev_parts) + +dist_files = xkb.dtd README + +rules_DATA = $(rules_files) $(lst_files) $(dist_files) + +COMPATFILES=xorg xorg.xml xorg.lst +$(DESTDIR)\xorg: $(DESTDIR)\base + copy $< $@ +$(DESTDIR)\xorg%: $(DESTDIR)\base% + copy $< $@ + +rules_DATA := $(rules_DATA) $(COMPATFILES) + +xml_in_files = base.xml.in evdev.xml.in base.extras.xml.in evdev.extras.xml.in +xml_DATA = $(xml_in_files:.xml.in=.xml) + +$(DESTDIR)\%.xml: %.xml.in + copy $< $@ + +$(DESTDIR)\evdev.xml: base.xml.in + copy $< $@ + +$(DESTDIR)\evdev.extras.xml: base.extras.xml.in + copy $< $@ + +DATA_FILES=$(rules_DATA:%=$(DESTDIR)\%) $(xml_DATA:%=$(DESTDIR)\%) + +include ..\xkbrules.mak diff --git a/xorg-server/xkeyboard-config/rules/merge.py b/xorg-server/xkeyboard-config/rules/merge.py new file mode 100644 index 000000000..442a866f2 --- /dev/null +++ b/xorg-server/xkeyboard-config/rules/merge.py @@ -0,0 +1,13 @@ +import sys + +pOUT=open(sys.argv[1],"wb") +pHDR=open("HDR","r") +for item in sys.argv[2:]: + if item == 'HDR': + pOUT.write("\n") + pOUT.write(pHDR.readline()) + else: + pOUT.write(open(item,"rb").read()) + +pOUT.close() + diff --git a/xorg-server/xkeyboard-config/rules/xkb.dtd b/xorg-server/xkeyboard-config/rules/xkb.dtd index 0afa0df12..dcf35c947 100644 --- a/xorg-server/xkeyboard-config/rules/xkb.dtd +++ b/xorg-server/xkeyboard-config/rules/xkb.dtd @@ -1,55 +1,55 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - - Description: XKB configuration file DTD - Author: Sergey V. Udaltsov - ---> - -<!ELEMENT xkbConfigRegistry (modelList,layoutList,optionList)> - -<!ATTLIST xkbConfigRegistry - version CDATA "1.1"> - -<!ELEMENT modelList (model*)> - -<!ELEMENT model (configItem)> - -<!ELEMENT layoutList (layout*)> - -<!ELEMENT layout (configItem,variantList?)> - -<!ELEMENT optionList (group*)> - -<!ELEMENT variantList (variant*)> - -<!ELEMENT variant (configItem)> - -<!ELEMENT group (configItem,option*)> -<!ATTLIST group - allowMultipleSelection (true|false) "false"> - -<!ELEMENT option (configItem)> - -<!ELEMENT configItem (name,shortDescription*,description*,vendor?,countryList?,languageList?)> - -<!ATTLIST configItem - popularity (standard|exotic) "standard"> - -<!ELEMENT name (#PCDATA)> - -<!ELEMENT shortDescription (#PCDATA)> - -<!ELEMENT description (#PCDATA)> - -<!ELEMENT vendor (#PCDATA)> - -<!ELEMENT countryList (iso3166Id+)> - -<!ELEMENT iso3166Id (#PCDATA)> - -<!ELEMENT languageList (iso639Id+)> - -<!ELEMENT iso639Id (#PCDATA)> - +<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+ Description: XKB configuration file DTD
+ Author: Sergey V. Udaltsov
+
+-->
+
+<!ELEMENT xkbConfigRegistry (modelList,layoutList,optionList)>
+
+<!ATTLIST xkbConfigRegistry
+ version CDATA "1.1">
+
+<!ELEMENT modelList (model*)>
+
+<!ELEMENT model (configItem)>
+
+<!ELEMENT layoutList (layout*)>
+
+<!ELEMENT layout (configItem,variantList?)>
+
+<!ELEMENT optionList (group*)>
+
+<!ELEMENT variantList (variant*)>
+
+<!ELEMENT variant (configItem)>
+
+<!ELEMENT group (configItem,option*)>
+<!ATTLIST group
+ allowMultipleSelection (true|false) "false">
+
+<!ELEMENT option (configItem)>
+
+<!ELEMENT configItem (name,shortDescription*,description*,vendor?,countryList?,languageList?)>
+
+<!ATTLIST configItem
+ popularity (standard|exotic) "standard">
+
+<!ELEMENT name (#PCDATA)>
+
+<!ELEMENT shortDescription (#PCDATA)>
+
+<!ELEMENT description (#PCDATA)>
+
+<!ELEMENT vendor (#PCDATA)>
+
+<!ELEMENT countryList (iso3166Id+)>
+
+<!ELEMENT iso3166Id (#PCDATA)>
+
+<!ELEMENT languageList (iso639Id+)>
+
+<!ELEMENT iso639Id (#PCDATA)>
+
diff --git a/xorg-server/xkeyboard-config/rules/xml2lst.pl b/xorg-server/xkeyboard-config/rules/xml2lst.pl index 0c6540d1e..3b5e10009 100644 --- a/xorg-server/xkeyboard-config/rules/xml2lst.pl +++ b/xorg-server/xkeyboard-config/rules/xml2lst.pl @@ -1,262 +1,262 @@ -#!/usr/bin/perl - -# converts the <rules>.xml file to the old format <rules>.lst file -# -# Usage: -# -# perl xml2lst.pl < filename.xml > filename.lst -# -# author Ivan Pascal - -$doc = new_document( 0, ''); -parse('', $doc); - -($reg) = node_by_name($doc, '/xkbConfigRegistry'); -@models = node_by_name($reg, 'modelList/model/configItem'); -@layouts = node_by_name($reg, 'layoutList/layout/configItem'); -@options = node_by_name($reg, 'optionList/group/configItem'); - -print "! model\n"; -for $i (@models) { - ($name) = node_by_name($i, 'name'); - ($descr) = node_by_name($i, 'description'); - printf(" %-15s %s\n", text_child($name), text_child($descr)); -} - -print "\n! layout\n"; -for $i (@layouts) { - ($name) = node_by_name($i, 'name'); - ($descr) = node_by_name($i, 'description'); - printf(" %-15s %s\n", text_child($name), text_child($descr)); -} - -print "\n! variant\n"; -for $l (@layouts) { - ($lname) = node_by_name($l, 'name'); - @variants = node_by_name($l, '../variantList/variant/configItem'); - for $v (@variants) { - ($name) = node_by_name($v, 'name'); - ($descr) = node_by_name($v, 'description'); - printf(" %-15s %s: %s\n", - text_child($name), text_child($lname), text_child($descr)); - } -} - -print "\n! option\n"; -for $g (@options) { - ($name) = node_by_name($g, 'name'); - ($descr) = node_by_name($g, 'description'); - printf(" %-20s %s\n", text_child($name), text_child($descr)); - - @opts = node_by_name($g, '../option/configItem'); - for $o (@opts) { - ($name) = node_by_name($o, 'name'); - ($descr) = node_by_name($o, 'description'); - printf(" %-20s %s\n", - text_child($name), text_child($descr)); - } -} - -sub with_attribute { - local ($nodelist, $attrexpr) = @_; - local ($attr, $value) = split (/=/, $attrexpr); - local ($node, $attrvalue); - if (defined $value && $value ne '') { - $value =~ s/"//g; - foreach $node (@{$nodelist}) { - $attrvalue = node_attribute($node, $attr); - if (defined $attrvalue && $attrvalue eq $value) { - return $node; - } - } - } else { - foreach $node (@{$nodelist}) { - if (! defined node_attribute($node, $attr)) { - return $node; - } - } - } - undef; -} - -# Subroutines - -sub parse { - local $intag = 0; - my (@node_stack, $parent); - $parent = @_[1]; - local ($tag, $text); - - while (<>) { - chomp; - @str = split /([<>])/; - shift @str if ($str[0] eq '' || $str[0] =~ /^[ \t]*$/); - - while (scalar @str) { - $token = shift @str; - if ($token eq '<') { - $intag = 1; - if (defined $text) { - add_text_node($parent, $text); - undef $text; - } - } elsif ($token eq '>') { - $intag = 0; - if ($tag =~ /^\/(.*)/) { # close tag - $parent = pop @node_stack; - } elsif ($tag =~ /^([^\/]*)\/$/) { - empty_tag($parent, $1); - } else { - if (defined ($node = open_tag($parent, $tag))) { - push @node_stack, $parent; - $parent = $node; - } - } - undef $tag; - } else { - if ($intag == 1) { - if (defined $tag) { - $tag .= ' '. $token; - } else { - $tag = $token; - } - } else { - if (defined $text) { - $text .= "\n" . $token; - } else { - $text = $token; - } - } - } - } - } -} - -sub new_document { - $doc = new_node( 0, '', 'DOCUMENT'); - $doc->{CHILDREN} = []; - return $doc; -} - -sub new_node { - local ($parent_node, $tag, $type) = @_; - - my %node; - $node{PARENT} = $parent_node; - $node{TYPE} = $type; - - if ($type eq 'COMMENT' || $type eq 'TEXT') { - $node{TEXT} = $tag; - $node{NAME} = $type; - return \%node; - } - - local ($tname, $attr) = split(' ', $tag, 2); - $node{NAME} = $tname; - - if (defined $attr && $attr ne '') { - my %attr_table; - local @attr_list = split ( /"/, $attr); - local ($name, $value); - while (scalar @attr_list) { - $name = shift @attr_list; - $name =~ s/[ =]//g; - next if ($name eq ''); - $value = shift @attr_list; - $attr_table{$name} =$value; - } - $node{ATTRIBUTES} = \%attr_table; - } - return \%node; -} - -sub add_node { - local ($parent_node, $node) = @_; - push @{$parent_node->{CHILDREN}}, $node; - - local $tname = $node->{NAME}; - if (defined $parent_node->{$tname}) { - push @{$parent_node->{$tname}}, $node - } else { - $parent_node->{$tname} = [ $node ]; - } -} - -sub empty_tag { - local ($parent_node, $tag) = @_; - local $node = new_node($parent_node, $tag, 'EMPTY'); - add_node($parent_node, $node); -} - -sub open_tag { - local ($parent_node, $tag) = @_; - local $node; - - if ($tag =~ /^\?.*/ || $tag =~ /^\!.*/) { - $node = new_node($parent_node, $tag, 'COMMENT'); - add_node($parent_node, $node); - undef; return; - } else { - $node = new_node($parent_node, $tag, 'NODE'); - $node->{CHILDREN} = []; - add_node($parent_node, $node); - return $node; - } -} - -sub add_text_node { - local ($parent_node, $text) = @_; - local $node = new_node($parent_node, $text, 'TEXT'); - add_node($parent_node, $node); -} - -sub node_by_name { - local ($node, $name) = @_; - local ($tagname, $path) = split(/\//, $name, 2); - - my @nodelist; - - if ($tagname eq '') { - while ($node->{PARENT} != 0) { - $node = $node->{PARENT}; - } - sublist_by_name($node, $path, \@nodelist); - } else { - sublist_by_name($node, $name, \@nodelist); - } - return @nodelist; -} - -sub sublist_by_name { - local ($node, $name, $res) = @_; - local ($tagname, $path) = split(/\//, $name, 2); - - if (! defined $path) { - push @{$res}, (@{$node->{$tagname}}); - return; - } - - if ($tagname eq '..' && $node->{PARENT} != 0) { - $node = $node->{PARENT}; - sublist_by_name($node, $path, $res); - } else { - local $n; - for $n (@{$node->{$tagname}}) { - sublist_by_name($n, $path, $res); - } - } -} - -sub node_attribute { - local $node = @_[0]; - if (defined $node->{ATTRIBUTES}) { - return $node->{ATTRIBUTES}{@_[1]}; - } - undef; -} - -sub text_child { - local ($node) = @_; - local ($child) = node_by_name($node, 'TEXT'); - return $child->{TEXT}; -} +#!/usr/bin/perl
+
+# converts the <rules>.xml file to the old format <rules>.lst file
+#
+# Usage:
+#
+# perl xml2lst.pl < filename.xml > filename.lst
+#
+# author Ivan Pascal
+
+$doc = new_document( 0, '');
+parse('', $doc);
+
+($reg) = node_by_name($doc, '/xkbConfigRegistry');
+@models = node_by_name($reg, 'modelList/model/configItem');
+@layouts = node_by_name($reg, 'layoutList/layout/configItem');
+@options = node_by_name($reg, 'optionList/group/configItem');
+
+print "! model\n";
+for $i (@models) {
+ ($name) = node_by_name($i, 'name');
+ ($descr) = node_by_name($i, 'description');
+ printf(" %-15s %s\n", text_child($name), text_child($descr));
+}
+
+print "\n! layout\n";
+for $i (@layouts) {
+ ($name) = node_by_name($i, 'name');
+ ($descr) = node_by_name($i, 'description');
+ printf(" %-15s %s\n", text_child($name), text_child($descr));
+}
+
+print "\n! variant\n";
+for $l (@layouts) {
+ ($lname) = node_by_name($l, 'name');
+ @variants = node_by_name($l, '../variantList/variant/configItem');
+ for $v (@variants) {
+ ($name) = node_by_name($v, 'name');
+ ($descr) = node_by_name($v, 'description');
+ printf(" %-15s %s: %s\n",
+ text_child($name), text_child($lname), text_child($descr));
+ }
+}
+
+print "\n! option\n";
+for $g (@options) {
+ ($name) = node_by_name($g, 'name');
+ ($descr) = node_by_name($g, 'description');
+ printf(" %-20s %s\n", text_child($name), text_child($descr));
+
+ @opts = node_by_name($g, '../option/configItem');
+ for $o (@opts) {
+ ($name) = node_by_name($o, 'name');
+ ($descr) = node_by_name($o, 'description');
+ printf(" %-20s %s\n",
+ text_child($name), text_child($descr));
+ }
+}
+
+sub with_attribute {
+ local ($nodelist, $attrexpr) = @_;
+ local ($attr, $value) = split (/=/, $attrexpr);
+ local ($node, $attrvalue);
+ if (defined $value && $value ne '') {
+ $value =~ s/"//g;
+ foreach $node (@{$nodelist}) {
+ $attrvalue = node_attribute($node, $attr);
+ if (defined $attrvalue && $attrvalue eq $value) {
+ return $node;
+ }
+ }
+ } else {
+ foreach $node (@{$nodelist}) {
+ if (! defined node_attribute($node, $attr)) {
+ return $node;
+ }
+ }
+ }
+ undef;
+}
+
+# Subroutines
+
+sub parse {
+ local $intag = 0;
+ my (@node_stack, $parent);
+ $parent = @_[1];
+ local ($tag, $text);
+
+ while (<>) {
+ chomp;
+ @str = split /([<>])/;
+ shift @str if ($str[0] eq '' || $str[0] =~ /^[ \t]*$/);
+
+ while (scalar @str) {
+ $token = shift @str;
+ if ($token eq '<') {
+ $intag = 1;
+ if (defined $text) {
+ add_text_node($parent, $text);
+ undef $text;
+ }
+ } elsif ($token eq '>') {
+ $intag = 0;
+ if ($tag =~ /^\/(.*)/) { # close tag
+ $parent = pop @node_stack;
+ } elsif ($tag =~ /^([^\/]*)\/$/) {
+ empty_tag($parent, $1);
+ } else {
+ if (defined ($node = open_tag($parent, $tag))) {
+ push @node_stack, $parent;
+ $parent = $node;
+ }
+ }
+ undef $tag;
+ } else {
+ if ($intag == 1) {
+ if (defined $tag) {
+ $tag .= ' '. $token;
+ } else {
+ $tag = $token;
+ }
+ } else {
+ if (defined $text) {
+ $text .= "\n" . $token;
+ } else {
+ $text = $token;
+ }
+ }
+ }
+ }
+ }
+}
+
+sub new_document {
+ $doc = new_node( 0, '', 'DOCUMENT');
+ $doc->{CHILDREN} = [];
+ return $doc;
+}
+
+sub new_node {
+ local ($parent_node, $tag, $type) = @_;
+
+ my %node;
+ $node{PARENT} = $parent_node;
+ $node{TYPE} = $type;
+
+ if ($type eq 'COMMENT' || $type eq 'TEXT') {
+ $node{TEXT} = $tag;
+ $node{NAME} = $type;
+ return \%node;
+ }
+
+ local ($tname, $attr) = split(' ', $tag, 2);
+ $node{NAME} = $tname;
+
+ if (defined $attr && $attr ne '') {
+ my %attr_table;
+ local @attr_list = split ( /"/, $attr);
+ local ($name, $value);
+ while (scalar @attr_list) {
+ $name = shift @attr_list;
+ $name =~ s/[ =]//g;
+ next if ($name eq '');
+ $value = shift @attr_list;
+ $attr_table{$name} =$value;
+ }
+ $node{ATTRIBUTES} = \%attr_table;
+ }
+ return \%node;
+}
+
+sub add_node {
+ local ($parent_node, $node) = @_;
+ push @{$parent_node->{CHILDREN}}, $node;
+
+ local $tname = $node->{NAME};
+ if (defined $parent_node->{$tname}) {
+ push @{$parent_node->{$tname}}, $node
+ } else {
+ $parent_node->{$tname} = [ $node ];
+ }
+}
+
+sub empty_tag {
+ local ($parent_node, $tag) = @_;
+ local $node = new_node($parent_node, $tag, 'EMPTY');
+ add_node($parent_node, $node);
+}
+
+sub open_tag {
+ local ($parent_node, $tag) = @_;
+ local $node;
+
+ if ($tag =~ /^\?.*/ || $tag =~ /^\!.*/) {
+ $node = new_node($parent_node, $tag, 'COMMENT');
+ add_node($parent_node, $node);
+ undef; return;
+ } else {
+ $node = new_node($parent_node, $tag, 'NODE');
+ $node->{CHILDREN} = [];
+ add_node($parent_node, $node);
+ return $node;
+ }
+}
+
+sub add_text_node {
+ local ($parent_node, $text) = @_;
+ local $node = new_node($parent_node, $text, 'TEXT');
+ add_node($parent_node, $node);
+}
+
+sub node_by_name {
+ local ($node, $name) = @_;
+ local ($tagname, $path) = split(/\//, $name, 2);
+
+ my @nodelist;
+
+ if ($tagname eq '') {
+ while ($node->{PARENT} != 0) {
+ $node = $node->{PARENT};
+ }
+ sublist_by_name($node, $path, \@nodelist);
+ } else {
+ sublist_by_name($node, $name, \@nodelist);
+ }
+ return @nodelist;
+}
+
+sub sublist_by_name {
+ local ($node, $name, $res) = @_;
+ local ($tagname, $path) = split(/\//, $name, 2);
+
+ if (! defined $path) {
+ push @{$res}, (@{$node->{$tagname}});
+ return;
+ }
+
+ if ($tagname eq '..' && $node->{PARENT} != 0) {
+ $node = $node->{PARENT};
+ sublist_by_name($node, $path, $res);
+ } else {
+ local $n;
+ for $n (@{$node->{$tagname}}) {
+ sublist_by_name($n, $path, $res);
+ }
+ }
+}
+
+sub node_attribute {
+ local $node = @_[0];
+ if (defined $node->{ATTRIBUTES}) {
+ return $node->{ATTRIBUTES}{@_[1]};
+ }
+ undef;
+}
+
+sub text_child {
+ local ($node) = @_;
+ local ($child) = node_by_name($node, 'TEXT');
+ return $child->{TEXT};
+}
|