diff options
Diffstat (limited to 'xorg-server/xkbdata.src/rules')
53 files changed, 14847 insertions, 0 deletions
diff --git a/xorg-server/xkbdata.src/rules/HDR b/xorg-server/xkbdata.src/rules/HDR new file mode 100644 index 000000000..717fdea85 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/HDR @@ -0,0 +1,28 @@ +! model = keycodes +! layout[1] = keycodes +! layout = keycodes +! option = keycodes +! model layout = geometry +! model = geometry +! model layout variant = symbols +! model layout = symbols +! model layout[1] = symbols +! model layout[1] variant[1] = symbols +! layout[2] = symbols +! layout[3] = symbols +! layout[4] = symbols +! layout[2] variant[2] = symbols +! layout[3] variant[3] = symbols +! layout[4] variant[4] = symbols +! model = symbols +! model layout = compat +! model layout[1] = compat +! model = types +! layout option = symbols +! layout[1] option = symbols +! layout[2] option = symbols +! layout[3] option = symbols +! layout[4] option = symbols +! option = symbols +! option = compat +! option = types diff --git a/xorg-server/xkbdata.src/rules/Makefile.am b/xorg-server/xkbdata.src/rules/Makefile.am new file mode 100644 index 000000000..eaed78216 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/Makefile.am @@ -0,0 +1,128 @@ +SUBDIRS = 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 + +base_parts_no_compat = base.hdr.part base.lists.part \ +HDR base.m_k.part HDR base.l1_k.part HDR base.l_k.part \ +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.l2_s.part HDR base.l3_s.part HDR base.l4_s.part HDR HDR HDR \ +HDR base.m_s.part HDR base.ml_c.part HDR base.ml1_c.part \ +HDR base.m_t.part \ +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_no_compat = base.hdr.part base.lists.part \ +HDR evdev.m_k.part HDR base.l1_k.part HDR base.l_k.part \ +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.l2_s.part HDR base.l3_s.part HDR base.l4_s.part HDR HDR HDR \ +HDR evdev.m_s.part HDR base.ml_c.part HDR base.ml1_c.part \ +HDR base.m_t.part \ +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 + +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.l2_s.part base.l2_s.part \ +HDR compat/base.l3_s.part base.l3_s.part \ +HDR compat/base.l4_s.part base.l4_s.part \ +HDR compat/base.l2v2_s.part \ +HDR compat/base.l3v3_s.part \ +HDR compat/base.l4v4_s.part \ +HDR base.m_s.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.l2_s.part base.l2_s.part \ +HDR compat/base.l3_s.part base.l3_s.part \ +HDR compat/base.l4_s.part base.l4_s.part \ +HDR compat/base.l2v2_s.part \ +HDR compat/base.l3v3_s.part \ +HDR compat/base.l4v4_s.part \ +HDR evdev.m_s.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_parts_no_compat) +evdev_parts = $(base_parts_no_compat) +endif + +rules_files = base evdev xfree98 + +lst_files = base.lst evdev.lst + +%.lst: %.xml + perl $(srcdir)/xml2lst.pl < $< > $@ + +base: $(base_parts_no_compat) + HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(base_parts) + +evdev: $(evdev_parts_no_compat) + HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(evdev_parts) + +all_rules_files = $(rules_files) $(lst_files) \ +xkb.dtd README + +rules_DATA = $(all_rules_files) + +xml_in_files = base.xml.in evdev.xml.in +xml_DATA = $(xml_in_files:.xml.in=.xml) + +evdev.xml.in: base.xml.in + cp $< $@ + +EXTRA_DIST= $(all_rules_files) $(xml_in_files) \ + $(base_parts_no_compat) \ + $(evdev_parts_no_compat) \ + xml2lst.pl merge.sh + +DISTCLEANFILES=base.xml base.lst evdev.xml evdev.lst + +rulesdir = $(xkb_base)/rules +xmldir = $(rulesdir) + +@INTLTOOL_XML_NOMERGE_RULE@ diff --git a/xorg-server/xkbdata.src/rules/Makefile.in b/xorg-server/xkbdata.src/rules/Makefile.in new file mode 100644 index 000000000..a5184f2ba --- /dev/null +++ b/xorg-server/xkbdata.src/rules/Makefile.in @@ -0,0 +1,655 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = rules +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(rulesdir)" "$(DESTDIR)$(xmldir)" +rulesDATA_INSTALL = $(INSTALL_DATA) +xmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(rules_DATA) $(xml_DATA) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CREATE_RULES_SYMLINK_FALSE = @CREATE_RULES_SYMLINK_FALSE@ +CREATE_RULES_SYMLINK_TRUE = @CREATE_RULES_SYMLINK_TRUE@ +CREATE_XKBCOMP_SYMLINK_FALSE = @CREATE_XKBCOMP_SYMLINK_FALSE@ +CREATE_XKBCOMP_SYMLINK_TRUE = @CREATE_XKBCOMP_SYMLINK_TRUE@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_COMPAT_RULES_FALSE = @USE_COMPAT_RULES_FALSE@ +USE_COMPAT_RULES_TRUE = @USE_COMPAT_RULES_TRUE@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XKBCOMP = @XKBCOMP@ +ac_ct_CC = @ac_ct_CC@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +xkb_base = @xkb_base@ +xkb_rules_symlink = @xkb_rules_symlink@ +SUBDIRS = compat +base_parts_no_compat = base.hdr.part base.lists.part \ +HDR base.m_k.part HDR base.l1_k.part HDR base.l_k.part \ +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.l2_s.part HDR base.l3_s.part HDR base.l4_s.part HDR HDR HDR \ +HDR base.m_s.part HDR base.ml_c.part HDR base.ml1_c.part \ +HDR base.m_t.part \ +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_no_compat = base.hdr.part base.lists.part \ +HDR evdev.m_k.part HDR base.l1_k.part HDR base.l_k.part \ +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.l2_s.part HDR base.l3_s.part HDR base.l4_s.part HDR HDR HDR \ +HDR evdev.m_s.part HDR base.ml_c.part HDR base.ml1_c.part \ +HDR base.m_t.part \ +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 + +@USE_COMPAT_RULES_FALSE@base_parts = $(base_parts_no_compat) +@USE_COMPAT_RULES_TRUE@base_parts = base.hdr.part base.lists.part \ +@USE_COMPAT_RULES_TRUE@compat/base.lists.part \ +@USE_COMPAT_RULES_TRUE@HDR base.m_k.part HDR base.l1_k.part \ +@USE_COMPAT_RULES_TRUE@HDR base.l_k.part HDR base.o_k.part \ +@USE_COMPAT_RULES_TRUE@HDR base.ml_g.part \ +@USE_COMPAT_RULES_TRUE@HDR base.m_g.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.mlv_s.part base.mlv_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.ml_s.part base.ml_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.ml1_s.part base.ml1_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.ml1v1_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l2_s.part base.l2_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l3_s.part base.l3_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l4_s.part base.l4_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l2v2_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l3v3_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l4v4_s.part \ +@USE_COMPAT_RULES_TRUE@HDR base.m_s.part HDR base.ml_c.part HDR base.ml1_c.part \ +@USE_COMPAT_RULES_TRUE@HDR base.m_t.part \ +@USE_COMPAT_RULES_TRUE@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 \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.o_s.part base.o_s.part \ +@USE_COMPAT_RULES_TRUE@HDR base.o_c.part HDR base.o_t.part + +@USE_COMPAT_RULES_FALSE@evdev_parts = $(base_parts_no_compat) +@USE_COMPAT_RULES_TRUE@evdev_parts = base.hdr.part base.lists.part \ +@USE_COMPAT_RULES_TRUE@compat/base.lists.part \ +@USE_COMPAT_RULES_TRUE@HDR evdev.m_k.part HDR base.l1_k.part \ +@USE_COMPAT_RULES_TRUE@HDR base.l_k.part HDR base.o_k.part \ +@USE_COMPAT_RULES_TRUE@HDR base.ml_g.part \ +@USE_COMPAT_RULES_TRUE@HDR base.m_g.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.mlv_s.part base.mlv_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.ml_s.part base.ml_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.ml1_s.part base.ml1_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.ml1v1_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l2_s.part base.l2_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l3_s.part base.l3_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l4_s.part base.l4_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l2v2_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l3v3_s.part \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.l4v4_s.part \ +@USE_COMPAT_RULES_TRUE@HDR evdev.m_s.part HDR base.ml_c.part HDR base.ml1_c.part \ +@USE_COMPAT_RULES_TRUE@HDR base.m_t.part \ +@USE_COMPAT_RULES_TRUE@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 \ +@USE_COMPAT_RULES_TRUE@HDR compat/base.o_s.part base.o_s.part \ +@USE_COMPAT_RULES_TRUE@HDR base.o_c.part HDR base.o_t.part + +rules_files = base evdev xfree98 +lst_files = base.lst evdev.lst +all_rules_files = $(rules_files) $(lst_files) \ +xkb.dtd README + +rules_DATA = $(all_rules_files) +xml_in_files = base.xml.in evdev.xml.in +xml_DATA = $(xml_in_files:.xml.in=.xml) +EXTRA_DIST = $(all_rules_files) $(xml_in_files) \ + $(base_parts_no_compat) \ + $(evdev_parts_no_compat) \ + xml2lst.pl merge.sh + +DISTCLEANFILES = base.xml base.lst evdev.xml evdev.lst +rulesdir = $(xkb_base)/rules +xmldir = $(rulesdir) +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu rules/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu rules/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +install-rulesDATA: $(rules_DATA) + @$(NORMAL_INSTALL) + test -z "$(rulesdir)" || $(mkdir_p) "$(DESTDIR)$(rulesdir)" + @list='$(rules_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(rulesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(rulesdir)/$$f'"; \ + $(rulesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(rulesdir)/$$f"; \ + done + +uninstall-rulesDATA: + @$(NORMAL_UNINSTALL) + @list='$(rules_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(rulesdir)/$$f'"; \ + rm -f "$(DESTDIR)$(rulesdir)/$$f"; \ + done +install-xmlDATA: $(xml_DATA) + @$(NORMAL_INSTALL) + test -z "$(xmldir)" || $(mkdir_p) "$(DESTDIR)$(xmldir)" + @list='$(xml_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(xmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(xmldir)/$$f'"; \ + $(xmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(xmldir)/$$f"; \ + done + +uninstall-xmlDATA: + @$(NORMAL_UNINSTALL) + @list='$(xml_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(xmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(xmldir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(rulesdir)" "$(DESTDIR)$(xmldir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-rulesDATA install-xmlDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am uninstall-rulesDATA uninstall-xmlDATA + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ + clean clean-generic clean-recursive ctags ctags-recursive \ + distclean distclean-generic distclean-recursive distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-data-hook \ + install-exec install-exec-am install-info install-info-am \ + install-man install-rulesDATA install-strip install-xmlDATA \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-info-am uninstall-rulesDATA \ + uninstall-xmlDATA + + +# extra_rules_file = $(xkb_rules_symlink) +# extra_dir_file = $(extra_rules_file).xml +# extra_lst_file = $(extra_rules_file).lst + +@CREATE_RULES_SYMLINK_TRUE@install-data-hook: +@CREATE_RULES_SYMLINK_TRUE@ for file in `echo "$(xkb_rules_symlink)" | sed 's/,/ /'` ; do \ +@CREATE_RULES_SYMLINK_TRUE@ extra_rules_file=$$file ; \ +@CREATE_RULES_SYMLINK_TRUE@ extra_dir_file=$$extra_rules_file.xml ; \ +@CREATE_RULES_SYMLINK_TRUE@ extra_lst_file=$$extra_rules_file.lst ; \ +@CREATE_RULES_SYMLINK_TRUE@ ln -sf base $(DESTDIR)$(rulesdir)/$$extra_rules_file ; \ +@CREATE_RULES_SYMLINK_TRUE@ ln -sf base.lst $(DESTDIR)$(rulesdir)/$$extra_lst_file ; \ +@CREATE_RULES_SYMLINK_TRUE@ ln -sf base.xml $(DESTDIR)$(rulesdir)/$$extra_dir_file ; \ +@CREATE_RULES_SYMLINK_TRUE@ done + +@CREATE_RULES_SYMLINK_FALSE@install-data-hook: + +%.lst: %.xml + perl $(srcdir)/xml2lst.pl < $< > $@ + +base: $(base_parts_no_compat) + HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(base_parts) + +evdev: $(evdev_parts_no_compat) + HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(evdev_parts) + +evdev.xml.in: base.xml.in + cp $< $@ + +@INTLTOOL_XML_NOMERGE_RULE@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xorg-server/xkbdata.src/rules/README b/xorg-server/xkbdata.src/rules/README new file mode 100644 index 000000000..bcf19ce0c --- /dev/null +++ b/xorg-server/xkbdata.src/rules/README @@ -0,0 +1,2 @@ +This directory lists sets of rules which can be used to obtain an exact XKB +configuration. diff --git a/xorg-server/xkbdata.src/rules/base b/xorg-server/xkbdata.src/rules/base new file mode 100644 index 000000000..66f484a6c --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base @@ -0,0 +1,993 @@ +// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.sh FROM rules/*.part +// $Xorg: xfree86,v 1.3 2000/08/17 19:54:42 cpqbld Exp $ + +// +// Rules for resolving XKB components for use with XFree86 +// Copyright 1996 by Joseph Moss +// +// 2002 Modifier: Ivan Pascal The XFree86 Project +// $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.79 2004/01/09 00:16:01 dawes Exp $ +// + +// If you want non-latin layouts implicitly include the en_US layout +// uncomment lines below +//! $nonlatin = am ara ben bd bg bt by cs deva ge gh gr guj guru il \ +// in ir iku jp kan kh kr la lao lk mk mm mn mv mal ori pk \ +// ru scc sy syr tel th tj tam ua uz + +// PC models +! $pcmodels = pc101 pc102 pc104 pc105 + +// Microsoft models (using MS geometry) +! $msmodels = microsoft microsoft7000 microsoftpro microsoftprousb microsoftprose + +// PC geometries - they have special geometry but symbols are mostly pc105 +! $pcgeometries = abnt2 latitude jp106 kr106 + +// Layouts that provide further specializations for the OLPC +! $olpclayouts = af am ara br ca es et it kh kz in mn np ru th tr us + +! $macbooks = macbook78 macbook79 +! $maclaptop = ibook powerbook macbook78 macbook79 +! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79 + +! $macvendorlayouts = ch de dk es fi fr gb is it latam nl no pt se us + +! $azerty = be fr +! $qwertz = al cz de hr hu ro si sk + +! $inetkbds = a4techKB21 a4techKBS8 a4_rfkb23 \ + acer_c300 acer_ferrari4k acer_laptop \ + acpi airkey \ + apple armada asus_laptop azonaRF2300 \ + benqx brother \ + btc5113rf btc5126t btc6301urf btc9000 btc9000a btc9001ah btc5090 btc9019u \ + cherryblue cherrybluea cherryblueb cherrycyboard \ + chicony chicony0108 chicony9885 \ + compaqeak8 compaqik7 compaqik13 compaqik18 \ + cymotionlinux \ + dell dellm65 inspiron precision_m dellusbmm dtk2000 \ + emachines ennyah_dkb1008 evdev fscaa1667g \ + genius geniuscomfy geniuscomfy2 geniuskb19e \ + gyration honeywell_euroboard \ + hp2501 hp2505 hp5xx hp500fa hp5181 hp5185 \ + hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx \ + ibm_spacesaver ipaq inspiron intel latitude \ + logiaccess logicda logicink \ + logiex110 logiclx300 \ + logiinkse logiinkseusb logiitc logiik \ + logitech_base itouch logiultrax \ + logitech_g15 \ + logidinovo logidinovoedge \ + microsoft7000 microsoftinet microsoftpro microsoftprousb microsoftprooem microsoftprose \ + microsoftoffice microsoftmult \ + mx1998 mx2500 mx2750 \ + oretec \ + presario propeller \ + qtronix \ + rapidaccess rapidaccess2 rapidaccess2a thinkpad thinkpad60 \ + samsung4500 samsung4510 \ + scorpius silvercrest \ + sk1300 sk2500 sk6200 sk7100 sp_inet \ + sven sven303 symplon \ + toshiba_s3000 trust trustda \ + yahoo + +// all layouts with 3rd and 4th groups +! $threelevellayouts = al az \ + be br bt \ + ca ch cs cz \ + de dk \ + ee es \ + fi fo fr \ + gb gr \ + hu \ + ie ir is it \ + kg \ + latam \ + lk lt \ + mn mt \ + nl no \ + pl pt \ + ro \ + se sk \ + tr \ + us \ + vn \ + za + + +! $dvoraklayouts = br ca de ee es fr gb no pl se us + +! model = keycodes + amiga = amiga(de) + ataritt = ataritt(de) + sun4 = sun(type4_euro) + sun5 = sun(type5_euro) + sun6 = sun(type6_usb) + pc98 = xfree98(pc98) + abnt2 = xfree86(abnt2) + jp106 = xfree86(jp106) + evdev = evdev + olpc = evdev + macintosh_hhk = macintosh(hhk) + macintosh_old = macintosh(old) + $macbooks = macintosh+macintosh(goodmap) + $macs = macintosh + thinkpadz60 = xfree86(thinkpadz60) + * = xfree86 + +! layout[1] = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! layout = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! option = keycodes + apple:badmap = +macintosh(badmap) + apple:goodmap = +macintosh(goodmap) + +! model layout = geometry + thinkpad us = thinkpad(us) + +! model = geometry + microsoftelite = microsoft(elite) + $msmodels = microsoft(natural) + dell101 = dell(dell101) + dellm65 = dell(dellm65) + flexpro = keytronic(FlexPro) + hp6000 = hp(omnibook) + omnikey101 = northgate(omnikey101) + $pcmodels = pc(%m) + $pcgeometries = pc(%m) + everex = everex(STEPnote) + thinkpad = thinkpad(intl) + thinkpad60 = thinkpad(60) + thinkpadz60 = thinkpad(60) + winbook = winbook(XP5) + pc98 = nec(pc98) + $macbooks = macintosh(%m) + $macs = macintosh(macintosh) + hhk = hhk(basic) + kinesis = kinesis(model100) + * = pc(pc104) + +! model layout variant = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * il si1452 = pc+ie(basic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + classmate us intl = pc+us(classmate-intl) + classmate us alt-intl = pc+us(classmate-alt-intl) + classmate us altgr-intl = pc+us(classmate-altgr-intl) + +! model layout = symbols + * ar = pc+ara + * ben = pc+in(ben) + * bs = pc+ba + * cs = pc+rs + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) + * dzdwi = pc+bt + * el = pc+gr + * en_US = pc+latin + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) + * lo = pc+la + * kan = pc+in(kan) + * mi = pc+mao + * ml = pc+in(mal) + * ogham = pc+ie(ogam) + * ori = pc+ie(ori) + * sapmi = pc+no(smi) + * sr = pc+srp + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) + * yu = pc+srp + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * il(si1452) = pc+ie(basic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + 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) + sun4 $nonlatin = latin+sun_vndr/us(sun4)+%l%(v):2 + sun4 * = latin+sun_vndr/us(sun4)+%l%(v) + sun5 $nonlatin = latin+sun_vndr/us(sun5)+%l%(v):2 + sun5 * = latin+sun_vndr/us(sun5)+%l%(v) + sun6 us = sun_vndr/us(type6) + sun6 en_US = sun_vndr/us(type6)+iso9995-3(basic) + sun6 * = 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) + $macs en_US = pc+macintosh_vndr/us(extended) + $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) + olpc $olpclayouts = olpc+%l%(m) + olpc * = olpc+%l%(v) + thinkpad br = pc+br(thinkpad) + * $nonlatin = pc+us+%l%(v):2 + * * = pc+%l%(v) + +! model layout[1] = symbols + * ar = pc+ara%(v[1]) + * ben = pc+in(ben)%(v[1]) + * bs = pc+ba%(v[1]) + * cs = pc+rs%(v[1]) + * cz_qwerty = pc+cz(qwerty)%(v[1]) + * dev = pc+in(deva)%(v[1]) + * dvorak = pc+us(dvorak)%(v[1]) + * dzdwi = pc+bt%(v[1]) + * el = pc+gr%(v[1]) + * en_US = pc+latin%(v[1]) + * guj = pc+in(guj)%(v[1]) + * gur = pc+in(guru)%(v[1]) + * iu = pc+ca(ike)%(v[1]) + * lo = pc+la%(v[1]) + * kan = pc+in(kan)%(v[1]) + * mi = pc+mao%(v[1]) + * ml = pc+in(mal)%(v[1]) + * ogham = pc+ie(ogam)%(v[1]) + * ori = pc+ie(ori)%(v[1]) + * sapmi = pc+no(smi)%(v[1]) + * sr = pc+srp%(v[1]) + * syr = pc+sy(syc)%(v[1]) + * tel = pc+in(tel)%(v[1]) + * tml = pc+in(tam)%(v[1]) + * yu = pc+srp%(v[1]) + * fr-latin9 = pc+fr(latin9)%(v[1]) + * us_intl = pc+us(alt-intl)%(v[1]) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * il(si1452) = pc+ie(basic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1]) + amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1]) + sun4 * = latin+sun_vndr/us(sun4)+%l[1]%(v[1]) + sun5 * = latin+sun_vndr/us(sun5)+%l[1]%(v[1]) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1]) + macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1]) + $macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1]) + thinkpad br = pc+%l[1](thinkpad) + * * = pc+%l[1]%(v[1]) + +! model layout[1] variant[1] = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * il si1452 = pc+ie(basic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + +! layout[2] = symbols + ar = +ara%(v[2]):2 + ben = +in(ben)%(v[2]):2 + bs = +ba%(v[2]):2 + cs = +rs%(v[2]):2 + cz_qwerty = +cz(qwerty)%(v[2]):2 + dev = +in(deva)%(v[2]):2 + dvorak = +us(dvorak)%(v[2]):2 + dzdwi = +bt%(v[2]):2 + el = +gr%(v[2]):2 + en_US = +latin%(v[2]):2 + guj = +in(guj)%(v[2]):2 + gur = +in(guru)%(v[2]):2 + iu = +ca(ike)%(v[2]):2 + lo = +la%(v[2]):2 + kan = +in(kan)%(v[2]):2 + mi = +mao%(v[2]):2 + ml = +in(mal)%(v[2]):2 + ogham = +ie(ogam)%(v[2]):2 + ori = +ie(ori)%(v[2]):2 + sapmi = +no(smi)%(v[2]):2 + sr = +srp%(v[2]):2 + syr = +sy(syc)%(v[2]):2 + tel = +in(tel)%(v[2]):2 + tml = +in(tam)%(v[2]):2 + yu = +srp%(v[2]):2 + fr-latin9 = +fr(latin9)%(v[2]):2 + us_intl = +us(alt-intl)%(v[2]):2 + ben(basic) = +in(ben):2 + ben(probhat) = +in(ben_probhat):2 + dev(basic) = +in(deva):2 + dvorak($dvoraklayouts) = +%v(dvorak):2 + dvorak(basic) = +us(dvorak):2 + dvorak(pl_basic) = +pl(dvorak):2 + dvorak(pl) = +pl(dvorak_quotes):2 + dvorak(pl_altquotes) = +pl(dvorak_altquotes):2 + dzdwi(basic) = +bt(basic):2 + fi(basic) = +fi(classic):2 + ge(azerty_tskapo) = +fr(geo):2 + guj(basic) = +in(guj):2 + gur(basic) = +in(guru):2 + ie(laptop) = +ie(basic):2 + ie(CloGaelachLaptop) = +ie(CloGaelach):2 + il(si1452) = +ie(basic):2 + iu(basic) = +ca(ike):2 + lo(basic) = +la(basic):2 + kan(basic) = +in(kan):2 + mal(basic) = +in(mal):2 + mal(mlplusnum) = +in(mal):2 + ogham(basic) = +ie(ogam):2 + ogham(laptop) = +ie(ogam):2 + ogham(is434) = +ie(ogam_is434):2 + ogham(is434laptop) = +ie(ogam_is434):2 + ori(basic) = +in(ori):2 + ro(de) = +ro(winkeys):2 + ro(us) = +ro(std):2 + ro(academic) = +ro(std):2 + ro(std_comma) = +ro(std):2 + ro(comma) = +ro(basic):2 + ru(os) = +ru(os_legacy):2 + sapmi(basic) = +no(smi):2 + sapmi(nodeadkeys) = +no(smi_nodeadkeys):2 + sapmi(sefi) = +fi(smi):2 + sin(phonetic-static) = +in(sin_phonetic):2 + syr(basic) = +sy(syc):2 + syr(phonetic) = +sy(syc_phonetic):2 + tam(INSCRIPT) = +in(tam):2 + tam(UNI) = +in(tam_unicode):2 + tam(TAB) = +in(tam_TAB):2 + tam(TSCII) = +in(tam_TSCII):2 + tel(basic) = +in(tel):2 + yu(basic) = +srp(latin):2 + yu(unicode) = +srp(latinunicode):2 + yu(yz) = +srp(latinyz):2 + yu(unicodeyz) = +srp(latinunicodeyz):2 + * = +%l[2]%(v[2]):2 + +! layout[3] = symbols + ar = +ara%(v[3]):3 + ben = +in(ben)%(v[3]):3 + bs = +ba%(v[3]):3 + cs = +rs%(v[3]):3 + cz_qwerty = +cz(qwerty)%(v[3]):3 + dev = +in(deva)%(v[3]):3 + dvorak = +us(dvorak)%(v[3]):3 + dzdwi = +bt%(v[3]):3 + el = +gr%(v[3]):3 + en_US = +latin%(v[3]):3 + guj = +in(guj)%(v[3]):3 + gur = +in(guru)%(v[3]):3 + iu = +ca(ike)%(v[3]):3 + lo = +la%(v[3]):3 + kan = +in(kan)%(v[3]):3 + mi = +mao%(v[3]):3 + ml = +in(mal)%(v[3]):3 + ogham = +ie(ogam)%(v[3]):3 + ori = +ie(ori)%(v[3]):3 + sapmi = +no(smi)%(v[3]):3 + sr = +srp%(v[3]):3 + syr = +sy(syc)%(v[3]):3 + tel = +in(tel)%(v[3]):3 + tml = +in(tam)%(v[3]):3 + yu = +srp%(v[3]):3 + fr-latin9 = +fr(latin9)%(v[3]):3 + us_intl = +us(alt-intl)%(v[3]):3 + ben(basic) = +in(ben):3 + ben(probhat) = +in(ben_probhat):3 + dev(basic) = +in(deva):3 + dvorak($dvoraklayouts) = +%v(dvorak):3 + dvorak(basic) = +us(dvorak):3 + dvorak(pl_basic) = +pl(dvorak):3 + dvorak(pl) = +pl(dvorak_quotes):3 + dvorak(pl_altquotes) = +pl(dvorak_altquotes):3 + dzdwi(basic) = +bt(basic):3 + fi(basic) = +fi(classic):3 + ge(azerty_tskapo) = +fr(geo):3 + guj(basic) = +in(guj):3 + gur(basic) = +in(guru):3 + ie(laptop) = +ie(basic):3 + ie(CloGaelachLaptop) = +ie(CloGaelach):3 + il(si1452) = +ie(basic):3 + iu(basic) = +ca(ike):3 + lo(basic) = +la(basic):3 + kan(basic) = +in(kan):3 + mal(basic) = +in(mal):3 + mal(mlplusnum) = +in(mal):3 + ogham(basic) = +ie(ogam):3 + ogham(laptop) = +ie(ogam):3 + ogham(is434) = +ie(ogam_is434):3 + ogham(is434laptop) = +ie(ogam_is434):3 + ori(basic) = +in(ori):3 + ro(de) = +ro(winkeys):3 + ro(us) = +ro(std):3 + ro(academic) = +ro(std):3 + ro(std_comma) = +ro(std):3 + ro(comma) = +ro(basic):3 + ru(os) = +ru(os_legacy):3 + sapmi(basic) = +no(smi):3 + sapmi(nodeadkeys) = +no(smi_nodeadkeys):3 + sapmi(sefi) = +fi(smi):3 + sin(phonetic-static) = +in(sin_phonetic):3 + syr(basic) = +sy(syc):3 + syr(phonetic) = +sy(syc_phonetic):3 + tam(INSCRIPT) = +in(tam):3 + tam(UNI) = +in(tam_unicode):3 + tam(TAB) = +in(tam_TAB):3 + tam(TSCII) = +in(tam_TSCII):3 + tel(basic) = +in(tel):3 + yu(basic) = +srp(latin):3 + yu(unicode) = +srp(latinunicode):3 + yu(yz) = +srp(latinyz):3 + yu(unicodeyz) = +srp(latinunicodeyz):3 + * = +%l[3]%(v[3]):3 + +! layout[4] = symbols + ar = +ara%(v[4]):4 + ben = +in(ben)%(v[4]):4 + bs = +ba%(v[4]):4 + cs = +rs%(v[4]):4 + cz_qwerty = +cz(qwerty)%(v[4]):4 + dev = +in(deva)%(v[4]):4 + dvorak = +us(dvorak)%(v[4]):4 + dzdwi = +bt%(v[4]):4 + el = +gr%(v[4]):4 + en_US = +latin%(v[4]):4 + guj = +in(guj)%(v[4]):4 + gur = +in(guru)%(v[4]):4 + iu = +ca(ike)%(v[4]):4 + lo = +la%(v[4]):4 + kan = +in(kan)%(v[4]):4 + mi = +mao%(v[4]):4 + ml = +in(mal)%(v[4]):4 + ogham = +ie(ogam)%(v[4]):4 + ori = +ie(ori)%(v[4]):4 + sapmi = +no(smi)%(v[4]):4 + sr = +srp%(v[4]):4 + syr = +sy(syc)%(v[4]):4 + tel = +in(tel)%(v[4]):4 + tml = +in(tam)%(v[4]):4 + yu = +srp%(v[4]):4 + fr-latin9 = +fr(latin9)%(v[4]):4 + us_intl = +us(alt-intl)%(v[4]):4 + ben(basic) = +in(ben):4 + ben(probhat) = +in(ben_probhat):4 + dev(basic) = +in(deva):4 + dvorak($dvoraklayouts) = +%v(dvorak):4 + dvorak(basic) = +us(dvorak):4 + dvorak(pl_basic) = +pl(dvorak):4 + dvorak(pl) = +pl(dvorak_quotes):4 + dvorak(pl_altquotes) = +pl(dvorak_altquotes):4 + dzdwi(basic) = +bt(basic):4 + fi(basic) = +fi(classic):4 + ge(azerty_tskapo) = +fr(geo):4 + guj(basic) = +in(guj):4 + gur(basic) = +in(guru):4 + ie(laptop) = +ie(basic):4 + ie(CloGaelachLaptop) = +ie(CloGaelach):4 + il(si1452) = +ie(basic):4 + iu(basic) = +ca(ike):4 + lo(basic) = +la(basic):4 + kan(basic) = +in(kan):4 + mal(basic) = +in(mal):4 + mal(mlplusnum) = +in(mal):4 + ogham(basic) = +ie(ogam):4 + ogham(laptop) = +ie(ogam):4 + ogham(is434) = +ie(ogam_is434):4 + ogham(is434laptop) = +ie(ogam_is434):4 + ori(basic) = +in(ori):4 + ro(de) = +ro(winkeys):4 + ro(us) = +ro(std):4 + ro(academic) = +ro(std):4 + ro(std_comma) = +ro(std):4 + ro(comma) = +ro(basic):4 + ru(os) = +ru(os_legacy):4 + sapmi(basic) = +no(smi):4 + sapmi(nodeadkeys) = +no(smi_nodeadkeys):4 + sapmi(sefi) = +fi(smi):4 + sin(phonetic-static) = +in(sin_phonetic):4 + syr(basic) = +sy(syc):4 + syr(phonetic) = +sy(syc_phonetic):4 + tam(INSCRIPT) = +in(tam):4 + tam(UNI) = +in(tam_unicode):4 + tam(TAB) = +in(tam_TAB):4 + tam(TSCII) = +in(tam_TSCII):4 + tel(basic) = +in(tel):4 + yu(basic) = +srp(latin):4 + yu(unicode) = +srp(latinunicode):4 + yu(yz) = +srp(latinyz):4 + yu(unicodeyz) = +srp(latinunicodeyz):4 + * = +%l[4]%(v[4]):4 + +! layout[2] variant[2] = symbols + ben basic = +in(ben):2 + ben probhat = +in(ben_probhat):2 + dev basic = +in(deva):2 + dvorak $dvoraklayouts = +%v(dvorak):2 + dvorak basic = +us(dvorak):2 + dvorak pl_basic = +pl(dvorak):2 + dvorak pl = +pl(dvorak_quotes):2 + dvorak pl_altquotes = +pl(dvorak_altquotes):2 + dzdwi basic = +bt(basic):2 + fi basic = +fi(classic):2 + ge azerty_tskapo = +fr(geo):2 + guj basic = +in(guj):2 + gur basic = +in(guru):2 + ie laptop = +ie(basic):2 + ie CloGaelachLaptop = +ie(CloGaelach):2 + il si1452 = +ie(basic):2 + iu basic = +ca(ike):2 + lo basic = +la(basic):2 + kan basic = +in(kan):2 + mal basic = +in(mal):2 + mal mlplusnum = +in(mal):2 + ogham basic = +ie(ogam):2 + ogham laptop = +ie(ogam):2 + ogham is434 = +ie(ogam_is434):2 + ogham is434laptop = +ie(ogam_is434):2 + ori basic = +in(ori):2 + ro de = +ro(winkeys):2 + ro us = +ro(std):2 + ro academic = +ro(std):2 + ro std_comma = +ro(std):2 + ro comma = +ro(basic):2 + ru os = +ru(os_legacy):2 + sapmi basic = +no(smi):2 + sapmi nodeadkeys = +no(smi_nodeadkeys):2 + sapmi sefi = +fi(smi):2 + sin phonetic-static = +in(sin_phonetic):2 + syr basic = +sy(syc):2 + syr phonetic = +sy(syc_phonetic):2 + tam INSCRIPT = +in(tam):2 + tam UNI = +in(tam_unicode):2 + tam TAB = +in(tam_TAB):2 + tam TSCII = +in(tam_TSCII):2 + tel basic = +in(tel):2 + yu basic = +srp(latin):2 + yu unicode = +srp(latinunicode):2 + yu yz = +srp(latinyz):2 + yu unicodeyz = +srp(latinunicodeyz):2 + +! layout[3] variant[3] = symbols + ben basic = +in(ben):3 + ben probhat = +in(ben_probhat):3 + dev basic = +in(deva):3 + dvorak $dvoraklayouts = +%v(dvorak):3 + dvorak basic = +us(dvorak):3 + dvorak pl_basic = +pl(dvorak):3 + dvorak pl = +pl(dvorak_quotes):3 + dvorak pl_altquotes = +pl(dvorak_altquotes):3 + dzdwi basic = +bt(basic):3 + fi basic = +fi(classic):3 + ge azerty_tskapo = +fr(geo):3 + guj basic = +in(guj):3 + gur basic = +in(guru):3 + ie laptop = +ie(basic):3 + ie CloGaelachLaptop = +ie(CloGaelach):3 + il si1452 = +ie(basic):3 + iu basic = +ca(ike):3 + lo basic = +la(basic):3 + kan basic = +in(kan):3 + mal basic = +in(mal):3 + mal mlplusnum = +in(mal):3 + ogham basic = +ie(ogam):3 + ogham laptop = +ie(ogam):3 + ogham is434 = +ie(ogam_is434):3 + ogham is434laptop = +ie(ogam_is434):3 + ori basic = +in(ori):3 + ro de = +ro(winkeys):3 + ro us = +ro(std):3 + ro academic = +ro(std):3 + ro std_comma = +ro(std):3 + ro comma = +ro(basic):3 + ru os = +ru(os_legacy):3 + sapmi basic = +no(smi):3 + sapmi nodeadkeys = +no(smi_nodeadkeys):3 + sapmi sefi = +fi(smi):3 + sin phonetic-static = +in(sin_phonetic):3 + syr basic = +sy(syc):3 + syr phonetic = +sy(syc_phonetic):3 + tam INSCRIPT = +in(tam):3 + tam UNI = +in(tam_unicode):3 + tam TAB = +in(tam_TAB):3 + tam TSCII = +in(tam_TSCII):3 + tel basic = +in(tel):3 + yu basic = +srp(latin):3 + yu unicode = +srp(latinunicode):3 + yu yz = +srp(latinyz):3 + yu unicodeyz = +srp(latinunicodeyz):3 + +! layout[4] variant[4] = symbols + ben basic = +in(ben):4 + ben probhat = +in(ben_probhat):4 + dev basic = +in(deva):4 + dvorak $dvoraklayouts = +%v(dvorak):4 + dvorak basic = +us(dvorak):4 + dvorak pl_basic = +pl(dvorak):4 + dvorak pl = +pl(dvorak_quotes):4 + dvorak pl_altquotes = +pl(dvorak_altquotes):4 + dzdwi basic = +bt(basic):4 + fi basic = +fi(classic):4 + ge azerty_tskapo = +fr(geo):4 + guj basic = +in(guj):4 + gur basic = +in(guru):4 + ie laptop = +ie(basic):4 + ie CloGaelachLaptop = +ie(CloGaelach):4 + il si1452 = +ie(basic):4 + iu basic = +ca(ike):4 + lo basic = +la(basic):4 + kan basic = +in(kan):4 + mal basic = +in(mal):4 + mal mlplusnum = +in(mal):4 + ogham basic = +ie(ogam):4 + ogham laptop = +ie(ogam):4 + ogham is434 = +ie(ogam_is434):4 + ogham is434laptop = +ie(ogam_is434):4 + ori basic = +in(ori):4 + ro de = +ro(winkeys):4 + ro us = +ro(std):4 + ro academic = +ro(std):4 + ro std_comma = +ro(std):4 + ro comma = +ro(basic):4 + ru os = +ru(os_legacy):4 + sapmi basic = +no(smi):4 + sapmi nodeadkeys = +no(smi_nodeadkeys):4 + sapmi sefi = +fi(smi):4 + sin phonetic-static = +in(sin_phonetic):4 + syr basic = +sy(syc):4 + syr phonetic = +sy(syc_phonetic):4 + tam INSCRIPT = +in(tam):4 + tam UNI = +in(tam_unicode):4 + tam TAB = +in(tam_TAB):4 + tam TSCII = +in(tam_TSCII):4 + tel basic = +in(tel):4 + yu basic = +srp(latin):4 + yu unicode = +srp(latinunicode):4 + yu yz = +srp(latinyz):4 + yu unicodeyz = +srp(latinunicodeyz):4 + +! model = symbols + benqx730 = +inet(benqx) + benqx800 = +inet(benqx) + dellsk8125 = +inet(dell) + dellsk8135 = +inet(dell) + hpnx9020 = +inet(hp5185) + logicd = +inet(logitech_base) + logicd_it = +inet(logitech_base) + logicd_nav = +inet(logitech_base) + logicd_opt = +inet(logitech_base) + logiultrax = +inet(logitech_base) + logiclx300 = +inet(logiex110) + logii350 = +inet(logiex110) + logimel = +inet(logiex110) + vsonku306 = +inet(microsoftprooem) + $inetkbds = +inet(%m) + acer_tm_800 = +inet(acer_laptop) + benqx730 = +inet(benqx) + benqx800 = +inet(benqx) + dell8125 = +inet(dellusbmm) + dell8135 = +inet(dellusbmm) + ltcd = +inet(logicda) + logicdit = +inet(logicd) + logicdo = +inet(logicd) + logicdp = +inet(logicd) + logicdpa = +inet(logicda) + logiciink = +inet(logicink) + $maclaptop = +inet(apple)+level3(enter_switch) + $macs = +inet(apple) + thinkpadz60 = +inet(thinkpad60) + +! model layout = compat + pc98 nec_vndr/jp = pc98(basic) + * jp = complete+japan + olpc * = olpc + * * = complete + +! model layout[1] = compat + * * = complete + +! model = types + $macs = complete+numpad(mac) + * = complete + +! layout option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle) + +! layout[1] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1 + +! layout[2] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2 + +! layout[3] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3 + +! layout[4] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4 + +! option = symbols + grp:shift_toggle = +group(shifts_toggle) + altwin:menu = +altwin(menu) + altwin:meta_alt = +altwin(meta_alt) + altwin:ctrl_win = +altwin(ctrl_win) + altwin:meta_win = +altwin(meta_win) + altwin:left_meta_win = +altwin(left_meta_win) + altwin:super_win = +altwin(super_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: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:alt_caps_toggle = +group(alt_caps_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + grp:alt_shift_toggle = +group(alt_shift_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) + 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) + caps:capslock = +capslock(capslock) + caps:shiftlock = +capslock(shiftlock) + caps:swapescape = +capslock(swapescape) + ctrl:nocaps = +ctrl(nocaps) + ctrl:swapcaps = +ctrl(swapcaps) + ctrl:ctrl_ac = +ctrl(ctrl_ac) + ctrl:ctrl_aa = +ctrl(ctrl_aa) + ctrl:ctrl_ra = +ctrl(ctrl_ra) + compose:ralt = +compose(ralt) + compose:lwin = +compose(lwin) + compose:rwin = +compose(rwin) + compose:menu = +compose(menu) + compose:rctrl = +compose(rctrl) + compose:caps = +compose(caps) + compose:102 = +compose(102) + srvrkeys:none = +srvr_ctrl(no_srvr_keys) + eurosign:e = +eurosign(e) + eurosign:2 = +eurosign(2) + eurosign:4 = +eurosign(4) + eurosign:5 = +eurosign(5) + 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:phone_hex = +keypad(phone_hex) + 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) + shift:breaks_caps = +shift(breaks_caps) + + +! option = compat + grp_led:num = +lednum(group_lock) + grp_led:caps = +ledcaps(group_lock) + grp_led:scroll = +ledscroll(group_lock) + grp:caps_toggle = +ledcaps(group_lock) + japan:kana_lock = +japan(kana_lock) + + +! option = types + caps:internal = +caps(internal) + caps:internal_nocancel = +caps(internal_nocancel) + caps:shift = +caps(shift) + caps:shift_nocancel = +caps(shift_nocancel) + numpad:pc = +numpad(pc) + numpad:mac = +numpad(mac) + numpad:microsoft = +numpad(microsoft) diff --git a/xorg-server/xkbdata.src/rules/base.hdr.part b/xorg-server/xkbdata.src/rules/base.hdr.part new file mode 100644 index 000000000..d867c8876 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.hdr.part @@ -0,0 +1,9 @@ +// $Xorg: xfree86,v 1.3 2000/08/17 19:54:42 cpqbld Exp $ + +// +// Rules for resolving XKB components for use with XFree86 +// Copyright 1996 by Joseph Moss +// +// 2002 Modifier: Ivan Pascal The XFree86 Project +// $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.79 2004/01/09 00:16:01 dawes Exp $ +// diff --git a/xorg-server/xkbdata.src/rules/base.l1_k.part b/xorg-server/xkbdata.src/rules/base.l1_k.part new file mode 100644 index 000000000..91b775396 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.l1_k.part @@ -0,0 +1,3 @@ + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) diff --git a/xorg-server/xkbdata.src/rules/base.l1o_s.part b/xorg-server/xkbdata.src/rules/base.l1o_s.part new file mode 100644 index 000000000..5544d5386 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.l1o_s.part @@ -0,0 +1 @@ + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1 diff --git a/xorg-server/xkbdata.src/rules/base.l2_s.part b/xorg-server/xkbdata.src/rules/base.l2_s.part new file mode 100644 index 000000000..03a7aafe6 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.l2_s.part @@ -0,0 +1 @@ + * = +%l[2]%(v[2]):2 diff --git a/xorg-server/xkbdata.src/rules/base.l2o_s.part b/xorg-server/xkbdata.src/rules/base.l2o_s.part new file mode 100644 index 000000000..3ffd6a8b0 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.l2o_s.part @@ -0,0 +1 @@ + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2 diff --git a/xorg-server/xkbdata.src/rules/base.l3_s.part b/xorg-server/xkbdata.src/rules/base.l3_s.part new file mode 100644 index 000000000..0947c11f4 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.l3_s.part @@ -0,0 +1 @@ + * = +%l[3]%(v[3]):3 diff --git a/xorg-server/xkbdata.src/rules/base.l3o_s.part b/xorg-server/xkbdata.src/rules/base.l3o_s.part new file mode 100644 index 000000000..aa327eb42 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.l3o_s.part @@ -0,0 +1 @@ + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3 diff --git a/xorg-server/xkbdata.src/rules/base.l4_s.part b/xorg-server/xkbdata.src/rules/base.l4_s.part new file mode 100644 index 000000000..23ccc22ec --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.l4_s.part @@ -0,0 +1 @@ + * = +%l[4]%(v[4]):4 diff --git a/xorg-server/xkbdata.src/rules/base.l4o_s.part b/xorg-server/xkbdata.src/rules/base.l4o_s.part new file mode 100644 index 000000000..79682503e --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.l4o_s.part @@ -0,0 +1 @@ + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4 diff --git a/xorg-server/xkbdata.src/rules/base.l_k.part b/xorg-server/xkbdata.src/rules/base.l_k.part new file mode 100644 index 000000000..91b775396 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.l_k.part @@ -0,0 +1,3 @@ + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) diff --git a/xorg-server/xkbdata.src/rules/base.lists.part b/xorg-server/xkbdata.src/rules/base.lists.part new file mode 100644 index 000000000..b08ab24fe --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.lists.part @@ -0,0 +1,88 @@ + +// If you want non-latin layouts implicitly include the en_US layout +// uncomment lines below +//! $nonlatin = am ara ben bd bg bt by cs deva ge gh gr guj guru il \ +// in ir iku jp kan kh kr la lao lk mk mm mn mv mal ori pk \ +// ru scc sy syr tel th tj tam ua uz + +// PC models +! $pcmodels = pc101 pc102 pc104 pc105 + +// Microsoft models (using MS geometry) +! $msmodels = microsoft microsoft7000 microsoftpro microsoftprousb microsoftprose + +// PC geometries - they have special geometry but symbols are mostly pc105 +! $pcgeometries = abnt2 latitude jp106 kr106 + +// Layouts that provide further specializations for the OLPC +! $olpclayouts = af am ara br ca es et it kh kz in mn np ru th tr us + +! $macbooks = macbook78 macbook79 +! $maclaptop = ibook powerbook macbook78 macbook79 +! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79 + +! $macvendorlayouts = ch de dk es fi fr gb is it latam nl no pt se us + +! $azerty = be fr +! $qwertz = al cz de hr hu ro si sk + +! $inetkbds = a4techKB21 a4techKBS8 a4_rfkb23 \ + acer_c300 acer_ferrari4k acer_laptop \ + acpi airkey \ + apple armada asus_laptop azonaRF2300 \ + benqx brother \ + btc5113rf btc5126t btc6301urf btc9000 btc9000a btc9001ah btc5090 btc9019u \ + cherryblue cherrybluea cherryblueb cherrycyboard \ + chicony chicony0108 chicony9885 \ + compaqeak8 compaqik7 compaqik13 compaqik18 \ + cymotionlinux \ + dell dellm65 inspiron precision_m dellusbmm dtk2000 \ + emachines ennyah_dkb1008 evdev fscaa1667g \ + genius geniuscomfy geniuscomfy2 geniuskb19e \ + gyration honeywell_euroboard \ + hp2501 hp2505 hp5xx hp500fa hp5181 hp5185 \ + hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx \ + ibm_spacesaver ipaq inspiron intel latitude \ + logiaccess logicda logicink \ + logiex110 logiclx300 \ + logiinkse logiinkseusb logiitc logiik \ + logitech_base itouch logiultrax \ + logitech_g15 \ + logidinovo logidinovoedge \ + microsoft7000 microsoftinet microsoftpro microsoftprousb microsoftprooem microsoftprose \ + microsoftoffice microsoftmult \ + mx1998 mx2500 mx2750 \ + oretec \ + presario propeller \ + qtronix \ + rapidaccess rapidaccess2 rapidaccess2a thinkpad thinkpad60 \ + samsung4500 samsung4510 \ + scorpius silvercrest \ + sk1300 sk2500 sk6200 sk7100 sp_inet \ + sven sven303 symplon \ + toshiba_s3000 trust trustda \ + yahoo + +// all layouts with 3rd and 4th groups +! $threelevellayouts = al az \ + be br bt \ + ca ch cs cz \ + de dk \ + ee es \ + fi fo fr \ + gb gr \ + hu \ + ie ir is it \ + kg \ + latam \ + lk lt \ + mn mt \ + nl no \ + pl pt \ + ro \ + se sk \ + tr \ + us \ + vn \ + za + diff --git a/xorg-server/xkbdata.src/rules/base.lst b/xorg-server/xkbdata.src/rules/base.lst new file mode 100644 index 000000000..17742b8e6 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.lst @@ -0,0 +1,683 @@ +! model + pc101 Generic 101-key PC + pc102 Generic 102-key (Intl) PC + pc104 Generic 104-key PC + pc105 Generic 105-key (Intl) PC + dell101 Dell 101-key PC + latitude Dell Latitude series laptop + dellm65 Dell Precision M65 + everex Everex STEPnote + flexpro Keytronic FlexPro + microsoft Microsoft Natural + omnikey101 Northgate OmniKey 101 + winbook Winbook Model XP5 + jp106 Japanese 106-key + pc98 PC-98xx Series + a4techKB21 A4Tech KB-21 + a4techKBS8 A4Tech KBS-8 + a4_rfkb23 A4Tech Wireless Desktop RFKB-23 + abnt2 Brazilian ABNT2 + airkey Acer AirKey V + acpi ACPI Standard + azonaRF2300 Azona RF2300 wireless Internet Keyboard + scorpius Advance Scorpius KI + brother Brother Internet Keyboard + btc5113rf BTC 5113RF Multimedia + btc5126t BTC 5126T + btc6301urf BTC 6301URF + btc9000 BTC 9000 + btc9000a BTC 9000A + btc9001ah BTC 9001AH + btc5090 BTC 5090 + btc9019u BTC 9019U + cherryblue Cherry Blue Line CyBo@rd + cherryblueb Cherry CyMotion Master XPress + cherrybluea Cherry Blue Line CyBo@rd (alternate option) + cherrycyboard Cherry CyBo@rd USB-Hub + chicony Chicony Internet Keyboard + chicony0108 Chicony KU-0108 + chicony9885 Chicony KB-9885 + compaqeak8 Compaq Easy Access Keyboard + compaqik7 Compaq Internet Keyboard (7 keys) + compaqik13 Compaq Internet Keyboard (13 keys) + compaqik18 Compaq Internet Keyboard (18 keys) + cymotionlinux Cherry CyMotion Master Linux + armada Laptop/notebook Compaq (eg. Armada) Laptop Keyboard + presario Laptop/notebook Compaq (eg. Presario) Internet Keyboard + ipaq Compaq iPaq Keyboard + dell Dell + dellsk8125 Dell SK-8125 + dellsk8135 Dell SK-8135 + dellusbmm Dell USB Multimedia Keyboard + inspiron Dell Laptop/notebook Inspiron 6xxx/8xxx + precision_m Dell Laptop/notebook Precision M series + dexxa Dexxa Wireless Desktop Keyboard + diamond Diamond 9801 / 9802 series + dtk2000 DTK2000 + ennyah_dkb1008 Ennyah DKB-1008 + fscaa1667g Fujitsu-Siemens Computers AMILO A1667G laptop + genius Genius Comfy KB-16M / Genius MM Keyboard KWD-910 + geniuscomfy Genius Comfy KB-12e + geniuscomfy2 Genius Comfy KB-21e-Scroll + geniuskb19e Genius KB-19e NB + gyration Gyration + logitech_base Logitech Generic Keyboard + logitech_g15 Logitech G15 extra keys via G15daemon + hpi6 Hewlett-Packard Internet Keyboard + hp2501 Hewlett-Packard SK-2501 Multimedia Keyboard + hp2505 Hewlett-Packard SK-2505 Internet Keyboard + hpxe3gc Hewlett-Packard Omnibook XE3 GC + hpxe3gf Hewlett-Packard Omnibook XE3 GF + hpxt1000 Hewlett-Packard Omnibook XT1000 + hpzt11xx Hewlett-Packard Pavilion ZT11xx + hp500fa Hewlett-Packard Omnibook 500 FA + hp5xx Hewlett-Packard Omnibook 5xx + hp5181 Hewlett-Packard Internet Keyboard 5181 + hp5185 Hewlett-Packard Internet Keyboard 5185 + hpnx9020 Hewlett-Packard nx9020 + hp6000 Hewlett-Packard Omnibook 6000/6100 + honeywell_euroboard Honeywell Euroboard + rapidaccess IBM Rapid Access + rapidaccess2 IBM Rapid Access II + rapidaccess2a IBM Rapid Access II (alternate option) + thinkpad IBM ThinkPad 560Z/600/600E/A22E + thinkpadintl IBM ThinkPad 560Z/600/600E/A22E, Intl + thinkpad60 IBM ThinkPad R60/T60/R61/T61 + thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t + ibm_spacesaver IBM Space Saver + logiaccess Logitech Access Keyboard + logiclx300 Logitech Cordless Desktop LX-300 + logii350 Logitech Internet 350 Keyboard + logimel Logitech Media Elite Keyboard + logicd Logitech Cordless Desktop + logicd_it Logitech Cordless Desktop iTouch + logicd_nav Logitech Cordless Desktop Navigator + logicd_opt Logitech Cordless Desktop Optical + logicda Logitech Cordless Desktop (alternate option) + logicdpa2 Logitech Cordless Desktop Pro (alternate option2) + logicfn Logitech Cordless Freedom/Desktop Navigator + logicdn Logitech Cordless Desktop Navigator + logiitc Logitech iTouch Cordless Keyboard (model Y-RB6) + logiik Logitech Internet Keyboard + itouch Logitech iTouch + logicink Logitech Internet Navigator Keyboard + logiex110 Logitech Cordless Desktop EX110 + logiinkse Logitech iTouch Internet Navigator Keyboard SE + logiinkseusb Logitech iTouch Internet Navigator Keyboard SE (USB) + logiultrax Logitech Ultra-X Keyboard + logiultraxc Logitech Ultra-X Cordless Media Desktop Keyboard + logidinovo Logitech diNovo Keyboard + logidinovoedge Logitech diNovo Edge Keyboard + mx1998 Memorex MX1998 + mx2500 Memorex MX2500 EZ-Access Keyboard + mx2750 Memorex MX2750 + microsoft7000 Microsoft Natural Wireless Ergonomic Keyboard 7000 + microsoftinet Microsoft Internet Keyboard + microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro + microsoftprousb Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro + microsoftprooem Microsoft Natural Keyboard Pro OEM + vsonku306 ViewSonic KU-306 Internet Keyboard + microsoftprose Microsoft Internet Keyboard Pro, Swedish + microsoftoffice Microsoft Office Keyboard + microsoftmult Microsoft Wireless Multimedia Keyboard 1.0A + microsoftelite Microsoft Natural Keyboard Elite + oretec Ortek MCK-800 MM/Internet keyboard + propeller Propeller Voyager (KTEZ-1000) + qtronix QTronix Scorpius 98N+ + samsung4500 Samsung SDM 4500P + samsung4510 Samsung SDM 4510P + sk1300 SK-1300 + sk2500 SK-2500 + sk6200 SK-6200 + sk7100 SK-7100 + sp_inet Super Power Multimedia Keyboard + sven SVEN Ergonomic 2500 + sven303 SVEN Slim 303 + symplon Symplon PaceBook (tablet PC) + toshiba_s3000 Toshiba Satellite S3000 + trust Trust Wireless Keyboard Classic + trustda Trust Direct Access Keyboard + yahoo Yahoo! Internet Keyboard + macbook78 MacBook/MacBook Pro + macbook79 MacBook/MacBook Pro (Intl) + macintosh Macintosh + macintosh_old Macintosh Old + macintosh_hhk Happy Hacking Keyboard for Mac + acer_c300 Acer C300 + acer_ferrari4k Acer Ferrari 4000 + acer_laptop Acer Laptop + asus_laptop Asus Laptop + apple Apple + apple_laptop Apple Laptop + silvercrest SILVERCREST Multimedia Wireless Keyboard + emachines Laptop/notebook eMachines m68xx + kr106 Korean 106-key + evdev Evdev-managed keyboard + benqx BenQ X-Touch + benqx730 BenQ X-Touch 730 + benqx800 BenQ X-Touch 800 + hhk Happy Hacking Keyboard + classmate Classmate PC + olpc OLPC + sun6 Sun Type 5/6 + +! layout + us USA + ad Andorra + af Afghanistan + ara Arabic + al Albania + am Armenia + az Azerbaijan + by Belarus + be Belgium + bd Bangladesh + in India + ba Bosnia and Herzegovina + br Brazil + bg Bulgaria + ma Morocco + mm Myanmar + ca Canada + cd Congo, Democratic Republic of the + cn China + hr Croatia + cz Czechia + dk Denmark + nl Netherlands + bt Bhutan + ee Estonia + ir Iran + iq Iraq + fo Faroe Islands + fi Finland + fr France + gh Ghana + gn Guinea + ge Georgia + de Germany + gr Greece + hu Hungary + is Iceland + il Israel + it Italy + jp Japan + kg Kyrgyzstan + kh Cambodia + kz Kazakhstan + la Laos + latam Latin American + lt Lithuania + lv Latvia + mao Maori + me Montenegro + mk Macedonia + mt Malta + mn Mongolia + no Norway + pl Poland + pt Portugal + ro Romania + ru Russia + rs Serbia + si Slovenia + sk Slovakia + es Spain + se Sweden + ch Switzerland + sy Syria + tj Tajikistan + lk Sri Lanka + th Thailand + tr Turkey + ua Ukraine + gb United Kingdom + uz Uzbekistan + vn Vietnam + kr Korea, Republic of + nec_vndr/jp Japan (PC-98xx Series) + ie Ireland + pk Pakistan + mv Maldives + za South Africa + epo Esperanto + np Nepal + ng Nigeria + et Ethiopia + braille Braille + +! variant + chr us: Cherokee + euro us: With EuroSign on 5 + intl us: International (with dead keys) + alt-intl us: Alternative international (former us_intl) + colemak us: Colemak + dvorak us: Dvorak + dvorak-intl us: Dvorak international + dvorak-l us: Left handed Dvorak + dvorak-r us: Right handed Dvorak + dvorak-classic us: Classic Dvorak + dvp us: Programmer Dvorak + rus us: Russian phonetic + mac us: Macintosh + altgr-intl us: International (AltGr dead keys) + olpc2 us: Group toggle on multiply/divide key + ps af: Pashto + uz af: Southern Uzbek + olpc-ps af: OLPC Pashto + olpc-fa af: OLPC Dari + olpc-uz af: OLPC Southern Uzbek + azerty ara: azerty + azerty_digits ara: azerty/digits + digits ara: digits + qwerty ara: qwerty + qwerty_digits ara: qwerty/digits + buckwalter ara: Buckwalter + phonetic am: Phonetic + phonetic-alt am: Alternative Phonetic + eastern am: Eastern + western am: Western + eastern-alt am: Alternative Eastern + cyrillic az: Cyrillic + winkeys by: Winkeys + latin by: Latin + iso-alternate be: ISO Alternate + nodeadkeys be: Eliminate dead keys + sundeadkeys be: Sun dead keys + wang be: Wang model 724 azerty + probhat bd: Probhat + ben in: Bengali + ben_probhat in: Bengali Probhat + guj in: Gujarati + guru in: Gurmukhi + jhelum in: Gurmukhi Jhelum + kan in: Kannada + mal in: Malayalam + mal_lalitha in: Malayalam Lalitha + ori in: Oriya + tam_unicode in: Tamil Unicode + tam_TAB in: Tamil TAB Typewriter + tam_TSCII in: Tamil TSCII Typewriter + tam in: Tamil + tel in: Telugu + urd in: Urdu + bolnagri in: Hindi Bolnagri + alternatequotes ba: Use guillemets for quotes + unicode ba: Use Bosnian digraphs + unicodeus ba: US keyboard with Bosnian digraphs + us ba: US keyboard with Bosnian letters + nodeadkeys br: Eliminate dead keys + dvorak br: Dvorak + nativo br: Nativo + nativo-us br: Nativo for USA keyboards + nativo-epo br: Nativo for Esperanto + phonetic bg: Phonetic + french ma: French + tifinagh ma: Tifinagh + tifinagh-alt ma: Tifinagh Alternative + tifinagh-alt-phonetic ma: Tifinagh Alternative Phonetic + tifinagh-extended ma: Tifinagh Extended + tifinagh-phonetic ma: Tifinagh Phonetic + tifinagh-extended-phonetic ma: Tifinagh Extended Phonetic + fr-dvorak ca: French Dvorak + fr-legacy ca: French (legacy) + multix ca: Multilingual + multi ca: Multilingual, first part + multi-2gr ca: Multilingual, second part + ike ca: Inuktitut + shs ca: Secwepemctsin + kut ca: Ktunaxa + tib cn: Tibetan + tib_asciinum cn: Tibetan (with ASCII numerals) + alternatequotes hr: Use guillemets for quotes + unicode hr: Use Croatian digraphs + unicodeus hr: US keyboard with Croatian digraphs + us hr: US keyboard with Croatian letters + bksl cz: With <\|> key + qwerty cz: qwerty + qwerty_bksl cz: qwerty, extended Backslash + ucw cz: UCW layout (accented letters only) + nodeadkeys dk: Eliminate dead keys + mac dk: Macintosh + mac_nodeadkeys dk: Macintosh, eliminate dead keys + dvorak dk: Dvorak + sundeadkeys nl: Sun dead keys + mac nl: Macintosh + std nl: Standard + nodeadkeys ee: Eliminate dead keys + dvorak ee: Dvorak + us ee: US keyboard with Estonian letters + pro ir: Pro + keypad ir: Keypad + pro_keypad ir: Pro Keypad + ku ir: Kurdish, Latin Q + ku_f ir: Kurdish, (F) + ku_alt ir: Kurdish, Latin Alt-Q + ku_ara ir: Kurdish, Arabic-Latin + ku iq: Kurdish, Latin Q + ku_f iq: Kurdish, (F) + ku_alt iq: Kurdish, Latin Alt-Q + ku_ara iq: Kurdish, Arabic-Latin + nodeadkeys fo: Eliminate dead keys + nodeadkeys fi: Eliminate dead keys + smi fi: Northern Saami + classic fi: Classic + mac fi: Macintosh + nodeadkeys fr: Eliminate dead keys + sundeadkeys fr: Sun dead keys + oss fr: Alternative + oss_latin9 fr: Alternative, latin-9 only + oss_nodeadkeys fr: Alternative, eliminate dead keys + oss_sundeadkeys fr: Alternative, Sun dead keys + latin9 fr: (Legacy) Alternative + latin9_nodeadkeys fr: (Legacy) Alternative, eliminate dead keys + latin9_sundeadkeys fr: (Legacy) Alternative, Sun dead keys + bepo fr: Bepo, ergonomic, Dvorak way + bepo_latin9 fr: Bepo, ergonomic, Dvorak way, latin-9 only + dvorak fr: Dvorak + mac fr: Macintosh + geo fr: Georgian AZERTY Tskapo + generic gh: Multilingual + akan gh: Akan + ewe gh: Ewe + fula gh: Fula + ga gh: Ga + hausa gh: Hausa + ergonomic ge: Ergonomic + mess ge: MESS + ru ge: Russian + os ge: Ossetian + deadacute de: Dead acute + deadgraveacute de: Dead grave acute + nodeadkeys de: Eliminate dead keys + ro de: Romanian keyboard with German letters + ro_nodeadkeys de: Romanian keyboard with German letters, eliminate dead keys + dvorak de: Dvorak + sundeadkeys de: Sun dead keys + neo de: Neostyle + mac de: Macintosh + mac_nodeadkeys de: Macintosh, eliminate dead keys + simple gr: Simple + extended gr: Extended + nodeadkeys gr: Eliminate dead keys + polytonic gr: Polytonic + standard hu: Standard + nodeadkeys hu: Eliminate dead keys + qwerty hu: qwerty + 101_qwertz_comma_dead hu: 101/qwertz/comma/Dead keys + 101_qwertz_comma_nodead hu: 101/qwertz/comma/Eliminate dead keys + 101_qwertz_dot_dead hu: 101/qwertz/dot/Dead keys + 101_qwertz_dot_nodead hu: 101/qwertz/dot/Eliminate dead keys + 101_qwerty_comma_dead hu: 101/qwerty/comma/Dead keys + 101_qwerty_comma_nodead hu: 101/qwerty/comma/Eliminate dead keys + 101_qwerty_dot_dead hu: 101/qwerty/dot/Dead keys + 101_qwerty_dot_nodead hu: 101/qwerty/dot/Eliminate dead keys + 102_qwertz_comma_dead hu: 102/qwertz/comma/Dead keys + 102_qwertz_comma_nodead hu: 102/qwertz/comma/Eliminate dead keys + 102_qwertz_dot_dead hu: 102/qwertz/dot/Dead keys + 102_qwertz_dot_nodead hu: 102/qwertz/dot/Eliminate dead keys + 102_qwerty_comma_dead hu: 102/qwerty/comma/Dead keys + 102_qwerty_comma_nodead hu: 102/qwerty/comma/Eliminate dead keys + 102_qwerty_dot_dead hu: 102/qwerty/dot/Dead keys + 102_qwerty_dot_nodead hu: 102/qwerty/dot/Eliminate dead keys + Sundeadkeys is: Sun dead keys + nodeadkeys is: Eliminate dead keys + mac is: Macintosh + dvorak is: Dvorak + lyx il: lyx + phonetic il: Phonetic + biblical il: Biblical Hebrew (Tiro) + nodeadkeys it: Eliminate dead keys + mac it: Macintosh + geo it: Georgian + kana jp: Kana + OADG109A jp: OADG 109A + ruskaz kz: Russian with Kazakh + kazrus kz: Kazakh with Russian + nodeadkeys latam: Eliminate dead keys + sundeadkeys latam: Sun dead keys + std lt: Standard + us lt: US keyboard with Lithuanian letters + ibm lt: IBM (LST 1205-92) + lekp lt: LEKP + lekpa lt: LEKPa + balticplus lt: Baltic+ + apostrophe lv: Apostrophe (') variant + tilde lv: Tilde (~) variant + fkey lv: F-letter (F) variant + cyrillic me: Cyrillic + cyrillicyz me: Cyrillic, Z and ZHE swapped + latinunicode me: Latin unicode + latinyz me: Latin qwerty + latinunicodeyz me: Latin unicode qwerty + cyrillicalternatequotes me: Cyrillic with guillemets + latinalternatequotes me: Latin with guillemets + nodeadkeys mk: Eliminate dead keys + us mt: Maltese keyboard with US layout + nodeadkeys no: Eliminate dead keys + dvorak no: Dvorak + smi no: Northern Saami + smi_nodeadkeys no: Northern Saami, eliminate dead keys + mac no: Macintosh + mac_nodeadkeys no: Macintosh, eliminate dead keys + qwertz pl: qwertz + dvorak pl: Dvorak + dvorak_quotes pl: Dvorak, Polish quotes on quotemark key + dvorak_altquotes pl: Dvorak, Polish quotes on key "1/!" + csb pl: Kashubian + ru_phonetic_dvorak pl: Russian phonetic Dvorak + nodeadkeys pt: Eliminate dead keys + sundeadkeys pt: Sun dead keys + mac pt: Macintosh + mac_nodeadkeys pt: Macintosh, eliminate dead keys + mac_sundeadkeys pt: Macintosh, Sun dead keys + nativo pt: Nativo + nativo-us pt: Nativo for USA keyboards + nativo-epo pt: Nativo for Esperanto + cedilla ro: Cedilla + std ro: Standard + std_cedilla ro: Standard (Cedilla) + winkeys ro: Winkeys + phonetic ru: Phonetic + typewriter ru: Typewriter + legacy ru: Legacy + tt ru: Tatar + os_legacy ru: Ossetian, legacy + os_winkeys ru: Ossetian, Winkeys + cv ru: Chuvash + cv_latin ru: Chuvash Latin + udm ru: Udmurt + kom ru: Komi + sah ru: Yakut + yz rs: Z and ZHE swapped + latin rs: Latin + latinunicode rs: Latin Unicode + latinyz rs: Latin qwerty + latinunicodeyz rs: Latin Unicode qwerty + alternatequotes rs: With guillemets + latinalternatequotes rs: Latin with guillemets + alternatequotes si: Use guillemets for quotes + unicode si: Use Slovenian digraphs + unicodeus si: US keyboard with Slovenian digraphs + us si: US keyboard with Slovenian letters + bksl sk: Extended Backslash + qwerty sk: qwerty + qwerty_bksl sk: qwerty, extended Backslash + nodeadkeys es: Eliminate dead keys + sundeadkeys es: Sun dead keys + dvorak es: Dvorak + ast es: Asturian variant with bottom-dot H and bottom-dot L + cat es: Catalan variant with middle-dot L + mac es: Macintosh + nodeadkeys se: Eliminate dead keys + dvorak se: Dvorak + rus se: Russian phonetic + rus_nodeadkeys se: Russian phonetic, eliminate dead keys + smi se: Northern Saami + mac se: Macintosh + svdvorak se: Svdvorak + de_nodeadkeys ch: German, eliminate dead keys + de_sundeadkeys ch: German, Sun dead keys + fr ch: French + fr_nodeadkeys ch: French, eliminate dead keys + fr_sundeadkeys ch: French, Sun dead keys + fr_mac ch: French (Macintosh) + de_mac ch: German (Macintosh) + syc sy: Syriac + syc_phonetic sy: Syriac phonetic + ku sy: Kurdish, Latin Q + ku_f sy: Kurdish, (F) + ku_alt sy: Kurdish, Latin Alt-Q + tam_unicode lk: Tamil Unicode + tam_TAB lk: Tamil TAB Typewriter + tis th: TIS-820.2538 + pat th: Pattachote + f tr: (F) + alt tr: Alt-Q + sundeadkeys tr: Sun dead keys + ku tr: Kurdish, Latin Q + ku_f tr: Kurdish, (F) + ku_alt tr: Kurdish, Latin Alt-Q + intl tr: International (with dead keys) + phonetic ua: Phonetic + typewriter ua: Typewriter + winkeys ua: Winkeys + unicode ua: Unicode + rstu ua: Standard RSTU + rstu_ru ua: Standard RSTU on Russian layout + homophonic ua: Homophonic + intl gb: International (with dead keys) + dvorak gb: Dvorak + dvorakukp gb: Dvorak (UK Punctuation) + mac gb: Macintosh + colemak gb: Colemak + latin uz: Latin + kr104 kr: 101/104 key Compatible + CloGaelach ie: CloGaelach + UnicodeExpert ie: UnicodeExpert + ogam ie: Ogham + ogam_is434 ie: Ogham IS434 + ara pk: Arabic + legacy epo: displaced semicolon and quote (obsolete) + igbo ng: Igbo + yoruba ng: Yoruba + hausa ng: Hausa + left_hand braille: Left hand + right_hand braille: Right hand + +! option + grp Layout switching + grp:switch R-Alt switches layout while pressed. + grp:lswitch Left Alt key switches layout while pressed. + grp:lwin_switch Left Win-key switches layout while pressed. + grp:rwin_switch Right Win-key switches layout while pressed. + grp:win_switch Both Win-keys switch layout while pressed. + grp:caps_switch CapsLock key switches layout while pressed, Alt+CapsLock does the original capslock action. + grp:rctrl_switch Right Ctrl key switches layout while pressed. + grp:toggle Right Alt key changes layout. + grp:lalt_toggle Left Alt key changes layout. + grp:caps_toggle CapsLock key changes layout. + grp:shift_caps_toggle Shift+CapsLock changes layout. + grp:shift_caps_switch CapsLock switch to first layout, Shift+CapsLock switch to last layout. + grp:alt_caps_toggle Alt+CapsLock changes layout. + grp:shifts_toggle Both Shift keys together change layout. + grp:alts_toggle Both Alt keys together change layout. + grp:ctrls_toggle Both Ctrl keys together change layout. + grp:ctrl_shift_toggle Ctrl+Shift change layout. + grp:lctrl_lshift_toggle LCtrl+LShift change layout. + grp:ctrl_alt_toggle Alt+Ctrl change layout. + grp:alt_shift_toggle Alt+Shift change layout. + grp:menu_toggle Menu key changes layout. + grp:lwin_toggle Left Win-key changes layout. + grp:rwin_toggle Right Win-key changes layout. + grp:lshift_toggle Left Shift key changes layout. + grp:rshift_toggle Right Shift key changes layout. + grp:lctrl_toggle Left Ctrl key changes layout. + grp:rctrl_toggle Right Ctrl key changes layout. + lv3 Third level choosers + lv3:switch Press Right Ctrl to choose 3rd level. + lv3:menu_switch Press Menu key to choose 3rd level. + lv3:win_switch Press any of Win-keys to choose 3rd level. + lv3:lwin_switch Press Left Win-key to choose 3rd level. + lv3:rwin_switch Press Right Win-key to choose 3rd level. + lv3:alt_switch Press any of Alt keys to choose 3rd level. + lv3:lalt_switch Press Left Alt key to choose 3rd level. + lv3:ralt_switch Press Right Alt key to choose 3rd level. + lv3:ralt_switch_multikey Press Right Alt key to choose 3rd level, Shift+Right Alt key is Multi_Key. + lv3:ralt_alt Right Alt key never chooses 3rd level. + ctrl Ctrl key position + ctrl:nocaps Make CapsLock an additional Ctrl. + ctrl:swapcaps Swap Ctrl and CapsLock. + ctrl:ctrl_ac Ctrl key at left of 'A' + ctrl:ctrl_aa Ctrl key at bottom left + ctrl:ctrl_ra Right Ctrl key works as Right Alt. + grp_led Use keyboard LED to show alternative layout. + grp_led:num NumLock LED shows alternative layout. + grp_led:caps CapsLock LED shows alternative layout. + grp_led:scroll ScrollLock LED shows alternative layout. + keypad Numeric keypad layout selection + keypad:legacy Legacy keypad + keypad:oss Keypad with unicode additions (arrows and math operators) + keypad:future Keypad with unicode additions (arrows and math operators). Math operators on default level. + keypad:legacy_wang Legacy Wang 724 keypad + keypad:oss_wang Wang 724 keypad with unicode additions (arrows and math operators) + keypad:future_wang Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level. + keypad:phone_hex ATM/phone-style hexadecimal keypad + kpdl Numeric keypad delete key behaviour + kpdl:dot Legacy key with dot + kpdl:comma Legacy key with comma + kpdl:dotoss Four-level key with dot + kpdl:dotoss_latin9 Four-level key with dot, latin-9 restriction + kpdl:commaoss Four-level key with comma + kpdl:momayyezoss Four-level key with momayyez + kpdl:kposs Four-level key with abstract separators + caps CapsLock key behavior + caps:internal CapsLock uses internal capitalization. Shift "pauses" CapsLock. + caps:internal_nocancel CapsLock uses internal capitalization. Shift doesn't affect CapsLock. + caps:shift CapsLock acts as Shift with locking. Shift "pauses" CapsLock. + caps:shift_nocancel CapsLock acts as Shift with locking. Shift doesn't affect CapsLock. + caps:capslock CapsLock toggles normal capitalization of alphabetic characters. + caps:swapescape Swap ESC and CapsLock. + caps:shiftlock CapsLock toggles Shift so all keys are affected. + altwin Alt/Win key behavior + altwin:menu Add the standard behavior to Menu key. + altwin:meta_alt Alt and Meta are on the Alt keys. + altwin:ctrl_win Control is mapped to the Win-keys (and the usual Ctrl keys). + altwin:meta_win Meta is mapped to the Win-keys. + altwin:left_meta_win Meta is mapped to the left Win-key. + altwin:super_win Super is mapped to the Win-keys. + altwin:hyper_win Hyper is mapped to the Win-keys. + altwin:alt_super_win Alt is mapped to the right Win-key and Super to Menu. + altwin:swap_lalt_lwin Left Alt is swapped with left Win-key. + Compose key Compose key position + compose:ralt Right Alt is Compose. + compose:lwin Left Win-key is Compose. + compose:rwin Right Win-key is Compose. + compose:menu Menu is Compose. + compose:rctrl Right Ctrl is Compose. + compose:caps Caps Lock is Compose. + compose:102 Less-than/Greater-than is Compose. + compat Miscellaneous compatibility options + numpad:pc Default numeric keypad keys. + numpad:mac Numeric keypad keys work as with Mac. + numpad:microsoft Shift with numeric keypad keys works as in MS Windows. + srvrkeys:none Special keys (Ctrl+Alt+<key>) handled in a server. + apple:badmap Swap keycodes of two keys when Mac keyboards are misdetected by kernel. + shift:breaks_caps Shift cancels CapsLock. + eurosign Adding the EuroSign to certain keys + eurosign:e Add the EuroSign to the E key. + eurosign:2 Add the EuroSign to the 2 key. + eurosign:4 Add the EuroSign to the 4 key. + eurosign:5 Add the EuroSign to the 5 key. + nbsp Using space key to input non-breakable space character + nbsp:none Space key outputs usual space at any level. + nbsp:level2 Space key outputs non-breakable space character at second level. + nbsp:level3 Space key outputs non-breakable space character at third level. + nbsp:level3s Space key outputs non-breakable space character at third level, nothing at fourth level. + nbsp:level3n Space key outputs non-breakable space character at third level, thin non-breakable space character at fourth level + nbsp:level4 Space key outputs non-breakable space character at fourth level. + nbsp:level4n Space key outputs non-breakable space character at fourth level, thin non-breakable space character at sixth level + nbsp:level4nl Space key outputs non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift) + japan Japanese keyboard options + japan:kana_lock Kana Lock key is locking + japan:nicola_f_bs NICOLA-F style Backspace diff --git a/xorg-server/xkbdata.src/rules/base.m_g.part b/xorg-server/xkbdata.src/rules/base.m_g.part new file mode 100644 index 000000000..7c0751d7b --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.m_g.part @@ -0,0 +1,20 @@ + microsoftelite = microsoft(elite) + $msmodels = microsoft(natural) + dell101 = dell(dell101) + dellm65 = dell(dellm65) + flexpro = keytronic(FlexPro) + hp6000 = hp(omnibook) + omnikey101 = northgate(omnikey101) + $pcmodels = pc(%m) + $pcgeometries = pc(%m) + everex = everex(STEPnote) + thinkpad = thinkpad(intl) + thinkpad60 = thinkpad(60) + thinkpadz60 = thinkpad(60) + winbook = winbook(XP5) + pc98 = nec(pc98) + $macbooks = macintosh(%m) + $macs = macintosh(macintosh) + hhk = hhk(basic) + kinesis = kinesis(model100) + * = pc(pc104) diff --git a/xorg-server/xkbdata.src/rules/base.m_k.part b/xorg-server/xkbdata.src/rules/base.m_k.part new file mode 100644 index 000000000..a39d4c881 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.m_k.part @@ -0,0 +1,16 @@ + amiga = amiga(de) + ataritt = ataritt(de) + sun4 = sun(type4_euro) + sun5 = sun(type5_euro) + sun6 = sun(type6_usb) + pc98 = xfree98(pc98) + abnt2 = xfree86(abnt2) + jp106 = xfree86(jp106) + evdev = evdev + olpc = evdev + macintosh_hhk = macintosh(hhk) + macintosh_old = macintosh(old) + $macbooks = macintosh+macintosh(goodmap) + $macs = macintosh + thinkpadz60 = xfree86(thinkpadz60) + * = xfree86 diff --git a/xorg-server/xkbdata.src/rules/base.m_s.part b/xorg-server/xkbdata.src/rules/base.m_s.part new file mode 100644 index 000000000..f066cc077 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.m_s.part @@ -0,0 +1,29 @@ + benqx730 = +inet(benqx) + benqx800 = +inet(benqx) + dellsk8125 = +inet(dell) + dellsk8135 = +inet(dell) + hpnx9020 = +inet(hp5185) + logicd = +inet(logitech_base) + logicd_it = +inet(logitech_base) + logicd_nav = +inet(logitech_base) + logicd_opt = +inet(logitech_base) + logiultrax = +inet(logitech_base) + logiclx300 = +inet(logiex110) + logii350 = +inet(logiex110) + logimel = +inet(logiex110) + vsonku306 = +inet(microsoftprooem) + $inetkbds = +inet(%m) + acer_tm_800 = +inet(acer_laptop) + benqx730 = +inet(benqx) + benqx800 = +inet(benqx) + dell8125 = +inet(dellusbmm) + dell8135 = +inet(dellusbmm) + ltcd = +inet(logicda) + logicdit = +inet(logicd) + logicdo = +inet(logicd) + logicdp = +inet(logicd) + logicdpa = +inet(logicda) + logiciink = +inet(logicink) + $maclaptop = +inet(apple)+level3(enter_switch) + $macs = +inet(apple) + thinkpadz60 = +inet(thinkpad60) diff --git a/xorg-server/xkbdata.src/rules/base.m_t.part b/xorg-server/xkbdata.src/rules/base.m_t.part new file mode 100644 index 000000000..4548d2694 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.m_t.part @@ -0,0 +1,2 @@ + $macs = complete+numpad(mac) + * = complete diff --git a/xorg-server/xkbdata.src/rules/base.ml1_c.part b/xorg-server/xkbdata.src/rules/base.ml1_c.part new file mode 100644 index 000000000..f59e596d5 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.ml1_c.part @@ -0,0 +1 @@ + * * = complete diff --git a/xorg-server/xkbdata.src/rules/base.ml1_s.part b/xorg-server/xkbdata.src/rules/base.ml1_s.part new file mode 100644 index 000000000..8e0eeef4f --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.ml1_s.part @@ -0,0 +1,10 @@ + ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1]) + amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1]) + sun4 * = latin+sun_vndr/us(sun4)+%l[1]%(v[1]) + sun5 * = latin+sun_vndr/us(sun5)+%l[1]%(v[1]) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1]) + macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1]) + $macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1]) + thinkpad br = pc+%l[1](thinkpad) + * * = pc+%l[1]%(v[1]) diff --git a/xorg-server/xkbdata.src/rules/base.ml_c.part b/xorg-server/xkbdata.src/rules/base.ml_c.part new file mode 100644 index 000000000..ec8f02291 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.ml_c.part @@ -0,0 +1,4 @@ + pc98 nec_vndr/jp = pc98(basic) + * jp = complete+japan + olpc * = olpc + * * = complete diff --git a/xorg-server/xkbdata.src/rules/base.ml_g.part b/xorg-server/xkbdata.src/rules/base.ml_g.part new file mode 100644 index 000000000..e66bb0b50 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.ml_g.part @@ -0,0 +1 @@ + thinkpad us = thinkpad(us) diff --git a/xorg-server/xkbdata.src/rules/base.ml_s.part b/xorg-server/xkbdata.src/rules/base.ml_s.part new file mode 100644 index 000000000..570c5ef77 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.ml_s.part @@ -0,0 +1,25 @@ + 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) + sun4 $nonlatin = latin+sun_vndr/us(sun4)+%l%(v):2 + sun4 * = latin+sun_vndr/us(sun4)+%l%(v) + sun5 $nonlatin = latin+sun_vndr/us(sun5)+%l%(v):2 + sun5 * = latin+sun_vndr/us(sun5)+%l%(v) + sun6 us = sun_vndr/us(type6) + sun6 en_US = sun_vndr/us(type6)+iso9995-3(basic) + sun6 * = 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) + $macs en_US = pc+macintosh_vndr/us(extended) + $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) + olpc $olpclayouts = olpc+%l%(m) + olpc * = olpc+%l%(v) + thinkpad br = pc+br(thinkpad) + * $nonlatin = pc+us+%l%(v):2 + * * = pc+%l%(v) diff --git a/xorg-server/xkbdata.src/rules/base.mlv_s.part b/xorg-server/xkbdata.src/rules/base.mlv_s.part new file mode 100644 index 000000000..df4eef24d --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.mlv_s.part @@ -0,0 +1,3 @@ + classmate us intl = pc+us(classmate-intl) + classmate us alt-intl = pc+us(classmate-alt-intl) + classmate us altgr-intl = pc+us(classmate-altgr-intl) diff --git a/xorg-server/xkbdata.src/rules/base.o_c.part b/xorg-server/xkbdata.src/rules/base.o_c.part new file mode 100644 index 000000000..9ce5410ed --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.o_c.part @@ -0,0 +1,6 @@ + grp_led:num = +lednum(group_lock) + grp_led:caps = +ledcaps(group_lock) + grp_led:scroll = +ledscroll(group_lock) + grp:caps_toggle = +ledcaps(group_lock) + japan:kana_lock = +japan(kana_lock) + diff --git a/xorg-server/xkbdata.src/rules/base.o_s.part b/xorg-server/xkbdata.src/rules/base.o_s.part new file mode 100644 index 000000000..2e1e38cd2 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.o_s.part @@ -0,0 +1,91 @@ + altwin:menu = +altwin(menu) + altwin:meta_alt = +altwin(meta_alt) + altwin:ctrl_win = +altwin(ctrl_win) + altwin:meta_win = +altwin(meta_win) + altwin:left_meta_win = +altwin(left_meta_win) + altwin:super_win = +altwin(super_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: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:alt_caps_toggle = +group(alt_caps_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + grp:alt_shift_toggle = +group(alt_shift_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) + 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) + caps:capslock = +capslock(capslock) + caps:shiftlock = +capslock(shiftlock) + caps:swapescape = +capslock(swapescape) + ctrl:nocaps = +ctrl(nocaps) + ctrl:swapcaps = +ctrl(swapcaps) + ctrl:ctrl_ac = +ctrl(ctrl_ac) + ctrl:ctrl_aa = +ctrl(ctrl_aa) + ctrl:ctrl_ra = +ctrl(ctrl_ra) + compose:ralt = +compose(ralt) + compose:lwin = +compose(lwin) + compose:rwin = +compose(rwin) + compose:menu = +compose(menu) + compose:rctrl = +compose(rctrl) + compose:caps = +compose(caps) + compose:102 = +compose(102) + srvrkeys:none = +srvr_ctrl(no_srvr_keys) + eurosign:e = +eurosign(e) + eurosign:2 = +eurosign(2) + eurosign:4 = +eurosign(4) + eurosign:5 = +eurosign(5) + 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:phone_hex = +keypad(phone_hex) + 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) + shift:breaks_caps = +shift(breaks_caps) + diff --git a/xorg-server/xkbdata.src/rules/base.o_t.part b/xorg-server/xkbdata.src/rules/base.o_t.part new file mode 100644 index 000000000..440f9efe3 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.o_t.part @@ -0,0 +1,7 @@ + caps:internal = +caps(internal) + caps:internal_nocancel = +caps(internal_nocancel) + caps:shift = +caps(shift) + caps:shift_nocancel = +caps(shift_nocancel) + numpad:pc = +numpad(pc) + numpad:mac = +numpad(mac) + numpad:microsoft = +numpad(microsoft) diff --git a/xorg-server/xkbdata.src/rules/base.xml.in b/xorg-server/xkbdata.src/rules/base.xml.in new file mode 100644 index 000000000..8d0aa921c --- /dev/null +++ b/xorg-server/xkbdata.src/rules/base.xml.in @@ -0,0 +1,4699 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd"> +<xkbConfigRegistry> + <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>jp106</name> + <_description>Japanese 106-key</_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>abnt2</name> + <_description>Brazilian ABNT2</_description> + <vendor>Generic</vendor> + </configItem> + </model> + <model> + <configItem> + <name>airkey</name> + <_description>Acer AirKey V</_description> + <vendor>Acer</vendor> + </configItem> + </model> + <model> + <configItem> + <name>acpi</name> + <_description>ACPI Standard</_description> + <vendor>Generic</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>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>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>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 A1667G 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>gyration</name> + <_description>Gyration</_description> + <vendor>Gyration</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>hp2501</name> + <_description>Hewlett-Packard SK-2501 Multimedia Keyboard</_description> + <vendor>Hewlett-Packard</vendor> + </configItem> + </model> + <model> + <configItem> + <name>hp2505</name> + <_description>Hewlett-Packard SK-2505 Internet 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>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>hp5181</name> + <_description>Hewlett-Packard Internet Keyboard 5181</_description> + <vendor>Hewlett-Packard</vendor> + </configItem> + </model> + <model> + <configItem> + <name>hp5185</name> + <_description>Hewlett-Packard Internet Keyboard 5185</_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>rapidaccess</name> + <_description>IBM Rapid Access</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>rapidaccess2</name> + <_description>IBM Rapid Access II</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>rapidaccess2a</name> + <_description>IBM Rapid Access II (alternate option)</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>thinkpad</name> + <_description>IBM ThinkPad 560Z/600/600E/A22E</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>thinkpadintl</name> + <_description>IBM ThinkPad 560Z/600/600E/A22E, Intl</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>thinkpad60</name> + <_description>IBM ThinkPad R60/T60/R61/T61</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>thinkpadz60</name> + <_description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>ibm_spacesaver</name> + <_description>IBM Space Saver</_description> + <vendor>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 option2)</_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>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>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>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>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>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>kr106</name> + <_description>Korean 106-key</_description> + <vendor>Generic</vendor> + </configItem> + </model> + <model> + <configItem> + <name>evdev</name> + <_description>Evdev-managed keyboard</_description> + <vendor>Generic</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> + </modelList> + <layoutList> + <layout> + <configItem> + <name>us</name> + <_shortDescription>USA</_shortDescription> + <_description>USA</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>chr</name> + <_description>Cherokee</_description> + <languageList><iso639Id>chr</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>euro</name> + <_description>With EuroSign on 5</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>intl</name> + <_description>International (with dead keys)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>alt-intl</name> + <_description>Alternative international (former us_intl)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>colemak</name> + <_description>Colemak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak-intl</name> + <_description>Dvorak international</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak-l</name> + <_description>Left handed Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak-r</name> + <_description>Right handed Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak-classic</name> + <_description>Classic Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvp</name> + <_description>Programmer Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>rus</name> + <_description>Russian phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>altgr-intl</name> + <_description>International (AltGr dead keys)</_description> + <languageList><iso639Id>eng</iso639Id> + <iso639Id>fra</iso639Id> + <iso639Id>ger</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>olpc2</name> + <_description>Group toggle on multiply/divide key</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ad</name> + <_shortDescription>And</_shortDescription> + <_description>Andorra</_description> + <languageList><iso639Id>cat</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>af</name> + <_shortDescription>Afg</_shortDescription> + <_description>Afghanistan</_description> + </configItem> + <variantList> + <variant> + <configItem> + <name>ps</name> + <_description>Pashto</_description> + <languageList><iso639Id>pus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>uz</name> + <_description>Southern Uzbek</_description> + <languageList><iso639Id>uzb</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>olpc-ps</name> + <_description>OLPC Pashto</_description> + <languageList><iso639Id>pus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>olpc-fa</name> + <_description>OLPC Dari</_description> + <!-- No ISO code in ISO639-2, only draft ISO693-3 --> + </configItem> + </variant> + <variant> + <configItem> + <name>olpc-uz</name> + <_description>OLPC Southern Uzbek</_description> + <languageList><iso639Id>uzb</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ara</name> + <_shortDescription>Ara</_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>azerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>azerty_digits</name> + <_description>azerty/digits</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>digits</name> + <_description>digits</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty</name> + <_description>qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty_digits</name> + <_description>qwerty/digits</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>buckwalter</name> + <_description>Buckwalter</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>al</name> + <_shortDescription>Alb</_shortDescription> + <_description>Albania</_description> + <languageList><iso639Id>alb</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>am</name> + <_shortDescription>Arm</_shortDescription> + <_description>Armenia</_description> + <languageList><iso639Id>hye</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>phonetic-alt</name> + <_description>Alternative Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>eastern</name> + <_description>Eastern</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>western</name> + <_description>Western</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>eastern-alt</name> + <_description>Alternative Eastern</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>az</name> + <_shortDescription>Aze</_shortDescription> + <_description>Azerbaijan</_description> + <languageList><iso639Id>aze</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>cyrillic</name> + <_description>Cyrillic</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>by</name> + <_shortDescription>Blr</_shortDescription> + <_description>Belarus</_description> + <languageList><iso639Id>bel</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>winkeys</name> + <_description>Winkeys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin</name> + <_description>Latin</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>be</name> + <_shortDescription>Bel</_shortDescription> + <_description>Belgium</_description> + <languageList><iso639Id>ger</iso639Id> + <iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>iso-alternate</name> + <_description>ISO Alternate</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>wang</name> + <_description>Wang model 724 azerty</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>bd</name> + <_shortDescription>Ban</_shortDescription> + <_description>Bangladesh</_description> + <languageList><iso639Id>ben</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>probhat</name> + <_description>Probhat</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>in</name> + <_shortDescription>Ind</_shortDescription> + <_description>India</_description> + </configItem> + <variantList> + <variant> + <configItem> + <name>ben</name> + <_description>Bengali</_description> + <languageList><iso639Id>ben</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ben_probhat</name> + <_description>Bengali Probhat</_description> + <languageList><iso639Id>ben</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>guj</name> + <_description>Gujarati</_description> + <languageList><iso639Id>guj</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>guru</name> + <_description>Gurmukhi</_description> + <languageList><iso639Id>pan</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>jhelum</name> + <_description>Gurmukhi Jhelum</_description> + <languageList><iso639Id>pan</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>kan</name> + <_description>Kannada</_description> + <languageList><iso639Id>kan</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mal</name> + <_description>Malayalam</_description> + <languageList><iso639Id>mal</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mal_lalitha</name> + <_description>Malayalam Lalitha</_description> + <languageList><iso639Id>mal</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ori</name> + <_description>Oriya</_description> + <languageList><iso639Id>ori</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam_unicode</name> + <_description>Tamil Unicode</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam_TAB</name> + <_description>Tamil TAB Typewriter</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam_TSCII</name> + <_description>Tamil TSCII Typewriter</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam</name> + <_description>Tamil</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tel</name> + <_description>Telugu</_description> + <languageList><iso639Id>tel</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>urd</name> + <_description>Urdu</_description> + <languageList><iso639Id>urd</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>bolnagri</name> + <_description>Hindi Bolnagri</_description> + <languageList><iso639Id>hin</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ba</name> + <_shortDescription>Bih</_shortDescription> + <_description>Bosnia and Herzegovina</_description> + <languageList><iso639Id>bos</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>alternatequotes</name> + <_description> Use guillemets for quotes</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicode</name> + <_description>Use Bosnian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicodeus</name> + <_description>US keyboard with Bosnian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Bosnian letters</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>br</name> + <_shortDescription>Bra</_shortDescription> + <_description>Brazil</_description> + <languageList><iso639Id>por</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo</name> + <_description>Nativo</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo-us</name> + <_description>Nativo for USA keyboards</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo-epo</name> + <_description>Nativo for Esperanto</_description> + <languageList><iso639Id>epo</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>bg</name> + <_shortDescription>Bgr</_shortDescription> + <_description>Bulgaria</_description> + <languageList><iso639Id>bul</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ma</name> + <_description>Morocco</_description> + </configItem> + <variantList> + <variant> + <configItem> + <name>french</name> + <_description>French</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh</name> + <_description>Tifinagh</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-alt</name> + <_description>Tifinagh Alternative</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-alt-phonetic</name> + <_description>Tifinagh Alternative Phonetic</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-extended</name> + <_description>Tifinagh Extended</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-phonetic</name> + <_description>Tifinagh Phonetic</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-extended-phonetic</name> + <_description>Tifinagh Extended Phonetic</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mm</name> + <_shortDescription>Mmr</_shortDescription> + <_description>Myanmar</_description> + <languageList><iso639Id>mya</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>ca</name> + <_shortDescription>Can</_shortDescription> + <_description>Canada</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>fr-dvorak</name> + <_description>French Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>fr-legacy</name> + <_description>French (legacy)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>multix</name> + <_description>Multilingual</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>multi</name> + <_description>Multilingual, first part</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>multi-2gr</name> + <_description>Multilingual, second part</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ike</name> + <_description>Inuktitut</_description> + <languageList><iso639Id>iku</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>shs</name> + <_description>Secwepemctsin</_description> + <!-- No ISO code in ISO639-2, only draft ISO693-3 --> + </configItem> + </variant> + <variant> + <configItem> + <name>kut</name> + <_description>Ktunaxa</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>cd</name> + <_shortDescription>DRC</_shortDescription> + <_description>Congo, Democratic Republic of the</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>cn</name> + <_shortDescription>China</_shortDescription> + <_description>China</_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> + </variantList> + </layout> + <layout> + <configItem> + <name>hr</name> + <_shortDescription>Hrv</_shortDescription> + <_description>Croatia</_description> + <languageList><iso639Id>scr</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>alternatequotes</name> + <_description>Use guillemets for quotes</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicode</name> + <_description>Use Croatian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicodeus</name> + <_description>US keyboard with Croatian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Croatian letters</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>cz</name> + <_shortDescription>Cze</_shortDescription> + <_description>Czechia</_description> + <languageList><iso639Id>cze</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>bksl</name> + <_description>With <\|> key</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty</name> + <_description>qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty_bksl</name> + <_description>qwerty, extended Backslash</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ucw</name> + <_description>UCW layout (accented letters only)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>dk</name> + <_shortDescription>Dan</_shortDescription> + <_description>Denmark</_description> + <languageList><iso639Id>dan</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_nodeadkeys</name> + <_description>Macintosh, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>nl</name> + <_shortDescription>Nld</_shortDescription> + <_description>Netherlands</_description> + <languageList><iso639Id>nld</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>std</name> + <_description>Standard</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>bt</name> + <_shortDescription>Bhu</_shortDescription> + <_description>Bhutan</_description> + <languageList><iso639Id>dzo</iso639Id></languageList> + </configItem> + </layout> + <layout> + <configItem> + <name>ee</name> + <_shortDescription>Est</_shortDescription> + <_description>Estonia</_description> + <languageList><iso639Id>est</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Estonian letters</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ir</name> + <_shortDescription>Irn</_shortDescription> + <_description>Iran</_description> + <languageList><iso639Id>per</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>pro</name> + <_description>Pro</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>keypad</name> + <_description>Keypad</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>pro_keypad</name> + <_description>Pro Keypad</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ku</name> + <_description>Kurdish, Latin Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_f</name> + <_description>Kurdish, (F)</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_alt</name> + <_description>Kurdish, Latin Alt-Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_ara</name> + <_description>Kurdish, Arabic-Latin</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>iq</name> + <_shortDescription>Irq</_shortDescription> + <_description>Iraq</_description> + <languageList><iso639Id>ara</iso639Id> + <iso639Id>kur</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>ku</name> + <_description>Kurdish, Latin Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_f</name> + <_description>Kurdish, (F)</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_alt</name> + <_description>Kurdish, Latin Alt-Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_ara</name> + <_description>Kurdish, Arabic-Latin</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>fo</name> + <_shortDescription>Fao</_shortDescription> + <_description>Faroe Islands</_description> + <languageList><iso639Id>fao</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>fi</name> + <_shortDescription>Fin</_shortDescription> + <_description>Finland</_description> + <languageList><iso639Id>fin</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>smi</name> + <_description>Northern Saami</_description> + <languageList><iso639Id>smi</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>classic</name> + <_description>Classic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>fr</name> + <_shortDescription>Fra</_shortDescription> + <_description>France</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>oss</name> + <_description>Alternative</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>oss_latin9</name> + <_description>Alternative, latin-9 only</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>oss_nodeadkeys</name> + <_description>Alternative, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>oss_sundeadkeys</name> + <_description>Alternative, Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin9</name> + <_description>(Legacy) Alternative</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin9_nodeadkeys</name> + <_description>(Legacy) Alternative, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin9_sundeadkeys</name> + <_description>(Legacy) Alternative, Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>bepo</name> + <_description>Bepo, ergonomic, Dvorak way</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>bepo_latin9</name> + <_description>Bepo, ergonomic, Dvorak way, latin-9 only</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>geo</name> + <_description>Georgian AZERTY Tskapo</_description> + <languageList><iso639Id>geo</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>gh</name> + <_shortDescription>Gha</_shortDescription> + <_description>Ghana</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>generic</name> + <_description>Multilingual</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>akan</name> + <_description>Akan</_description> + <languageList><iso639Id>aka</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ewe</name> + <_description>Ewe</_description> + <languageList><iso639Id>ewe</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>fula</name> + <_description>Fula</_description> + <languageList><iso639Id>ful</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ga</name> + <_description>Ga</_description> + <languageList><iso639Id>gaa</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>hausa</name> + <_description>Hausa</_description> + <languageList><iso639Id>hau</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>gn</name> + <_shortDescription>Gui</_shortDescription> + <_description>Guinea</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>ge</name> + <_shortDescription>Geo</_shortDescription> + <_description>Georgia</_description> + <languageList><iso639Id>geo</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>ergonomic</name> + <_description>Ergonomic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mess</name> + <_description>MESS</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ru</name> + <_description>Russian</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>os</name> + <_description>Ossetian</_description> + <languageList><iso639Id>oss</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>de</name> + <_shortDescription>Deu</_shortDescription> + <_description>Germany</_description> + <languageList><iso639Id>ger</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>deadacute</name> + <_description>Dead acute</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>deadgraveacute</name> + <_description>Dead grave acute</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ro</name> + <_description>Romanian keyboard with German letters</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ro_nodeadkeys</name> + <_description>Romanian keyboard with German letters, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>neo</name> + <_description>Neostyle</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_nodeadkeys</name> + <_description>Macintosh, eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>gr</name> + <_shortDescription>Gre</_shortDescription> + <_description>Greece</_description> + <languageList><iso639Id>gre</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>simple</name> + <_description>Simple</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>extended</name> + <_description>Extended</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>polytonic</name> + <_description>Polytonic</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>hu</name> + <_shortDescription>Hun</_shortDescription> + <_description>Hungary</_description> + <languageList><iso639Id>hun</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>standard</name> + <_description>Standard</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty</name> + <_description>qwerty</_description> + </configItem> + </variant> + + <!-- 101 keys --> + <variant> + <configItem> + <name>101_qwertz_comma_dead</name> + <_description>101/qwertz/comma/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwertz_comma_nodead</name> + <_description>101/qwertz/comma/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwertz_dot_dead</name> + <_description>101/qwertz/dot/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwertz_dot_nodead</name> + <_description>101/qwertz/dot/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwerty_comma_dead</name> + <_description>101/qwerty/comma/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwerty_comma_nodead</name> + <_description>101/qwerty/comma/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwerty_dot_dead</name> + <_description>101/qwerty/dot/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwerty_dot_nodead</name> + <_description>101/qwerty/dot/Eliminate dead keys</_description> + </configItem> + </variant> + + + <!-- 102 keys --> + <variant> + <configItem> + <name>102_qwertz_comma_dead</name> + <_description>102/qwertz/comma/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwertz_comma_nodead</name> + <_description>102/qwertz/comma/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwertz_dot_dead</name> + <_description>102/qwertz/dot/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwertz_dot_nodead</name> + <_description>102/qwertz/dot/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwerty_comma_dead</name> + <_description>102/qwerty/comma/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwerty_comma_nodead</name> + <_description>102/qwerty/comma/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwerty_dot_dead</name> + <_description>102/qwerty/dot/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwerty_dot_nodead</name> + <_description>102/qwerty/dot/Eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>is</name> + <_shortDescription>Isl</_shortDescription> + <_description>Iceland</_description> + <languageList><iso639Id>ice</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>Sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>il</name> + <_shortDescription>Isr</_shortDescription> + <_description>Israel</_description> + <languageList><iso639Id>heb</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>lyx</name> + <_description>lyx</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>biblical</name> + <_description>Biblical Hebrew (Tiro)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>it</name> + <_shortDescription>Ita</_shortDescription> + <_description>Italy</_description> + <languageList><iso639Id>ita</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>geo</name> + <_description>Georgian</_description> + <languageList><iso639Id>geo</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>jp</name> + <_shortDescription>Jpn</_shortDescription> + <_description>Japan</_description> + <languageList><iso639Id>jpn</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>kana</name> + <_description>Kana</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>OADG109A</name> + <_description>OADG 109A</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>kg</name> + <_shortDescription>Kir</_shortDescription> + <_description>Kyrgyzstan</_description> + <languageList><iso639Id>kir</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>kh</name> + <_shortDescription>Khm</_shortDescription> + <_description>Cambodia</_description> + <languageList><iso639Id>khm</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>kz</name> + <_shortDescription>Kaz</_shortDescription> + <_description>Kazakhstan</_description> + <languageList><iso639Id>kaz</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>ruskaz</name> + <_description>Russian 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>Lao</_shortDescription> + <_description>Laos</_description> + <languageList><iso639Id>lao</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>latam</name> + <_shortDescription>LAm</_shortDescription> + <_description>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>UY</iso3166Id> + <iso3166Id>VE</iso3166Id> + </countryList> + <languageList><iso639Id>spa</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>lt</name> + <_shortDescription>Ltu</_shortDescription> + <_description>Lithuania</_description> + <languageList><iso639Id>lit</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>std</name> + <_description>Standard</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Lithuanian letters</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ibm</name> + <_description>IBM (LST 1205-92)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>lekp</name> + <_description>LEKP</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>lekpa</name> + <_description>LEKPa</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>balticplus</name> + <_description>Baltic+</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>lv</name> + <_shortDescription>Lav</_shortDescription> + <_description>Latvia</_description> + <languageList><iso639Id>lav</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>apostrophe</name> + <_description>Apostrophe (') variant</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>tilde</name> + <_description>Tilde (~) variant</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>fkey</name> + <_description>F-letter (F) variant</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mao</name> + <_shortDescription>Mao</_shortDescription> + <_description>Maori</_description> + <languageList><iso639Id>mao</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>me</name> + <_shortDescription>MNE</_shortDescription> + <_description>Montenegro</_description> + <languageList><iso639Id>srp</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>cyrillic</name> + <_description>Cyrillic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>cyrillicyz</name> + <_description>Cyrillic, Z and ZHE swapped</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinunicode</name> + <_description>Latin unicode</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinyz</name> + <_description>Latin qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinunicodeyz</name> + <_description>Latin unicode qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>cyrillicalternatequotes</name> + <_description>Cyrillic with guillemets</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinalternatequotes</name> + <_description>Latin with guillemets</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mk</name> + <_shortDescription>Mkd</_shortDescription> + <_description>Macedonia</_description> + <languageList><iso639Id>mkd</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mt</name> + <_shortDescription>Mlt</_shortDescription> + <_description>Malta</_description> + <languageList><iso639Id>mlt</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>us</name> + <_description>Maltese keyboard with US layout</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mn</name> + <_shortDescription>Mng</_shortDescription> + <_description>Mongolia</_description> + <languageList><iso639Id>mng</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>no</name> + <_shortDescription>Nor</_shortDescription> + <_description>Norway</_description> + <languageList><iso639Id>nor</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>smi</name> + <_description>Northern Saami</_description> + <languageList><iso639Id>sme</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>smi_nodeadkeys</name> + <_description>Northern Saami, eliminate dead keys</_description> + <languageList><iso639Id>sme</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_nodeadkeys</name> + <_description>Macintosh, eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>pl</name> + <_shortDescription>Pol</_shortDescription> + <_description>Poland</_description> + <languageList><iso639Id>pol</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>qwertz</name> + <_description>qwertz</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak_quotes</name> + <_description>Dvorak, Polish quotes on quotemark key</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak_altquotes</name> + <_description>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> + <_description>Russian phonetic Dvorak</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>pt</name> + <_shortDescription>Prt</_shortDescription> + <_description>Portugal</_description> + <languageList><iso639Id>por</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_nodeadkeys</name> + <_description>Macintosh, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_sundeadkeys</name> + <_description>Macintosh, Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo</name> + <_description>Nativo</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo-us</name> + <_description>Nativo for USA keyboards</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo-epo</name> + <_description>Nativo for Esperanto</_description> + <languageList><iso639Id>epo</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ro</name> + <_shortDescription>Rou</_shortDescription> + <_description>Romania</_description> + <languageList><iso639Id>rum</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>cedilla</name> + <_description>Cedilla</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>std</name> + <_description>Standard</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>std_cedilla</name> + <_description>Standard (Cedilla)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>winkeys</name> + <_description>Winkeys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ru</name> + <_shortDescription>Rus</_shortDescription> + <_description>Russia</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>typewriter</name> + <_description>Typewriter</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>legacy</name> + <_description>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> + </variantList> + </layout> + <layout> + <configItem> + <name>rs</name> + <_shortDescription>SRB</_shortDescription> + <_description>Serbia</_description> + <languageList><iso639Id>srp</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>yz</name> + <_description>Z and ZHE swapped</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin</name> + <_description>Latin</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinunicode</name> + <_description>Latin Unicode</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinyz</name> + <_description>Latin qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinunicodeyz</name> + <_description>Latin Unicode qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>alternatequotes</name> + <_description>With guillemets</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinalternatequotes</name> + <_description>Latin with guillemets</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>si</name> + <_shortDescription>Svn</_shortDescription> + <_description>Slovenia</_description> + <languageList><iso639Id>slv</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>alternatequotes</name> + <_description>Use guillemets for quotes</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicode</name> + <_description>Use Slovenian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicodeus</name> + <_description>US keyboard with Slovenian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Slovenian letters</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>sk</name> + <_shortDescription>Svk</_shortDescription> + <_description>Slovakia</_description> + <languageList><iso639Id>slo</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>bksl</name> + <_description>Extended Backslash</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty</name> + <_description>qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty_bksl</name> + <_description>qwerty, extended Backslash</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>es</name> + <_shortDescription>Esp</_shortDescription> + <_description>Spain</_description> + <languageList><iso639Id>spa</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ast</name> + <_description>Asturian variant with bottom-dot H and bottom-dot L</_description> + <languageList><iso639Id>ast</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>cat</name> + <_description>Catalan variant with middle-dot L</_description> + <languageList><iso639Id>cat</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>se</name> + <_shortDescription>Swe</_shortDescription> + <_description>Sweden</_description> + <languageList><iso639Id>swe</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>rus</name> + <_description>Russian phonetic</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>rus_nodeadkeys</name> + <_description>Russian phonetic, eliminate dead keys</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>smi</name> + <_description>Northern Saami</_description> + <languageList><iso639Id>sme</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>svdvorak</name> + <_description>Svdvorak</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ch</name> + <_shortDescription>Che</_shortDescription> + <_description>Switzerland</_description> + <languageList><iso639Id>ger</iso639Id> + <iso639Id>gsw</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>de_nodeadkeys</name> + <_description>German, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>de_sundeadkeys</name> + <_description>German, Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>fr</name> + <_description>French</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>fr_nodeadkeys</name> + <_description>French, eliminate dead keys</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>fr_sundeadkeys</name> + <_description>French, Sun dead keys</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>fr_mac</name> + <_description>French (Macintosh)</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>de_mac</name> + <_description>German (Macintosh)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>sy</name> + <_shortDescription>Syr</_shortDescription> + <_description>Syria</_description> + <languageList><iso639Id>syr</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>syc</name> + <_description>Syriac</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>syc_phonetic</name> + <_description>Syriac phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ku</name> + <_description>Kurdish, Latin Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_f</name> + <_description>Kurdish, (F)</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_alt</name> + <_description>Kurdish, Latin Alt-Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>tj</name> + <_shortDescription>Tjk</_shortDescription> + <_description>Tajikistan</_description> + <languageList><iso639Id>tgk</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>lk</name> + <_shortDescription>SrL</_shortDescription> + <_description>Sri Lanka</_description> + <languageList><iso639Id>sin</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>tam_unicode</name> + <_description>Tamil Unicode</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam_TAB</name> + <_description>Tamil TAB Typewriter</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>th</name> + <_shortDescription>Tha</_shortDescription> + <_description>Thailand</_description> + <languageList><iso639Id>tha</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>tis</name> + <_description>TIS-820.2538</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>pat</name> + <_description>Pattachote</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>tr</name> + <_shortDescription>Tur</_shortDescription> + <_description>Turkey</_description> + <languageList><iso639Id>tur</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>f</name> + <_description>(F)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>alt</name> + <_description>Alt-Q</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ku</name> + <_description>Kurdish, Latin Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_f</name> + <_description>Kurdish, (F)</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_alt</name> + <_description>Kurdish, Latin Alt-Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>intl</name> + <_description>International (with dead keys)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ua</name> + <_shortDescription>Ukr</_shortDescription> + <_description>Ukraine</_description> + <languageList><iso639Id>ukr</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>typewriter</name> + <_description>Typewriter</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>winkeys</name> + <_description>Winkeys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicode</name> + <_description>Unicode</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>rstu</name> +<!-- RSTU 2019-91 --> + <_description>Standard RSTU</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>rstu_ru</name> +<!-- RSTU 2019-91 --> + <_description>Standard RSTU on Russian layout</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>homophonic</name> + <_description>Homophonic</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>gb</name> + <_shortDescription>GBr</_shortDescription> + <_description>United Kingdom</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>intl</name> + <_description>International (with dead keys)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorakukp</name> + <_description>Dvorak (UK Punctuation)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>colemak</name> + <_description>Colemak</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>uz</name> + <_shortDescription>Uzb</_shortDescription> + <_description>Uzbekistan</_description> + <languageList><iso639Id>uzb</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>latin</name> + <_description>Latin</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>vn</name> + <_shortDescription>Vnm</_shortDescription> + <_description>Vietnam</_description> + <languageList><iso639Id>vie</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>kr</name> + <_shortDescription>Kor</_shortDescription> + <_description>Korea, Republic of</_description> + <languageList><iso639Id>kor</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>kr104</name> + <_description>101/104 key Compatible</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>nec_vndr/jp</name> + <_shortDescription>Jpn</_shortDescription> + <_description>Japan (PC-98xx Series)</_description> + <countryList><iso3166Id>JP</iso3166Id></countryList> + <languageList><iso639Id>jpn</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>ie</name> + <_shortDescription>Irl</_shortDescription> + <_description>Ireland</_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>UnicodeExpert</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ogam</name> + <_description>Ogham</_description> + <!-- No ISO code in ISO639 --> + </configItem> + </variant> + <variant> + <configItem> + <name>ogam_is434</name> + <_description>Ogham IS434</_description> + <!-- No ISO code in ISO639 --> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>pk</name> + <_shortDescription>Pak</_shortDescription> + <_description>Pakistan</_description> + <languageList><iso639Id>urd</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>ara</name> + <_description>Arabic</_description> + <languageList><iso639Id>ara</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mv</name> + <_shortDescription>Mal</_shortDescription> + <_description>Maldives</_description> + <languageList><iso639Id>div</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>za</name> + <_shortDescription>Zar</_shortDescription> + <_description>South Africa</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + </layout> + <layout> + <configItem> + <name>epo</name> + <_shortDescription>Epo</_shortDescription> + <_description>Esperanto</_description> + <languageList><iso639Id>epo</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>legacy</name> + <_description>displaced semicolon and quote (obsolete)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>np</name> + <_shortDescription>Nep</_shortDescription> + <_description>Nepal</_description> + <languageList><iso639Id>nep</iso639Id></languageList> + </configItem> + </layout> + <layout> + <configItem> + <name>ng</name> + <_shortDescription>Nig</_shortDescription> + <_description>Nigeria</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>igbo</name> + <_description>Igbo</_description> + <languageList><iso639Id>ibo</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>yoruba</name> + <_description>Yoruba</_description> + <languageList><iso639Id>yor</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>hausa</name> + <_description>Hausa</_description> + <languageList><iso639Id>hau</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>et</name> + <_shortDescription>Eth</_shortDescription> + <_description>Ethiopia</_description> + <languageList><iso639Id>amh</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>braille</name> + <_shortDescription>Brl</_shortDescription> + <_description>Braille</_description> + </configItem> + <variantList> + <variant> + <configItem> + <name>left_hand</name> + <_description>Left hand</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>right_hand</name> + <_description>Right hand</_description> + </configItem> + </variant> + </variantList> + </layout> + </layoutList> + <optionList> + <group allowMultipleSelection="true"> + <!-- The key combination used to switch between groups --> + <configItem> + <name>grp</name> + <_description>Layout switching</_description> + </configItem> + <option> + <configItem> + <name>grp:switch</name> + <_description>R-Alt switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lswitch</name> + <_description>Left Alt key switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lwin_switch</name> + <_description>Left Win-key switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rwin_switch</name> + <_description>Right Win-key switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:win_switch</name> + <_description>Both Win-keys switch layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:caps_switch</name> + <_description>CapsLock key switches layout while pressed, Alt+CapsLock does the original capslock action.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rctrl_switch</name> + <_description>Right Ctrl key switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:toggle</name> + <_description>Right Alt key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lalt_toggle</name> + <_description>Left Alt key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:caps_toggle</name> + <_description>CapsLock key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:shift_caps_toggle</name> + <_description>Shift+CapsLock changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:shift_caps_switch</name> + <_description>CapsLock switch to first layout, Shift+CapsLock switch to last layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:alt_caps_toggle</name> + <_description>Alt+CapsLock changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:shifts_toggle</name> + <_description>Both Shift keys together change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:alts_toggle</name> + <_description>Both Alt keys together change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:ctrls_toggle</name> + <_description>Both Ctrl keys together change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:ctrl_shift_toggle</name> + <_description>Ctrl+Shift change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lctrl_lshift_toggle</name> + <_description>LCtrl+LShift change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:ctrl_alt_toggle</name> + <_description>Alt+Ctrl change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:alt_shift_toggle</name> + <_description>Alt+Shift change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:menu_toggle</name> + <_description>Menu key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lwin_toggle</name> + <_description>Left Win-key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rwin_toggle</name> + <_description>Right Win-key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lshift_toggle</name> + <_description>Left Shift key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rshift_toggle</name> + <_description>Right Shift key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lctrl_toggle</name> + <_description>Left Ctrl key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rctrl_toggle</name> + <_description>Right Ctrl key changes 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>Third level choosers</_description> + </configItem> + <option> + <configItem> + <name>lv3:switch</name> + <_description>Press Right Ctrl to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:menu_switch</name> + <_description>Press Menu key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:win_switch</name> + <_description>Press any of Win-keys to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:lwin_switch</name> + <_description>Press Left Win-key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:rwin_switch</name> + <_description>Press Right Win-key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:alt_switch</name> + <_description>Press any of Alt keys to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:lalt_switch</name> + <_description>Press Left Alt key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:ralt_switch</name> + <_description>Press Right Alt key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:ralt_switch_multikey</name> + <_description>Press Right Alt key to choose 3rd level, 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> + </group> + <group allowMultipleSelection="false"> + <!-- 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 CapsLock an additional Ctrl.</_description> + </configItem> + </option> + <option> + <configItem> + <name>ctrl:swapcaps</name> + <_description>Swap Ctrl and CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>ctrl:ctrl_ac</name> + <_description>Ctrl key at left of 'A'</_description> + </configItem> + </option> + <option> + <configItem> + <name>ctrl:ctrl_aa</name> + <_description>Ctrl key at bottom left</_description> + </configItem> + </option> + <option> + <configItem> + <name>ctrl:ctrl_ra</name> + <_description>Right Ctrl key works as Right Alt.</_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>NumLock LED shows alternative layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp_led:caps</name> + <_description>CapsLock LED shows alternative layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp_led:scroll</name> + <_description>ScrollLock LED shows alternative layout.</_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 keypad</_description> + </configItem> + </option> + <option> + <configItem> + <name>keypad:oss</name> + <_description>Keypad with unicode additions (arrows and math operators)</_description> + </configItem> + </option> + <option> + <configItem> + <name>keypad:future</name> + <_description>Keypad with 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 keypad</_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:phone_hex</name> + <_description>ATM/phone-style hexadecimal keypad</_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> + </group> + <group allowMultipleSelection="false"> + <!-- CapsLock tweaks. + "Internal" capitalization means capitalization using some internal tables. + Otherwise "as Shift" - means using next group. --> + <configItem> + <name>caps</name> + <_description>CapsLock key behavior</_description> + </configItem> + <option> + <configItem> + <name>caps:internal</name> + <_description>CapsLock uses internal capitalization. Shift "pauses" CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:internal_nocancel</name> + <_description>CapsLock uses internal capitalization. Shift doesn't affect CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:shift</name> + <_description>CapsLock acts as Shift with locking. Shift "pauses" CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:shift_nocancel</name> + <_description>CapsLock acts as Shift with locking. Shift doesn't affect CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:capslock</name> + <_description>CapsLock toggles normal capitalization of alphabetic characters.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:swapescape</name> + <_description>Swap ESC and CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:shiftlock</name> + <_description>CapsLock toggles Shift so all keys are affected.</_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 the Alt keys.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:ctrl_win</name> + <_description>Control is mapped to the Win-keys (and the usual Ctrl keys).</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:meta_win</name> + <_description>Meta is mapped to the Win-keys.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:left_meta_win</name> + <_description>Meta is mapped to the left Win-key.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:super_win</name> + <_description>Super is mapped to the Win-keys.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:hyper_win</name> + <_description>Hyper is mapped to the Win-keys.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:alt_super_win</name> + <_description>Alt is mapped to the right Win-key and Super to Menu.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:swap_lalt_lwin</name> + <_description>Left Alt is swapped with left Win-key.</_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 is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:lwin</name> + <_description>Left Win-key is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:rwin</name> + <_description>Right Win-key is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:menu</name> + <_description>Menu is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:rctrl</name> + <_description>Right Ctrl is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:caps</name> + <_description>Caps Lock is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:102</name> + <_description>Less-than/Greater-than is Compose.</_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 Mac.</_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>srvrkeys:none</name> + <_description>Special keys (Ctrl+Alt+<key>) handled in a server.</_description> + </configItem> + </option> + <option> + <configItem> + <name>apple:badmap</name> + <_description>Swap keycodes of two keys when Mac keyboards are misdetected by kernel.</_description> + </configItem> + </option> + <option> + <configItem> + <name>shift:breaks_caps</name> + <_description>Shift cancels CapsLock.</_description> + </configItem> + </option> + </group> + <group allowMultipleSelection="true"> + <!-- Special shortcuts for the Euro character --> + <configItem> + <name>eurosign</name> + <_description>Adding the EuroSign to certain keys</_description> + </configItem> + <option> + <configItem> + <name>eurosign:e</name> + <_description>Add the EuroSign to the E key.</_description> + </configItem> + </option> + <option> + <configItem> + <name>eurosign:2</name> + <_description>Add the EuroSign to the 2 key.</_description> + </configItem> + </option> + <option> + <configItem> + <name>eurosign:4</name> + <_description>Add the EuroSign to the 4 key.</_description> + </configItem> + </option> + <option> + <configItem> + <name>eurosign:5</name> + <_description>Add the EuroSign to the 5 key.</_description> + </configItem> + </option> + </group> + <group allowMultipleSelection="false"> + <!-- Let space output nobreakspace 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>Space key outputs usual space at any level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level2</name> + <_description>Space key outputs non-breakable space character at second level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level3</name> + <_description>Space key outputs non-breakable space character at third level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level3s</name> + <_description>Space key outputs non-breakable space character at third level, nothing at fourth level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level3n</name> + <_description>Space key outputs 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>Space key outputs non-breakable space character at fourth level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level4n</name> + <_description>Space key outputs 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>Space key outputs non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)</_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> + </optionList> +</xkbConfigRegistry> diff --git a/xorg-server/xkbdata.src/rules/compat/Makefile.am b/xorg-server/xkbdata.src/rules/compat/Makefile.am new file mode 100644 index 000000000..331265ae1 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/Makefile.am @@ -0,0 +1,56 @@ + +transform_files=layoutRename.lst variantRename.lst + +transform_scripts=ln_s.sh lnv_s.sh ml_s.sh mlv_s.sh ml1_s.sh ml1v_s.sh ml1v1_s.sh + +dist_parts=base.o_s.part + +scripts=base.l2_s.part base.l3_s.part base.l4_s.part \ +base.l2v2_s.part base.l3v3_s.part base.l4v4_s.part \ +base.ml_s.part base.ml1_s.part \ +base.mlv_s.part base.ml1v1_s.part \ +base.ml_s.part + +if USE_COMPAT_RULES + +noinst_SCRIPTS=$(scripts) $(dist_parts) + +else + +noinst_SCRIPTS= + +endif + +base.l2_s.part: ln_s.sh $(transform_files) + sh $< 2 + +base.l3_s.part: ln_s.sh $(transform_files) + sh $< 3 + +base.l4_s.part: ln_s.sh $(transform_files) + sh $< 4 + +base.l2v2_s.part: lnv_s.sh $(transform_files) + sh $< 2 + +base.l3v3_s.part: lnv_s.sh $(transform_files) + sh $< 3 + +base.l4v4_s.part: lnv_s.sh $(transform_files) + sh $< 4 + +base.ml_s.part: ml_s.sh $(transform_files) + sh $< + +base.ml1_s.part: ml1_s.sh $(transform_files) + sh $< + +base.mlv_s.part: mlv_s.sh $(transform_files) + sh $< + +base.ml1v1_s.part: ml1v1_s.sh $(transform_files) + sh $< + +EXTRA_DIST=base.lists.part $(transform_files) $(transform_scripts) $(dist_parts) + +CLEANFILES=$(scripts) diff --git a/xorg-server/xkbdata.src/rules/compat/Makefile.in b/xorg-server/xkbdata.src/rules/compat/Makefile.in new file mode 100644 index 000000000..10fa254b1 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/Makefile.in @@ -0,0 +1,377 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = rules/compat +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SCRIPTS = $(noinst_SCRIPTS) +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CREATE_RULES_SYMLINK_FALSE = @CREATE_RULES_SYMLINK_FALSE@ +CREATE_RULES_SYMLINK_TRUE = @CREATE_RULES_SYMLINK_TRUE@ +CREATE_XKBCOMP_SYMLINK_FALSE = @CREATE_XKBCOMP_SYMLINK_FALSE@ +CREATE_XKBCOMP_SYMLINK_TRUE = @CREATE_XKBCOMP_SYMLINK_TRUE@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_COMPAT_RULES_FALSE = @USE_COMPAT_RULES_FALSE@ +USE_COMPAT_RULES_TRUE = @USE_COMPAT_RULES_TRUE@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XKBCOMP = @XKBCOMP@ +ac_ct_CC = @ac_ct_CC@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +xkb_base = @xkb_base@ +xkb_rules_symlink = @xkb_rules_symlink@ +transform_files = layoutRename.lst variantRename.lst +transform_scripts = ln_s.sh lnv_s.sh ml_s.sh mlv_s.sh ml1_s.sh ml1v_s.sh ml1v1_s.sh +dist_parts = base.o_s.part +scripts = base.l2_s.part base.l3_s.part base.l4_s.part \ +base.l2v2_s.part base.l3v3_s.part base.l4v4_s.part \ +base.ml_s.part base.ml1_s.part \ +base.mlv_s.part base.ml1v1_s.part \ +base.ml_s.part + +@USE_COMPAT_RULES_FALSE@noinst_SCRIPTS = +@USE_COMPAT_RULES_TRUE@noinst_SCRIPTS = $(scripts) $(dist_parts) +EXTRA_DIST = base.lists.part $(transform_files) $(transform_scripts) $(dist_parts) +CLEANFILES = $(scripts) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu rules/compat/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu rules/compat/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(SCRIPTS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + + +base.l2_s.part: ln_s.sh $(transform_files) + sh $< 2 + +base.l3_s.part: ln_s.sh $(transform_files) + sh $< 3 + +base.l4_s.part: ln_s.sh $(transform_files) + sh $< 4 + +base.l2v2_s.part: lnv_s.sh $(transform_files) + sh $< 2 + +base.l3v3_s.part: lnv_s.sh $(transform_files) + sh $< 3 + +base.l4v4_s.part: lnv_s.sh $(transform_files) + sh $< 4 + +base.ml_s.part: ml_s.sh $(transform_files) + sh $< + +base.ml1_s.part: ml1_s.sh $(transform_files) + sh $< + +base.mlv_s.part: mlv_s.sh $(transform_files) + sh $< + +base.ml1v1_s.part: ml1v1_s.sh $(transform_files) + sh $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xorg-server/xkbdata.src/rules/compat/base.lists.part b/xorg-server/xkbdata.src/rules/compat/base.lists.part new file mode 100644 index 000000000..f1cf7ee22 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/base.lists.part @@ -0,0 +1,2 @@ + +! $dvoraklayouts = br ca de ee es fr gb no pl se us diff --git a/xorg-server/xkbdata.src/rules/compat/base.o_s.part b/xorg-server/xkbdata.src/rules/compat/base.o_s.part new file mode 100644 index 000000000..8f1e9e452 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/base.o_s.part @@ -0,0 +1 @@ + grp:shift_toggle = +group(shifts_toggle) diff --git a/xorg-server/xkbdata.src/rules/compat/layoutRename.lst b/xorg-server/xkbdata.src/rules/compat/layoutRename.lst new file mode 100644 index 000000000..cecda6d8a --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/layoutRename.lst @@ -0,0 +1,27 @@ +ar ara +ben in(ben) +bs ba +cs rs +cz_qwerty cz(qwerty) +dev in(deva) +dvorak us(dvorak) +dzdwi bt +el gr +en_US latin +guj in(guj) +gur in(guru) +iu ca(ike) +lo la +kan in(kan) +mi mao +ml in(mal) +ogham ie(ogam) +ori ie(ori) +sapmi no(smi) +sr srp +syr sy(syc) +tel in(tel) +tml in(tam) +yu srp +fr-latin9 fr(latin9) +us_intl us(alt-intl) diff --git a/xorg-server/xkbdata.src/rules/compat/ln_s.sh b/xorg-server/xkbdata.src/rules/compat/ln_s.sh new file mode 100644 index 000000000..00c2f593c --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/ln_s.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +variant=$1 + +INDIR=`dirname $0` +OUTFILE=base.l${variant}_s.part + +> $OUTFILE + +awk '{ + printf " %s = +%s%%(v['${variant}']):'${variant}'\n", $1, $2; +}' < $INDIR/layoutRename.lst >> $OUTFILE + +awk '{ + printf " %s(%s) = +%s(%s):'${variant}'\n", $1, $2, $3, $4; +}' < $INDIR/variantRename.lst >> $OUTFILE diff --git a/xorg-server/xkbdata.src/rules/compat/lnv_s.sh b/xorg-server/xkbdata.src/rules/compat/lnv_s.sh new file mode 100644 index 000000000..ae699f95b --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/lnv_s.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +variant=$1 + +INDIR=`dirname $0` +OUTFILE=base.l${variant}v${variant}_s.part + +> $OUTFILE + +awk '{ + printf " %s %s = +%s(%s):'${variant}'\n", $1, $2, $3, $4; +}' < $INDIR/variantRename.lst >> $OUTFILE diff --git a/xorg-server/xkbdata.src/rules/compat/ml1_s.sh b/xorg-server/xkbdata.src/rules/compat/ml1_s.sh new file mode 100644 index 000000000..210d1b655 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/ml1_s.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +INDIR=`dirname $0` +OUTFILE=base.ml1_s.part + +> $OUTFILE + +awk '{ + printf " * %s = pc+%s%%(v[1])\n", $1, $2; +}' < $INDIR/layoutRename.lst >> $OUTFILE + +awk '{ + printf " * %s(%s) = pc+%s(%s)\n", $1, $2, $3, $4; +}' < $INDIR/variantRename.lst >> $OUTFILE diff --git a/xorg-server/xkbdata.src/rules/compat/ml1v1_s.sh b/xorg-server/xkbdata.src/rules/compat/ml1v1_s.sh new file mode 100644 index 000000000..9edcb8e8c --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/ml1v1_s.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +INDIR=`dirname $0` +OUTFILE=base.ml1v1_s.part + +> $OUTFILE + +awk '{ + printf " * %s %s = pc+%s(%s)\n", $1, $2, $3, $4; +}' < $INDIR/variantRename.lst >> $OUTFILE diff --git a/xorg-server/xkbdata.src/rules/compat/ml1v_s.sh b/xorg-server/xkbdata.src/rules/compat/ml1v_s.sh new file mode 100644 index 000000000..02ae5726d --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/ml1v_s.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +INDIR=`dirname $0` +OUTFILE=base.ml1v_s.part + +> $OUTFILE + +awk '{ + printf " * %s %s = pc+%s(%s)\n", $1, $2, $3, $4; +}' < $INDIR/variantRename.lst >> $OUTFILE diff --git a/xorg-server/xkbdata.src/rules/compat/ml_s.sh b/xorg-server/xkbdata.src/rules/compat/ml_s.sh new file mode 100644 index 000000000..f35087380 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/ml_s.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +INDIR=`dirname $0` +OUTFILE=base.ml_s.part + +> $OUTFILE + +awk '{ + printf " * %s = pc+%s\n", $1, $2; +}' < $INDIR/layoutRename.lst >> $OUTFILE + +awk '{ + printf " * %s(%s) = pc+%s(%s)\n", $1, $2, $3, $4; +}' < $INDIR/variantRename.lst >> $OUTFILE diff --git a/xorg-server/xkbdata.src/rules/compat/mlv_s.sh b/xorg-server/xkbdata.src/rules/compat/mlv_s.sh new file mode 100644 index 000000000..ea644dcab --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/mlv_s.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +INDIR=`dirname $0` +OUTFILE=base.mlv_s.part + +> $OUTFILE + +awk '{ + printf " * %s %s = pc+%s(%s)\n", $1, $2, $3, $4; +}' < $INDIR/variantRename.lst >> $OUTFILE diff --git a/xorg-server/xkbdata.src/rules/compat/variantRename.lst b/xorg-server/xkbdata.src/rules/compat/variantRename.lst new file mode 100644 index 000000000..e6a99e9de --- /dev/null +++ b/xorg-server/xkbdata.src/rules/compat/variantRename.lst @@ -0,0 +1,47 @@ +ben basic in ben +ben probhat in ben_probhat +dev basic in deva +dvorak $dvoraklayouts %v dvorak +dvorak basic us dvorak +dvorak pl_basic pl dvorak +dvorak pl pl dvorak_quotes +dvorak pl_altquotes pl dvorak_altquotes +dzdwi basic bt basic +fi basic fi classic +ge azerty_tskapo fr geo +guj basic in guj +gur basic in guru +ie laptop ie basic +ie CloGaelachLaptop ie CloGaelach +il si1452 ie basic +iu basic ca ike +lo basic la basic +kan basic in kan +mal basic in mal +mal mlplusnum in mal +ogham basic ie ogam +ogham laptop ie ogam +ogham is434 ie ogam_is434 +ogham is434laptop ie ogam_is434 +ori basic in ori +ro de ro winkeys +ro us ro std +ro academic ro std +ro std_comma ro std +ro comma ro basic +ru os ru os_legacy +sapmi basic no smi +sapmi nodeadkeys no smi_nodeadkeys +sapmi sefi fi smi +sin phonetic-static in sin_phonetic +syr basic sy syc +syr phonetic sy syc_phonetic +tam INSCRIPT in tam +tam UNI in tam_unicode +tam TAB in tam_TAB +tam TSCII in tam_TSCII +tel basic in tel +yu basic srp latin +yu unicode srp latinunicode +yu yz srp latinyz +yu unicodeyz srp latinunicodeyz diff --git a/xorg-server/xkbdata.src/rules/evdev b/xorg-server/xkbdata.src/rules/evdev new file mode 100644 index 000000000..d58b15b1c --- /dev/null +++ b/xorg-server/xkbdata.src/rules/evdev @@ -0,0 +1,953 @@ +// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.sh FROM rules/*.part +// $Xorg: xfree86,v 1.3 2000/08/17 19:54:42 cpqbld Exp $ + +// +// Rules for resolving XKB components for use with XFree86 +// Copyright 1996 by Joseph Moss +// +// 2002 Modifier: Ivan Pascal The XFree86 Project +// $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.79 2004/01/09 00:16:01 dawes Exp $ +// + +// If you want non-latin layouts implicitly include the en_US layout +// uncomment lines below +//! $nonlatin = am ara ben bd bg bt by cs deva ge gh gr guj guru il \ +// in ir iku jp kan kh kr la lao lk mk mm mn mv mal ori pk \ +// ru scc sy syr tel th tj tam ua uz + +// PC models +! $pcmodels = pc101 pc102 pc104 pc105 + +// Microsoft models (using MS geometry) +! $msmodels = microsoft microsoft7000 microsoftpro microsoftprousb microsoftprose + +// PC geometries - they have special geometry but symbols are mostly pc105 +! $pcgeometries = abnt2 latitude jp106 kr106 + +// Layouts that provide further specializations for the OLPC +! $olpclayouts = af am ara br ca es et it kh kz in mn np ru th tr us + +! $macbooks = macbook78 macbook79 +! $maclaptop = ibook powerbook macbook78 macbook79 +! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79 + +! $macvendorlayouts = ch de dk es fi fr gb is it latam nl no pt se us + +! $azerty = be fr +! $qwertz = al cz de hr hu ro si sk + +! $inetkbds = a4techKB21 a4techKBS8 a4_rfkb23 \ + acer_c300 acer_ferrari4k acer_laptop \ + acpi airkey \ + apple armada asus_laptop azonaRF2300 \ + benqx brother \ + btc5113rf btc5126t btc6301urf btc9000 btc9000a btc9001ah btc5090 btc9019u \ + cherryblue cherrybluea cherryblueb cherrycyboard \ + chicony chicony0108 chicony9885 \ + compaqeak8 compaqik7 compaqik13 compaqik18 \ + cymotionlinux \ + dell dellm65 inspiron precision_m dellusbmm dtk2000 \ + emachines ennyah_dkb1008 evdev fscaa1667g \ + genius geniuscomfy geniuscomfy2 geniuskb19e \ + gyration honeywell_euroboard \ + hp2501 hp2505 hp5xx hp500fa hp5181 hp5185 \ + hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx \ + ibm_spacesaver ipaq inspiron intel latitude \ + logiaccess logicda logicink \ + logiex110 logiclx300 \ + logiinkse logiinkseusb logiitc logiik \ + logitech_base itouch logiultrax \ + logitech_g15 \ + logidinovo logidinovoedge \ + microsoft7000 microsoftinet microsoftpro microsoftprousb microsoftprooem microsoftprose \ + microsoftoffice microsoftmult \ + mx1998 mx2500 mx2750 \ + oretec \ + presario propeller \ + qtronix \ + rapidaccess rapidaccess2 rapidaccess2a thinkpad thinkpad60 \ + samsung4500 samsung4510 \ + scorpius silvercrest \ + sk1300 sk2500 sk6200 sk7100 sp_inet \ + sven sven303 symplon \ + toshiba_s3000 trust trustda \ + yahoo + +// all layouts with 3rd and 4th groups +! $threelevellayouts = al az \ + be br bt \ + ca ch cs cz \ + de dk \ + ee es \ + fi fo fr \ + gb gr \ + hu \ + ie ir is it \ + kg \ + latam \ + lk lt \ + mn mt \ + nl no \ + pl pt \ + ro \ + se sk \ + tr \ + us \ + vn \ + za + + +! $dvoraklayouts = br ca de ee es fr gb no pl se us + +! model = keycodes + pc98 = evdev(pc98) + abnt2 = evdev(abnt2) + jp106 = evdev(jp106) + * = evdev + +! layout[1] = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! layout = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! option = keycodes + apple:badmap = +macintosh(badmap) + apple:goodmap = +macintosh(goodmap) + +! model layout = geometry + thinkpad us = thinkpad(us) + +! model = geometry + microsoftelite = microsoft(elite) + $msmodels = microsoft(natural) + dell101 = dell(dell101) + dellm65 = dell(dellm65) + flexpro = keytronic(FlexPro) + hp6000 = hp(omnibook) + omnikey101 = northgate(omnikey101) + $pcmodels = pc(%m) + $pcgeometries = pc(%m) + everex = everex(STEPnote) + thinkpad = thinkpad(intl) + thinkpad60 = thinkpad(60) + thinkpadz60 = thinkpad(60) + winbook = winbook(XP5) + pc98 = nec(pc98) + $macbooks = macintosh(%m) + $macs = macintosh(macintosh) + hhk = hhk(basic) + kinesis = kinesis(model100) + * = pc(pc104) + +! model layout variant = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * il si1452 = pc+ie(basic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + classmate us intl = pc+us(classmate-intl) + classmate us alt-intl = pc+us(classmate-alt-intl) + classmate us altgr-intl = pc+us(classmate-altgr-intl) + +! model layout = symbols + * ar = pc+ara + * ben = pc+in(ben) + * bs = pc+ba + * cs = pc+rs + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) + * dzdwi = pc+bt + * el = pc+gr + * en_US = pc+latin + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) + * lo = pc+la + * kan = pc+in(kan) + * mi = pc+mao + * ml = pc+in(mal) + * ogham = pc+ie(ogam) + * ori = pc+ie(ori) + * sapmi = pc+no(smi) + * sr = pc+srp + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) + * yu = pc+srp + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * il(si1452) = pc+ie(basic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + 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) + sun4 $nonlatin = latin+sun_vndr/us(sun4)+%l%(v):2 + sun4 * = latin+sun_vndr/us(sun4)+%l%(v) + sun5 $nonlatin = latin+sun_vndr/us(sun5)+%l%(v):2 + sun5 * = latin+sun_vndr/us(sun5)+%l%(v) + sun6 us = sun_vndr/us(type6) + sun6 en_US = sun_vndr/us(type6)+iso9995-3(basic) + sun6 * = 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) + $macs en_US = pc+macintosh_vndr/us(extended) + $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) + olpc $olpclayouts = olpc+%l%(m) + olpc * = olpc+%l%(v) + thinkpad br = pc+br(thinkpad) + * $nonlatin = pc+us+%l%(v):2 + * * = pc+%l%(v) + +! model layout[1] = symbols + * ar = pc+ara%(v[1]) + * ben = pc+in(ben)%(v[1]) + * bs = pc+ba%(v[1]) + * cs = pc+rs%(v[1]) + * cz_qwerty = pc+cz(qwerty)%(v[1]) + * dev = pc+in(deva)%(v[1]) + * dvorak = pc+us(dvorak)%(v[1]) + * dzdwi = pc+bt%(v[1]) + * el = pc+gr%(v[1]) + * en_US = pc+latin%(v[1]) + * guj = pc+in(guj)%(v[1]) + * gur = pc+in(guru)%(v[1]) + * iu = pc+ca(ike)%(v[1]) + * lo = pc+la%(v[1]) + * kan = pc+in(kan)%(v[1]) + * mi = pc+mao%(v[1]) + * ml = pc+in(mal)%(v[1]) + * ogham = pc+ie(ogam)%(v[1]) + * ori = pc+ie(ori)%(v[1]) + * sapmi = pc+no(smi)%(v[1]) + * sr = pc+srp%(v[1]) + * syr = pc+sy(syc)%(v[1]) + * tel = pc+in(tel)%(v[1]) + * tml = pc+in(tam)%(v[1]) + * yu = pc+srp%(v[1]) + * fr-latin9 = pc+fr(latin9)%(v[1]) + * us_intl = pc+us(alt-intl)%(v[1]) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * il(si1452) = pc+ie(basic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1]) + amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1]) + sun4 * = latin+sun_vndr/us(sun4)+%l[1]%(v[1]) + sun5 * = latin+sun_vndr/us(sun5)+%l[1]%(v[1]) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1]) + macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1]) + $macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1]) + thinkpad br = pc+%l[1](thinkpad) + * * = pc+%l[1]%(v[1]) + +! model layout[1] variant[1] = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * il si1452 = pc+ie(basic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + +! layout[2] = symbols + ar = +ara%(v[2]):2 + ben = +in(ben)%(v[2]):2 + bs = +ba%(v[2]):2 + cs = +rs%(v[2]):2 + cz_qwerty = +cz(qwerty)%(v[2]):2 + dev = +in(deva)%(v[2]):2 + dvorak = +us(dvorak)%(v[2]):2 + dzdwi = +bt%(v[2]):2 + el = +gr%(v[2]):2 + en_US = +latin%(v[2]):2 + guj = +in(guj)%(v[2]):2 + gur = +in(guru)%(v[2]):2 + iu = +ca(ike)%(v[2]):2 + lo = +la%(v[2]):2 + kan = +in(kan)%(v[2]):2 + mi = +mao%(v[2]):2 + ml = +in(mal)%(v[2]):2 + ogham = +ie(ogam)%(v[2]):2 + ori = +ie(ori)%(v[2]):2 + sapmi = +no(smi)%(v[2]):2 + sr = +srp%(v[2]):2 + syr = +sy(syc)%(v[2]):2 + tel = +in(tel)%(v[2]):2 + tml = +in(tam)%(v[2]):2 + yu = +srp%(v[2]):2 + fr-latin9 = +fr(latin9)%(v[2]):2 + us_intl = +us(alt-intl)%(v[2]):2 + ben(basic) = +in(ben):2 + ben(probhat) = +in(ben_probhat):2 + dev(basic) = +in(deva):2 + dvorak($dvoraklayouts) = +%v(dvorak):2 + dvorak(basic) = +us(dvorak):2 + dvorak(pl_basic) = +pl(dvorak):2 + dvorak(pl) = +pl(dvorak_quotes):2 + dvorak(pl_altquotes) = +pl(dvorak_altquotes):2 + dzdwi(basic) = +bt(basic):2 + fi(basic) = +fi(classic):2 + ge(azerty_tskapo) = +fr(geo):2 + guj(basic) = +in(guj):2 + gur(basic) = +in(guru):2 + ie(laptop) = +ie(basic):2 + ie(CloGaelachLaptop) = +ie(CloGaelach):2 + il(si1452) = +ie(basic):2 + iu(basic) = +ca(ike):2 + lo(basic) = +la(basic):2 + kan(basic) = +in(kan):2 + mal(basic) = +in(mal):2 + mal(mlplusnum) = +in(mal):2 + ogham(basic) = +ie(ogam):2 + ogham(laptop) = +ie(ogam):2 + ogham(is434) = +ie(ogam_is434):2 + ogham(is434laptop) = +ie(ogam_is434):2 + ori(basic) = +in(ori):2 + ro(de) = +ro(winkeys):2 + ro(us) = +ro(std):2 + ro(academic) = +ro(std):2 + ro(std_comma) = +ro(std):2 + ro(comma) = +ro(basic):2 + ru(os) = +ru(os_legacy):2 + sapmi(basic) = +no(smi):2 + sapmi(nodeadkeys) = +no(smi_nodeadkeys):2 + sapmi(sefi) = +fi(smi):2 + sin(phonetic-static) = +in(sin_phonetic):2 + syr(basic) = +sy(syc):2 + syr(phonetic) = +sy(syc_phonetic):2 + tam(INSCRIPT) = +in(tam):2 + tam(UNI) = +in(tam_unicode):2 + tam(TAB) = +in(tam_TAB):2 + tam(TSCII) = +in(tam_TSCII):2 + tel(basic) = +in(tel):2 + yu(basic) = +srp(latin):2 + yu(unicode) = +srp(latinunicode):2 + yu(yz) = +srp(latinyz):2 + yu(unicodeyz) = +srp(latinunicodeyz):2 + * = +%l[2]%(v[2]):2 + +! layout[3] = symbols + ar = +ara%(v[3]):3 + ben = +in(ben)%(v[3]):3 + bs = +ba%(v[3]):3 + cs = +rs%(v[3]):3 + cz_qwerty = +cz(qwerty)%(v[3]):3 + dev = +in(deva)%(v[3]):3 + dvorak = +us(dvorak)%(v[3]):3 + dzdwi = +bt%(v[3]):3 + el = +gr%(v[3]):3 + en_US = +latin%(v[3]):3 + guj = +in(guj)%(v[3]):3 + gur = +in(guru)%(v[3]):3 + iu = +ca(ike)%(v[3]):3 + lo = +la%(v[3]):3 + kan = +in(kan)%(v[3]):3 + mi = +mao%(v[3]):3 + ml = +in(mal)%(v[3]):3 + ogham = +ie(ogam)%(v[3]):3 + ori = +ie(ori)%(v[3]):3 + sapmi = +no(smi)%(v[3]):3 + sr = +srp%(v[3]):3 + syr = +sy(syc)%(v[3]):3 + tel = +in(tel)%(v[3]):3 + tml = +in(tam)%(v[3]):3 + yu = +srp%(v[3]):3 + fr-latin9 = +fr(latin9)%(v[3]):3 + us_intl = +us(alt-intl)%(v[3]):3 + ben(basic) = +in(ben):3 + ben(probhat) = +in(ben_probhat):3 + dev(basic) = +in(deva):3 + dvorak($dvoraklayouts) = +%v(dvorak):3 + dvorak(basic) = +us(dvorak):3 + dvorak(pl_basic) = +pl(dvorak):3 + dvorak(pl) = +pl(dvorak_quotes):3 + dvorak(pl_altquotes) = +pl(dvorak_altquotes):3 + dzdwi(basic) = +bt(basic):3 + fi(basic) = +fi(classic):3 + ge(azerty_tskapo) = +fr(geo):3 + guj(basic) = +in(guj):3 + gur(basic) = +in(guru):3 + ie(laptop) = +ie(basic):3 + ie(CloGaelachLaptop) = +ie(CloGaelach):3 + il(si1452) = +ie(basic):3 + iu(basic) = +ca(ike):3 + lo(basic) = +la(basic):3 + kan(basic) = +in(kan):3 + mal(basic) = +in(mal):3 + mal(mlplusnum) = +in(mal):3 + ogham(basic) = +ie(ogam):3 + ogham(laptop) = +ie(ogam):3 + ogham(is434) = +ie(ogam_is434):3 + ogham(is434laptop) = +ie(ogam_is434):3 + ori(basic) = +in(ori):3 + ro(de) = +ro(winkeys):3 + ro(us) = +ro(std):3 + ro(academic) = +ro(std):3 + ro(std_comma) = +ro(std):3 + ro(comma) = +ro(basic):3 + ru(os) = +ru(os_legacy):3 + sapmi(basic) = +no(smi):3 + sapmi(nodeadkeys) = +no(smi_nodeadkeys):3 + sapmi(sefi) = +fi(smi):3 + sin(phonetic-static) = +in(sin_phonetic):3 + syr(basic) = +sy(syc):3 + syr(phonetic) = +sy(syc_phonetic):3 + tam(INSCRIPT) = +in(tam):3 + tam(UNI) = +in(tam_unicode):3 + tam(TAB) = +in(tam_TAB):3 + tam(TSCII) = +in(tam_TSCII):3 + tel(basic) = +in(tel):3 + yu(basic) = +srp(latin):3 + yu(unicode) = +srp(latinunicode):3 + yu(yz) = +srp(latinyz):3 + yu(unicodeyz) = +srp(latinunicodeyz):3 + * = +%l[3]%(v[3]):3 + +! layout[4] = symbols + ar = +ara%(v[4]):4 + ben = +in(ben)%(v[4]):4 + bs = +ba%(v[4]):4 + cs = +rs%(v[4]):4 + cz_qwerty = +cz(qwerty)%(v[4]):4 + dev = +in(deva)%(v[4]):4 + dvorak = +us(dvorak)%(v[4]):4 + dzdwi = +bt%(v[4]):4 + el = +gr%(v[4]):4 + en_US = +latin%(v[4]):4 + guj = +in(guj)%(v[4]):4 + gur = +in(guru)%(v[4]):4 + iu = +ca(ike)%(v[4]):4 + lo = +la%(v[4]):4 + kan = +in(kan)%(v[4]):4 + mi = +mao%(v[4]):4 + ml = +in(mal)%(v[4]):4 + ogham = +ie(ogam)%(v[4]):4 + ori = +ie(ori)%(v[4]):4 + sapmi = +no(smi)%(v[4]):4 + sr = +srp%(v[4]):4 + syr = +sy(syc)%(v[4]):4 + tel = +in(tel)%(v[4]):4 + tml = +in(tam)%(v[4]):4 + yu = +srp%(v[4]):4 + fr-latin9 = +fr(latin9)%(v[4]):4 + us_intl = +us(alt-intl)%(v[4]):4 + ben(basic) = +in(ben):4 + ben(probhat) = +in(ben_probhat):4 + dev(basic) = +in(deva):4 + dvorak($dvoraklayouts) = +%v(dvorak):4 + dvorak(basic) = +us(dvorak):4 + dvorak(pl_basic) = +pl(dvorak):4 + dvorak(pl) = +pl(dvorak_quotes):4 + dvorak(pl_altquotes) = +pl(dvorak_altquotes):4 + dzdwi(basic) = +bt(basic):4 + fi(basic) = +fi(classic):4 + ge(azerty_tskapo) = +fr(geo):4 + guj(basic) = +in(guj):4 + gur(basic) = +in(guru):4 + ie(laptop) = +ie(basic):4 + ie(CloGaelachLaptop) = +ie(CloGaelach):4 + il(si1452) = +ie(basic):4 + iu(basic) = +ca(ike):4 + lo(basic) = +la(basic):4 + kan(basic) = +in(kan):4 + mal(basic) = +in(mal):4 + mal(mlplusnum) = +in(mal):4 + ogham(basic) = +ie(ogam):4 + ogham(laptop) = +ie(ogam):4 + ogham(is434) = +ie(ogam_is434):4 + ogham(is434laptop) = +ie(ogam_is434):4 + ori(basic) = +in(ori):4 + ro(de) = +ro(winkeys):4 + ro(us) = +ro(std):4 + ro(academic) = +ro(std):4 + ro(std_comma) = +ro(std):4 + ro(comma) = +ro(basic):4 + ru(os) = +ru(os_legacy):4 + sapmi(basic) = +no(smi):4 + sapmi(nodeadkeys) = +no(smi_nodeadkeys):4 + sapmi(sefi) = +fi(smi):4 + sin(phonetic-static) = +in(sin_phonetic):4 + syr(basic) = +sy(syc):4 + syr(phonetic) = +sy(syc_phonetic):4 + tam(INSCRIPT) = +in(tam):4 + tam(UNI) = +in(tam_unicode):4 + tam(TAB) = +in(tam_TAB):4 + tam(TSCII) = +in(tam_TSCII):4 + tel(basic) = +in(tel):4 + yu(basic) = +srp(latin):4 + yu(unicode) = +srp(latinunicode):4 + yu(yz) = +srp(latinyz):4 + yu(unicodeyz) = +srp(latinunicodeyz):4 + * = +%l[4]%(v[4]):4 + +! layout[2] variant[2] = symbols + ben basic = +in(ben):2 + ben probhat = +in(ben_probhat):2 + dev basic = +in(deva):2 + dvorak $dvoraklayouts = +%v(dvorak):2 + dvorak basic = +us(dvorak):2 + dvorak pl_basic = +pl(dvorak):2 + dvorak pl = +pl(dvorak_quotes):2 + dvorak pl_altquotes = +pl(dvorak_altquotes):2 + dzdwi basic = +bt(basic):2 + fi basic = +fi(classic):2 + ge azerty_tskapo = +fr(geo):2 + guj basic = +in(guj):2 + gur basic = +in(guru):2 + ie laptop = +ie(basic):2 + ie CloGaelachLaptop = +ie(CloGaelach):2 + il si1452 = +ie(basic):2 + iu basic = +ca(ike):2 + lo basic = +la(basic):2 + kan basic = +in(kan):2 + mal basic = +in(mal):2 + mal mlplusnum = +in(mal):2 + ogham basic = +ie(ogam):2 + ogham laptop = +ie(ogam):2 + ogham is434 = +ie(ogam_is434):2 + ogham is434laptop = +ie(ogam_is434):2 + ori basic = +in(ori):2 + ro de = +ro(winkeys):2 + ro us = +ro(std):2 + ro academic = +ro(std):2 + ro std_comma = +ro(std):2 + ro comma = +ro(basic):2 + ru os = +ru(os_legacy):2 + sapmi basic = +no(smi):2 + sapmi nodeadkeys = +no(smi_nodeadkeys):2 + sapmi sefi = +fi(smi):2 + sin phonetic-static = +in(sin_phonetic):2 + syr basic = +sy(syc):2 + syr phonetic = +sy(syc_phonetic):2 + tam INSCRIPT = +in(tam):2 + tam UNI = +in(tam_unicode):2 + tam TAB = +in(tam_TAB):2 + tam TSCII = +in(tam_TSCII):2 + tel basic = +in(tel):2 + yu basic = +srp(latin):2 + yu unicode = +srp(latinunicode):2 + yu yz = +srp(latinyz):2 + yu unicodeyz = +srp(latinunicodeyz):2 + +! layout[3] variant[3] = symbols + ben basic = +in(ben):3 + ben probhat = +in(ben_probhat):3 + dev basic = +in(deva):3 + dvorak $dvoraklayouts = +%v(dvorak):3 + dvorak basic = +us(dvorak):3 + dvorak pl_basic = +pl(dvorak):3 + dvorak pl = +pl(dvorak_quotes):3 + dvorak pl_altquotes = +pl(dvorak_altquotes):3 + dzdwi basic = +bt(basic):3 + fi basic = +fi(classic):3 + ge azerty_tskapo = +fr(geo):3 + guj basic = +in(guj):3 + gur basic = +in(guru):3 + ie laptop = +ie(basic):3 + ie CloGaelachLaptop = +ie(CloGaelach):3 + il si1452 = +ie(basic):3 + iu basic = +ca(ike):3 + lo basic = +la(basic):3 + kan basic = +in(kan):3 + mal basic = +in(mal):3 + mal mlplusnum = +in(mal):3 + ogham basic = +ie(ogam):3 + ogham laptop = +ie(ogam):3 + ogham is434 = +ie(ogam_is434):3 + ogham is434laptop = +ie(ogam_is434):3 + ori basic = +in(ori):3 + ro de = +ro(winkeys):3 + ro us = +ro(std):3 + ro academic = +ro(std):3 + ro std_comma = +ro(std):3 + ro comma = +ro(basic):3 + ru os = +ru(os_legacy):3 + sapmi basic = +no(smi):3 + sapmi nodeadkeys = +no(smi_nodeadkeys):3 + sapmi sefi = +fi(smi):3 + sin phonetic-static = +in(sin_phonetic):3 + syr basic = +sy(syc):3 + syr phonetic = +sy(syc_phonetic):3 + tam INSCRIPT = +in(tam):3 + tam UNI = +in(tam_unicode):3 + tam TAB = +in(tam_TAB):3 + tam TSCII = +in(tam_TSCII):3 + tel basic = +in(tel):3 + yu basic = +srp(latin):3 + yu unicode = +srp(latinunicode):3 + yu yz = +srp(latinyz):3 + yu unicodeyz = +srp(latinunicodeyz):3 + +! layout[4] variant[4] = symbols + ben basic = +in(ben):4 + ben probhat = +in(ben_probhat):4 + dev basic = +in(deva):4 + dvorak $dvoraklayouts = +%v(dvorak):4 + dvorak basic = +us(dvorak):4 + dvorak pl_basic = +pl(dvorak):4 + dvorak pl = +pl(dvorak_quotes):4 + dvorak pl_altquotes = +pl(dvorak_altquotes):4 + dzdwi basic = +bt(basic):4 + fi basic = +fi(classic):4 + ge azerty_tskapo = +fr(geo):4 + guj basic = +in(guj):4 + gur basic = +in(guru):4 + ie laptop = +ie(basic):4 + ie CloGaelachLaptop = +ie(CloGaelach):4 + il si1452 = +ie(basic):4 + iu basic = +ca(ike):4 + lo basic = +la(basic):4 + kan basic = +in(kan):4 + mal basic = +in(mal):4 + mal mlplusnum = +in(mal):4 + ogham basic = +ie(ogam):4 + ogham laptop = +ie(ogam):4 + ogham is434 = +ie(ogam_is434):4 + ogham is434laptop = +ie(ogam_is434):4 + ori basic = +in(ori):4 + ro de = +ro(winkeys):4 + ro us = +ro(std):4 + ro academic = +ro(std):4 + ro std_comma = +ro(std):4 + ro comma = +ro(basic):4 + ru os = +ru(os_legacy):4 + sapmi basic = +no(smi):4 + sapmi nodeadkeys = +no(smi_nodeadkeys):4 + sapmi sefi = +fi(smi):4 + sin phonetic-static = +in(sin_phonetic):4 + syr basic = +sy(syc):4 + syr phonetic = +sy(syc_phonetic):4 + tam INSCRIPT = +in(tam):4 + tam UNI = +in(tam_unicode):4 + tam TAB = +in(tam_TAB):4 + tam TSCII = +in(tam_TSCII):4 + tel basic = +in(tel):4 + yu basic = +srp(latin):4 + yu unicode = +srp(latinunicode):4 + yu yz = +srp(latinyz):4 + yu unicodeyz = +srp(latinunicodeyz):4 + +! model = symbols + * = +inet(evdev) + +! model layout = compat + pc98 nec_vndr/jp = pc98(basic) + * jp = complete+japan + olpc * = olpc + * * = complete + +! model layout[1] = compat + * * = complete + +! model = types + $macs = complete+numpad(mac) + * = complete + +! layout option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle) + +! layout[1] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1 + +! layout[2] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2 + +! layout[3] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3 + +! layout[4] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4 + +! option = symbols + grp:shift_toggle = +group(shifts_toggle) + altwin:menu = +altwin(menu) + altwin:meta_alt = +altwin(meta_alt) + altwin:ctrl_win = +altwin(ctrl_win) + altwin:meta_win = +altwin(meta_win) + altwin:left_meta_win = +altwin(left_meta_win) + altwin:super_win = +altwin(super_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: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:alt_caps_toggle = +group(alt_caps_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + grp:alt_shift_toggle = +group(alt_shift_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) + 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) + caps:capslock = +capslock(capslock) + caps:shiftlock = +capslock(shiftlock) + caps:swapescape = +capslock(swapescape) + ctrl:nocaps = +ctrl(nocaps) + ctrl:swapcaps = +ctrl(swapcaps) + ctrl:ctrl_ac = +ctrl(ctrl_ac) + ctrl:ctrl_aa = +ctrl(ctrl_aa) + ctrl:ctrl_ra = +ctrl(ctrl_ra) + compose:ralt = +compose(ralt) + compose:lwin = +compose(lwin) + compose:rwin = +compose(rwin) + compose:menu = +compose(menu) + compose:rctrl = +compose(rctrl) + compose:caps = +compose(caps) + compose:102 = +compose(102) + srvrkeys:none = +srvr_ctrl(no_srvr_keys) + eurosign:e = +eurosign(e) + eurosign:2 = +eurosign(2) + eurosign:4 = +eurosign(4) + eurosign:5 = +eurosign(5) + 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:phone_hex = +keypad(phone_hex) + 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) + shift:breaks_caps = +shift(breaks_caps) + + +! option = compat + grp_led:num = +lednum(group_lock) + grp_led:caps = +ledcaps(group_lock) + grp_led:scroll = +ledscroll(group_lock) + grp:caps_toggle = +ledcaps(group_lock) + japan:kana_lock = +japan(kana_lock) + + +! option = types + caps:internal = +caps(internal) + caps:internal_nocancel = +caps(internal_nocancel) + caps:shift = +caps(shift) + caps:shift_nocancel = +caps(shift_nocancel) + numpad:pc = +numpad(pc) + numpad:mac = +numpad(mac) + numpad:microsoft = +numpad(microsoft) diff --git a/xorg-server/xkbdata.src/rules/evdev.lst b/xorg-server/xkbdata.src/rules/evdev.lst new file mode 100644 index 000000000..17742b8e6 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/evdev.lst @@ -0,0 +1,683 @@ +! model + pc101 Generic 101-key PC + pc102 Generic 102-key (Intl) PC + pc104 Generic 104-key PC + pc105 Generic 105-key (Intl) PC + dell101 Dell 101-key PC + latitude Dell Latitude series laptop + dellm65 Dell Precision M65 + everex Everex STEPnote + flexpro Keytronic FlexPro + microsoft Microsoft Natural + omnikey101 Northgate OmniKey 101 + winbook Winbook Model XP5 + jp106 Japanese 106-key + pc98 PC-98xx Series + a4techKB21 A4Tech KB-21 + a4techKBS8 A4Tech KBS-8 + a4_rfkb23 A4Tech Wireless Desktop RFKB-23 + abnt2 Brazilian ABNT2 + airkey Acer AirKey V + acpi ACPI Standard + azonaRF2300 Azona RF2300 wireless Internet Keyboard + scorpius Advance Scorpius KI + brother Brother Internet Keyboard + btc5113rf BTC 5113RF Multimedia + btc5126t BTC 5126T + btc6301urf BTC 6301URF + btc9000 BTC 9000 + btc9000a BTC 9000A + btc9001ah BTC 9001AH + btc5090 BTC 5090 + btc9019u BTC 9019U + cherryblue Cherry Blue Line CyBo@rd + cherryblueb Cherry CyMotion Master XPress + cherrybluea Cherry Blue Line CyBo@rd (alternate option) + cherrycyboard Cherry CyBo@rd USB-Hub + chicony Chicony Internet Keyboard + chicony0108 Chicony KU-0108 + chicony9885 Chicony KB-9885 + compaqeak8 Compaq Easy Access Keyboard + compaqik7 Compaq Internet Keyboard (7 keys) + compaqik13 Compaq Internet Keyboard (13 keys) + compaqik18 Compaq Internet Keyboard (18 keys) + cymotionlinux Cherry CyMotion Master Linux + armada Laptop/notebook Compaq (eg. Armada) Laptop Keyboard + presario Laptop/notebook Compaq (eg. Presario) Internet Keyboard + ipaq Compaq iPaq Keyboard + dell Dell + dellsk8125 Dell SK-8125 + dellsk8135 Dell SK-8135 + dellusbmm Dell USB Multimedia Keyboard + inspiron Dell Laptop/notebook Inspiron 6xxx/8xxx + precision_m Dell Laptop/notebook Precision M series + dexxa Dexxa Wireless Desktop Keyboard + diamond Diamond 9801 / 9802 series + dtk2000 DTK2000 + ennyah_dkb1008 Ennyah DKB-1008 + fscaa1667g Fujitsu-Siemens Computers AMILO A1667G laptop + genius Genius Comfy KB-16M / Genius MM Keyboard KWD-910 + geniuscomfy Genius Comfy KB-12e + geniuscomfy2 Genius Comfy KB-21e-Scroll + geniuskb19e Genius KB-19e NB + gyration Gyration + logitech_base Logitech Generic Keyboard + logitech_g15 Logitech G15 extra keys via G15daemon + hpi6 Hewlett-Packard Internet Keyboard + hp2501 Hewlett-Packard SK-2501 Multimedia Keyboard + hp2505 Hewlett-Packard SK-2505 Internet Keyboard + hpxe3gc Hewlett-Packard Omnibook XE3 GC + hpxe3gf Hewlett-Packard Omnibook XE3 GF + hpxt1000 Hewlett-Packard Omnibook XT1000 + hpzt11xx Hewlett-Packard Pavilion ZT11xx + hp500fa Hewlett-Packard Omnibook 500 FA + hp5xx Hewlett-Packard Omnibook 5xx + hp5181 Hewlett-Packard Internet Keyboard 5181 + hp5185 Hewlett-Packard Internet Keyboard 5185 + hpnx9020 Hewlett-Packard nx9020 + hp6000 Hewlett-Packard Omnibook 6000/6100 + honeywell_euroboard Honeywell Euroboard + rapidaccess IBM Rapid Access + rapidaccess2 IBM Rapid Access II + rapidaccess2a IBM Rapid Access II (alternate option) + thinkpad IBM ThinkPad 560Z/600/600E/A22E + thinkpadintl IBM ThinkPad 560Z/600/600E/A22E, Intl + thinkpad60 IBM ThinkPad R60/T60/R61/T61 + thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t + ibm_spacesaver IBM Space Saver + logiaccess Logitech Access Keyboard + logiclx300 Logitech Cordless Desktop LX-300 + logii350 Logitech Internet 350 Keyboard + logimel Logitech Media Elite Keyboard + logicd Logitech Cordless Desktop + logicd_it Logitech Cordless Desktop iTouch + logicd_nav Logitech Cordless Desktop Navigator + logicd_opt Logitech Cordless Desktop Optical + logicda Logitech Cordless Desktop (alternate option) + logicdpa2 Logitech Cordless Desktop Pro (alternate option2) + logicfn Logitech Cordless Freedom/Desktop Navigator + logicdn Logitech Cordless Desktop Navigator + logiitc Logitech iTouch Cordless Keyboard (model Y-RB6) + logiik Logitech Internet Keyboard + itouch Logitech iTouch + logicink Logitech Internet Navigator Keyboard + logiex110 Logitech Cordless Desktop EX110 + logiinkse Logitech iTouch Internet Navigator Keyboard SE + logiinkseusb Logitech iTouch Internet Navigator Keyboard SE (USB) + logiultrax Logitech Ultra-X Keyboard + logiultraxc Logitech Ultra-X Cordless Media Desktop Keyboard + logidinovo Logitech diNovo Keyboard + logidinovoedge Logitech diNovo Edge Keyboard + mx1998 Memorex MX1998 + mx2500 Memorex MX2500 EZ-Access Keyboard + mx2750 Memorex MX2750 + microsoft7000 Microsoft Natural Wireless Ergonomic Keyboard 7000 + microsoftinet Microsoft Internet Keyboard + microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro + microsoftprousb Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro + microsoftprooem Microsoft Natural Keyboard Pro OEM + vsonku306 ViewSonic KU-306 Internet Keyboard + microsoftprose Microsoft Internet Keyboard Pro, Swedish + microsoftoffice Microsoft Office Keyboard + microsoftmult Microsoft Wireless Multimedia Keyboard 1.0A + microsoftelite Microsoft Natural Keyboard Elite + oretec Ortek MCK-800 MM/Internet keyboard + propeller Propeller Voyager (KTEZ-1000) + qtronix QTronix Scorpius 98N+ + samsung4500 Samsung SDM 4500P + samsung4510 Samsung SDM 4510P + sk1300 SK-1300 + sk2500 SK-2500 + sk6200 SK-6200 + sk7100 SK-7100 + sp_inet Super Power Multimedia Keyboard + sven SVEN Ergonomic 2500 + sven303 SVEN Slim 303 + symplon Symplon PaceBook (tablet PC) + toshiba_s3000 Toshiba Satellite S3000 + trust Trust Wireless Keyboard Classic + trustda Trust Direct Access Keyboard + yahoo Yahoo! Internet Keyboard + macbook78 MacBook/MacBook Pro + macbook79 MacBook/MacBook Pro (Intl) + macintosh Macintosh + macintosh_old Macintosh Old + macintosh_hhk Happy Hacking Keyboard for Mac + acer_c300 Acer C300 + acer_ferrari4k Acer Ferrari 4000 + acer_laptop Acer Laptop + asus_laptop Asus Laptop + apple Apple + apple_laptop Apple Laptop + silvercrest SILVERCREST Multimedia Wireless Keyboard + emachines Laptop/notebook eMachines m68xx + kr106 Korean 106-key + evdev Evdev-managed keyboard + benqx BenQ X-Touch + benqx730 BenQ X-Touch 730 + benqx800 BenQ X-Touch 800 + hhk Happy Hacking Keyboard + classmate Classmate PC + olpc OLPC + sun6 Sun Type 5/6 + +! layout + us USA + ad Andorra + af Afghanistan + ara Arabic + al Albania + am Armenia + az Azerbaijan + by Belarus + be Belgium + bd Bangladesh + in India + ba Bosnia and Herzegovina + br Brazil + bg Bulgaria + ma Morocco + mm Myanmar + ca Canada + cd Congo, Democratic Republic of the + cn China + hr Croatia + cz Czechia + dk Denmark + nl Netherlands + bt Bhutan + ee Estonia + ir Iran + iq Iraq + fo Faroe Islands + fi Finland + fr France + gh Ghana + gn Guinea + ge Georgia + de Germany + gr Greece + hu Hungary + is Iceland + il Israel + it Italy + jp Japan + kg Kyrgyzstan + kh Cambodia + kz Kazakhstan + la Laos + latam Latin American + lt Lithuania + lv Latvia + mao Maori + me Montenegro + mk Macedonia + mt Malta + mn Mongolia + no Norway + pl Poland + pt Portugal + ro Romania + ru Russia + rs Serbia + si Slovenia + sk Slovakia + es Spain + se Sweden + ch Switzerland + sy Syria + tj Tajikistan + lk Sri Lanka + th Thailand + tr Turkey + ua Ukraine + gb United Kingdom + uz Uzbekistan + vn Vietnam + kr Korea, Republic of + nec_vndr/jp Japan (PC-98xx Series) + ie Ireland + pk Pakistan + mv Maldives + za South Africa + epo Esperanto + np Nepal + ng Nigeria + et Ethiopia + braille Braille + +! variant + chr us: Cherokee + euro us: With EuroSign on 5 + intl us: International (with dead keys) + alt-intl us: Alternative international (former us_intl) + colemak us: Colemak + dvorak us: Dvorak + dvorak-intl us: Dvorak international + dvorak-l us: Left handed Dvorak + dvorak-r us: Right handed Dvorak + dvorak-classic us: Classic Dvorak + dvp us: Programmer Dvorak + rus us: Russian phonetic + mac us: Macintosh + altgr-intl us: International (AltGr dead keys) + olpc2 us: Group toggle on multiply/divide key + ps af: Pashto + uz af: Southern Uzbek + olpc-ps af: OLPC Pashto + olpc-fa af: OLPC Dari + olpc-uz af: OLPC Southern Uzbek + azerty ara: azerty + azerty_digits ara: azerty/digits + digits ara: digits + qwerty ara: qwerty + qwerty_digits ara: qwerty/digits + buckwalter ara: Buckwalter + phonetic am: Phonetic + phonetic-alt am: Alternative Phonetic + eastern am: Eastern + western am: Western + eastern-alt am: Alternative Eastern + cyrillic az: Cyrillic + winkeys by: Winkeys + latin by: Latin + iso-alternate be: ISO Alternate + nodeadkeys be: Eliminate dead keys + sundeadkeys be: Sun dead keys + wang be: Wang model 724 azerty + probhat bd: Probhat + ben in: Bengali + ben_probhat in: Bengali Probhat + guj in: Gujarati + guru in: Gurmukhi + jhelum in: Gurmukhi Jhelum + kan in: Kannada + mal in: Malayalam + mal_lalitha in: Malayalam Lalitha + ori in: Oriya + tam_unicode in: Tamil Unicode + tam_TAB in: Tamil TAB Typewriter + tam_TSCII in: Tamil TSCII Typewriter + tam in: Tamil + tel in: Telugu + urd in: Urdu + bolnagri in: Hindi Bolnagri + alternatequotes ba: Use guillemets for quotes + unicode ba: Use Bosnian digraphs + unicodeus ba: US keyboard with Bosnian digraphs + us ba: US keyboard with Bosnian letters + nodeadkeys br: Eliminate dead keys + dvorak br: Dvorak + nativo br: Nativo + nativo-us br: Nativo for USA keyboards + nativo-epo br: Nativo for Esperanto + phonetic bg: Phonetic + french ma: French + tifinagh ma: Tifinagh + tifinagh-alt ma: Tifinagh Alternative + tifinagh-alt-phonetic ma: Tifinagh Alternative Phonetic + tifinagh-extended ma: Tifinagh Extended + tifinagh-phonetic ma: Tifinagh Phonetic + tifinagh-extended-phonetic ma: Tifinagh Extended Phonetic + fr-dvorak ca: French Dvorak + fr-legacy ca: French (legacy) + multix ca: Multilingual + multi ca: Multilingual, first part + multi-2gr ca: Multilingual, second part + ike ca: Inuktitut + shs ca: Secwepemctsin + kut ca: Ktunaxa + tib cn: Tibetan + tib_asciinum cn: Tibetan (with ASCII numerals) + alternatequotes hr: Use guillemets for quotes + unicode hr: Use Croatian digraphs + unicodeus hr: US keyboard with Croatian digraphs + us hr: US keyboard with Croatian letters + bksl cz: With <\|> key + qwerty cz: qwerty + qwerty_bksl cz: qwerty, extended Backslash + ucw cz: UCW layout (accented letters only) + nodeadkeys dk: Eliminate dead keys + mac dk: Macintosh + mac_nodeadkeys dk: Macintosh, eliminate dead keys + dvorak dk: Dvorak + sundeadkeys nl: Sun dead keys + mac nl: Macintosh + std nl: Standard + nodeadkeys ee: Eliminate dead keys + dvorak ee: Dvorak + us ee: US keyboard with Estonian letters + pro ir: Pro + keypad ir: Keypad + pro_keypad ir: Pro Keypad + ku ir: Kurdish, Latin Q + ku_f ir: Kurdish, (F) + ku_alt ir: Kurdish, Latin Alt-Q + ku_ara ir: Kurdish, Arabic-Latin + ku iq: Kurdish, Latin Q + ku_f iq: Kurdish, (F) + ku_alt iq: Kurdish, Latin Alt-Q + ku_ara iq: Kurdish, Arabic-Latin + nodeadkeys fo: Eliminate dead keys + nodeadkeys fi: Eliminate dead keys + smi fi: Northern Saami + classic fi: Classic + mac fi: Macintosh + nodeadkeys fr: Eliminate dead keys + sundeadkeys fr: Sun dead keys + oss fr: Alternative + oss_latin9 fr: Alternative, latin-9 only + oss_nodeadkeys fr: Alternative, eliminate dead keys + oss_sundeadkeys fr: Alternative, Sun dead keys + latin9 fr: (Legacy) Alternative + latin9_nodeadkeys fr: (Legacy) Alternative, eliminate dead keys + latin9_sundeadkeys fr: (Legacy) Alternative, Sun dead keys + bepo fr: Bepo, ergonomic, Dvorak way + bepo_latin9 fr: Bepo, ergonomic, Dvorak way, latin-9 only + dvorak fr: Dvorak + mac fr: Macintosh + geo fr: Georgian AZERTY Tskapo + generic gh: Multilingual + akan gh: Akan + ewe gh: Ewe + fula gh: Fula + ga gh: Ga + hausa gh: Hausa + ergonomic ge: Ergonomic + mess ge: MESS + ru ge: Russian + os ge: Ossetian + deadacute de: Dead acute + deadgraveacute de: Dead grave acute + nodeadkeys de: Eliminate dead keys + ro de: Romanian keyboard with German letters + ro_nodeadkeys de: Romanian keyboard with German letters, eliminate dead keys + dvorak de: Dvorak + sundeadkeys de: Sun dead keys + neo de: Neostyle + mac de: Macintosh + mac_nodeadkeys de: Macintosh, eliminate dead keys + simple gr: Simple + extended gr: Extended + nodeadkeys gr: Eliminate dead keys + polytonic gr: Polytonic + standard hu: Standard + nodeadkeys hu: Eliminate dead keys + qwerty hu: qwerty + 101_qwertz_comma_dead hu: 101/qwertz/comma/Dead keys + 101_qwertz_comma_nodead hu: 101/qwertz/comma/Eliminate dead keys + 101_qwertz_dot_dead hu: 101/qwertz/dot/Dead keys + 101_qwertz_dot_nodead hu: 101/qwertz/dot/Eliminate dead keys + 101_qwerty_comma_dead hu: 101/qwerty/comma/Dead keys + 101_qwerty_comma_nodead hu: 101/qwerty/comma/Eliminate dead keys + 101_qwerty_dot_dead hu: 101/qwerty/dot/Dead keys + 101_qwerty_dot_nodead hu: 101/qwerty/dot/Eliminate dead keys + 102_qwertz_comma_dead hu: 102/qwertz/comma/Dead keys + 102_qwertz_comma_nodead hu: 102/qwertz/comma/Eliminate dead keys + 102_qwertz_dot_dead hu: 102/qwertz/dot/Dead keys + 102_qwertz_dot_nodead hu: 102/qwertz/dot/Eliminate dead keys + 102_qwerty_comma_dead hu: 102/qwerty/comma/Dead keys + 102_qwerty_comma_nodead hu: 102/qwerty/comma/Eliminate dead keys + 102_qwerty_dot_dead hu: 102/qwerty/dot/Dead keys + 102_qwerty_dot_nodead hu: 102/qwerty/dot/Eliminate dead keys + Sundeadkeys is: Sun dead keys + nodeadkeys is: Eliminate dead keys + mac is: Macintosh + dvorak is: Dvorak + lyx il: lyx + phonetic il: Phonetic + biblical il: Biblical Hebrew (Tiro) + nodeadkeys it: Eliminate dead keys + mac it: Macintosh + geo it: Georgian + kana jp: Kana + OADG109A jp: OADG 109A + ruskaz kz: Russian with Kazakh + kazrus kz: Kazakh with Russian + nodeadkeys latam: Eliminate dead keys + sundeadkeys latam: Sun dead keys + std lt: Standard + us lt: US keyboard with Lithuanian letters + ibm lt: IBM (LST 1205-92) + lekp lt: LEKP + lekpa lt: LEKPa + balticplus lt: Baltic+ + apostrophe lv: Apostrophe (') variant + tilde lv: Tilde (~) variant + fkey lv: F-letter (F) variant + cyrillic me: Cyrillic + cyrillicyz me: Cyrillic, Z and ZHE swapped + latinunicode me: Latin unicode + latinyz me: Latin qwerty + latinunicodeyz me: Latin unicode qwerty + cyrillicalternatequotes me: Cyrillic with guillemets + latinalternatequotes me: Latin with guillemets + nodeadkeys mk: Eliminate dead keys + us mt: Maltese keyboard with US layout + nodeadkeys no: Eliminate dead keys + dvorak no: Dvorak + smi no: Northern Saami + smi_nodeadkeys no: Northern Saami, eliminate dead keys + mac no: Macintosh + mac_nodeadkeys no: Macintosh, eliminate dead keys + qwertz pl: qwertz + dvorak pl: Dvorak + dvorak_quotes pl: Dvorak, Polish quotes on quotemark key + dvorak_altquotes pl: Dvorak, Polish quotes on key "1/!" + csb pl: Kashubian + ru_phonetic_dvorak pl: Russian phonetic Dvorak + nodeadkeys pt: Eliminate dead keys + sundeadkeys pt: Sun dead keys + mac pt: Macintosh + mac_nodeadkeys pt: Macintosh, eliminate dead keys + mac_sundeadkeys pt: Macintosh, Sun dead keys + nativo pt: Nativo + nativo-us pt: Nativo for USA keyboards + nativo-epo pt: Nativo for Esperanto + cedilla ro: Cedilla + std ro: Standard + std_cedilla ro: Standard (Cedilla) + winkeys ro: Winkeys + phonetic ru: Phonetic + typewriter ru: Typewriter + legacy ru: Legacy + tt ru: Tatar + os_legacy ru: Ossetian, legacy + os_winkeys ru: Ossetian, Winkeys + cv ru: Chuvash + cv_latin ru: Chuvash Latin + udm ru: Udmurt + kom ru: Komi + sah ru: Yakut + yz rs: Z and ZHE swapped + latin rs: Latin + latinunicode rs: Latin Unicode + latinyz rs: Latin qwerty + latinunicodeyz rs: Latin Unicode qwerty + alternatequotes rs: With guillemets + latinalternatequotes rs: Latin with guillemets + alternatequotes si: Use guillemets for quotes + unicode si: Use Slovenian digraphs + unicodeus si: US keyboard with Slovenian digraphs + us si: US keyboard with Slovenian letters + bksl sk: Extended Backslash + qwerty sk: qwerty + qwerty_bksl sk: qwerty, extended Backslash + nodeadkeys es: Eliminate dead keys + sundeadkeys es: Sun dead keys + dvorak es: Dvorak + ast es: Asturian variant with bottom-dot H and bottom-dot L + cat es: Catalan variant with middle-dot L + mac es: Macintosh + nodeadkeys se: Eliminate dead keys + dvorak se: Dvorak + rus se: Russian phonetic + rus_nodeadkeys se: Russian phonetic, eliminate dead keys + smi se: Northern Saami + mac se: Macintosh + svdvorak se: Svdvorak + de_nodeadkeys ch: German, eliminate dead keys + de_sundeadkeys ch: German, Sun dead keys + fr ch: French + fr_nodeadkeys ch: French, eliminate dead keys + fr_sundeadkeys ch: French, Sun dead keys + fr_mac ch: French (Macintosh) + de_mac ch: German (Macintosh) + syc sy: Syriac + syc_phonetic sy: Syriac phonetic + ku sy: Kurdish, Latin Q + ku_f sy: Kurdish, (F) + ku_alt sy: Kurdish, Latin Alt-Q + tam_unicode lk: Tamil Unicode + tam_TAB lk: Tamil TAB Typewriter + tis th: TIS-820.2538 + pat th: Pattachote + f tr: (F) + alt tr: Alt-Q + sundeadkeys tr: Sun dead keys + ku tr: Kurdish, Latin Q + ku_f tr: Kurdish, (F) + ku_alt tr: Kurdish, Latin Alt-Q + intl tr: International (with dead keys) + phonetic ua: Phonetic + typewriter ua: Typewriter + winkeys ua: Winkeys + unicode ua: Unicode + rstu ua: Standard RSTU + rstu_ru ua: Standard RSTU on Russian layout + homophonic ua: Homophonic + intl gb: International (with dead keys) + dvorak gb: Dvorak + dvorakukp gb: Dvorak (UK Punctuation) + mac gb: Macintosh + colemak gb: Colemak + latin uz: Latin + kr104 kr: 101/104 key Compatible + CloGaelach ie: CloGaelach + UnicodeExpert ie: UnicodeExpert + ogam ie: Ogham + ogam_is434 ie: Ogham IS434 + ara pk: Arabic + legacy epo: displaced semicolon and quote (obsolete) + igbo ng: Igbo + yoruba ng: Yoruba + hausa ng: Hausa + left_hand braille: Left hand + right_hand braille: Right hand + +! option + grp Layout switching + grp:switch R-Alt switches layout while pressed. + grp:lswitch Left Alt key switches layout while pressed. + grp:lwin_switch Left Win-key switches layout while pressed. + grp:rwin_switch Right Win-key switches layout while pressed. + grp:win_switch Both Win-keys switch layout while pressed. + grp:caps_switch CapsLock key switches layout while pressed, Alt+CapsLock does the original capslock action. + grp:rctrl_switch Right Ctrl key switches layout while pressed. + grp:toggle Right Alt key changes layout. + grp:lalt_toggle Left Alt key changes layout. + grp:caps_toggle CapsLock key changes layout. + grp:shift_caps_toggle Shift+CapsLock changes layout. + grp:shift_caps_switch CapsLock switch to first layout, Shift+CapsLock switch to last layout. + grp:alt_caps_toggle Alt+CapsLock changes layout. + grp:shifts_toggle Both Shift keys together change layout. + grp:alts_toggle Both Alt keys together change layout. + grp:ctrls_toggle Both Ctrl keys together change layout. + grp:ctrl_shift_toggle Ctrl+Shift change layout. + grp:lctrl_lshift_toggle LCtrl+LShift change layout. + grp:ctrl_alt_toggle Alt+Ctrl change layout. + grp:alt_shift_toggle Alt+Shift change layout. + grp:menu_toggle Menu key changes layout. + grp:lwin_toggle Left Win-key changes layout. + grp:rwin_toggle Right Win-key changes layout. + grp:lshift_toggle Left Shift key changes layout. + grp:rshift_toggle Right Shift key changes layout. + grp:lctrl_toggle Left Ctrl key changes layout. + grp:rctrl_toggle Right Ctrl key changes layout. + lv3 Third level choosers + lv3:switch Press Right Ctrl to choose 3rd level. + lv3:menu_switch Press Menu key to choose 3rd level. + lv3:win_switch Press any of Win-keys to choose 3rd level. + lv3:lwin_switch Press Left Win-key to choose 3rd level. + lv3:rwin_switch Press Right Win-key to choose 3rd level. + lv3:alt_switch Press any of Alt keys to choose 3rd level. + lv3:lalt_switch Press Left Alt key to choose 3rd level. + lv3:ralt_switch Press Right Alt key to choose 3rd level. + lv3:ralt_switch_multikey Press Right Alt key to choose 3rd level, Shift+Right Alt key is Multi_Key. + lv3:ralt_alt Right Alt key never chooses 3rd level. + ctrl Ctrl key position + ctrl:nocaps Make CapsLock an additional Ctrl. + ctrl:swapcaps Swap Ctrl and CapsLock. + ctrl:ctrl_ac Ctrl key at left of 'A' + ctrl:ctrl_aa Ctrl key at bottom left + ctrl:ctrl_ra Right Ctrl key works as Right Alt. + grp_led Use keyboard LED to show alternative layout. + grp_led:num NumLock LED shows alternative layout. + grp_led:caps CapsLock LED shows alternative layout. + grp_led:scroll ScrollLock LED shows alternative layout. + keypad Numeric keypad layout selection + keypad:legacy Legacy keypad + keypad:oss Keypad with unicode additions (arrows and math operators) + keypad:future Keypad with unicode additions (arrows and math operators). Math operators on default level. + keypad:legacy_wang Legacy Wang 724 keypad + keypad:oss_wang Wang 724 keypad with unicode additions (arrows and math operators) + keypad:future_wang Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level. + keypad:phone_hex ATM/phone-style hexadecimal keypad + kpdl Numeric keypad delete key behaviour + kpdl:dot Legacy key with dot + kpdl:comma Legacy key with comma + kpdl:dotoss Four-level key with dot + kpdl:dotoss_latin9 Four-level key with dot, latin-9 restriction + kpdl:commaoss Four-level key with comma + kpdl:momayyezoss Four-level key with momayyez + kpdl:kposs Four-level key with abstract separators + caps CapsLock key behavior + caps:internal CapsLock uses internal capitalization. Shift "pauses" CapsLock. + caps:internal_nocancel CapsLock uses internal capitalization. Shift doesn't affect CapsLock. + caps:shift CapsLock acts as Shift with locking. Shift "pauses" CapsLock. + caps:shift_nocancel CapsLock acts as Shift with locking. Shift doesn't affect CapsLock. + caps:capslock CapsLock toggles normal capitalization of alphabetic characters. + caps:swapescape Swap ESC and CapsLock. + caps:shiftlock CapsLock toggles Shift so all keys are affected. + altwin Alt/Win key behavior + altwin:menu Add the standard behavior to Menu key. + altwin:meta_alt Alt and Meta are on the Alt keys. + altwin:ctrl_win Control is mapped to the Win-keys (and the usual Ctrl keys). + altwin:meta_win Meta is mapped to the Win-keys. + altwin:left_meta_win Meta is mapped to the left Win-key. + altwin:super_win Super is mapped to the Win-keys. + altwin:hyper_win Hyper is mapped to the Win-keys. + altwin:alt_super_win Alt is mapped to the right Win-key and Super to Menu. + altwin:swap_lalt_lwin Left Alt is swapped with left Win-key. + Compose key Compose key position + compose:ralt Right Alt is Compose. + compose:lwin Left Win-key is Compose. + compose:rwin Right Win-key is Compose. + compose:menu Menu is Compose. + compose:rctrl Right Ctrl is Compose. + compose:caps Caps Lock is Compose. + compose:102 Less-than/Greater-than is Compose. + compat Miscellaneous compatibility options + numpad:pc Default numeric keypad keys. + numpad:mac Numeric keypad keys work as with Mac. + numpad:microsoft Shift with numeric keypad keys works as in MS Windows. + srvrkeys:none Special keys (Ctrl+Alt+<key>) handled in a server. + apple:badmap Swap keycodes of two keys when Mac keyboards are misdetected by kernel. + shift:breaks_caps Shift cancels CapsLock. + eurosign Adding the EuroSign to certain keys + eurosign:e Add the EuroSign to the E key. + eurosign:2 Add the EuroSign to the 2 key. + eurosign:4 Add the EuroSign to the 4 key. + eurosign:5 Add the EuroSign to the 5 key. + nbsp Using space key to input non-breakable space character + nbsp:none Space key outputs usual space at any level. + nbsp:level2 Space key outputs non-breakable space character at second level. + nbsp:level3 Space key outputs non-breakable space character at third level. + nbsp:level3s Space key outputs non-breakable space character at third level, nothing at fourth level. + nbsp:level3n Space key outputs non-breakable space character at third level, thin non-breakable space character at fourth level + nbsp:level4 Space key outputs non-breakable space character at fourth level. + nbsp:level4n Space key outputs non-breakable space character at fourth level, thin non-breakable space character at sixth level + nbsp:level4nl Space key outputs non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift) + japan Japanese keyboard options + japan:kana_lock Kana Lock key is locking + japan:nicola_f_bs NICOLA-F style Backspace diff --git a/xorg-server/xkbdata.src/rules/evdev.m_k.part b/xorg-server/xkbdata.src/rules/evdev.m_k.part new file mode 100644 index 000000000..9bae15336 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/evdev.m_k.part @@ -0,0 +1,4 @@ + pc98 = evdev(pc98) + abnt2 = evdev(abnt2) + jp106 = evdev(jp106) + * = evdev diff --git a/xorg-server/xkbdata.src/rules/evdev.m_s.part b/xorg-server/xkbdata.src/rules/evdev.m_s.part new file mode 100644 index 000000000..fd6590d9d --- /dev/null +++ b/xorg-server/xkbdata.src/rules/evdev.m_s.part @@ -0,0 +1 @@ + * = +inet(evdev) diff --git a/xorg-server/xkbdata.src/rules/evdev.xml.in b/xorg-server/xkbdata.src/rules/evdev.xml.in new file mode 100644 index 000000000..8d0aa921c --- /dev/null +++ b/xorg-server/xkbdata.src/rules/evdev.xml.in @@ -0,0 +1,4699 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd"> +<xkbConfigRegistry> + <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>jp106</name> + <_description>Japanese 106-key</_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>abnt2</name> + <_description>Brazilian ABNT2</_description> + <vendor>Generic</vendor> + </configItem> + </model> + <model> + <configItem> + <name>airkey</name> + <_description>Acer AirKey V</_description> + <vendor>Acer</vendor> + </configItem> + </model> + <model> + <configItem> + <name>acpi</name> + <_description>ACPI Standard</_description> + <vendor>Generic</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>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>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>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 A1667G 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>gyration</name> + <_description>Gyration</_description> + <vendor>Gyration</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>hp2501</name> + <_description>Hewlett-Packard SK-2501 Multimedia Keyboard</_description> + <vendor>Hewlett-Packard</vendor> + </configItem> + </model> + <model> + <configItem> + <name>hp2505</name> + <_description>Hewlett-Packard SK-2505 Internet 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>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>hp5181</name> + <_description>Hewlett-Packard Internet Keyboard 5181</_description> + <vendor>Hewlett-Packard</vendor> + </configItem> + </model> + <model> + <configItem> + <name>hp5185</name> + <_description>Hewlett-Packard Internet Keyboard 5185</_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>rapidaccess</name> + <_description>IBM Rapid Access</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>rapidaccess2</name> + <_description>IBM Rapid Access II</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>rapidaccess2a</name> + <_description>IBM Rapid Access II (alternate option)</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>thinkpad</name> + <_description>IBM ThinkPad 560Z/600/600E/A22E</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>thinkpadintl</name> + <_description>IBM ThinkPad 560Z/600/600E/A22E, Intl</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>thinkpad60</name> + <_description>IBM ThinkPad R60/T60/R61/T61</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>thinkpadz60</name> + <_description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</_description> + <vendor>IBM</vendor> + </configItem> + </model> + <model> + <configItem> + <name>ibm_spacesaver</name> + <_description>IBM Space Saver</_description> + <vendor>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 option2)</_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>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>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>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>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>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>kr106</name> + <_description>Korean 106-key</_description> + <vendor>Generic</vendor> + </configItem> + </model> + <model> + <configItem> + <name>evdev</name> + <_description>Evdev-managed keyboard</_description> + <vendor>Generic</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> + </modelList> + <layoutList> + <layout> + <configItem> + <name>us</name> + <_shortDescription>USA</_shortDescription> + <_description>USA</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>chr</name> + <_description>Cherokee</_description> + <languageList><iso639Id>chr</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>euro</name> + <_description>With EuroSign on 5</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>intl</name> + <_description>International (with dead keys)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>alt-intl</name> + <_description>Alternative international (former us_intl)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>colemak</name> + <_description>Colemak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak-intl</name> + <_description>Dvorak international</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak-l</name> + <_description>Left handed Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak-r</name> + <_description>Right handed Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak-classic</name> + <_description>Classic Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvp</name> + <_description>Programmer Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>rus</name> + <_description>Russian phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>altgr-intl</name> + <_description>International (AltGr dead keys)</_description> + <languageList><iso639Id>eng</iso639Id> + <iso639Id>fra</iso639Id> + <iso639Id>ger</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>olpc2</name> + <_description>Group toggle on multiply/divide key</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ad</name> + <_shortDescription>And</_shortDescription> + <_description>Andorra</_description> + <languageList><iso639Id>cat</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>af</name> + <_shortDescription>Afg</_shortDescription> + <_description>Afghanistan</_description> + </configItem> + <variantList> + <variant> + <configItem> + <name>ps</name> + <_description>Pashto</_description> + <languageList><iso639Id>pus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>uz</name> + <_description>Southern Uzbek</_description> + <languageList><iso639Id>uzb</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>olpc-ps</name> + <_description>OLPC Pashto</_description> + <languageList><iso639Id>pus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>olpc-fa</name> + <_description>OLPC Dari</_description> + <!-- No ISO code in ISO639-2, only draft ISO693-3 --> + </configItem> + </variant> + <variant> + <configItem> + <name>olpc-uz</name> + <_description>OLPC Southern Uzbek</_description> + <languageList><iso639Id>uzb</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ara</name> + <_shortDescription>Ara</_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>azerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>azerty_digits</name> + <_description>azerty/digits</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>digits</name> + <_description>digits</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty</name> + <_description>qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty_digits</name> + <_description>qwerty/digits</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>buckwalter</name> + <_description>Buckwalter</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>al</name> + <_shortDescription>Alb</_shortDescription> + <_description>Albania</_description> + <languageList><iso639Id>alb</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>am</name> + <_shortDescription>Arm</_shortDescription> + <_description>Armenia</_description> + <languageList><iso639Id>hye</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>phonetic-alt</name> + <_description>Alternative Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>eastern</name> + <_description>Eastern</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>western</name> + <_description>Western</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>eastern-alt</name> + <_description>Alternative Eastern</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>az</name> + <_shortDescription>Aze</_shortDescription> + <_description>Azerbaijan</_description> + <languageList><iso639Id>aze</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>cyrillic</name> + <_description>Cyrillic</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>by</name> + <_shortDescription>Blr</_shortDescription> + <_description>Belarus</_description> + <languageList><iso639Id>bel</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>winkeys</name> + <_description>Winkeys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin</name> + <_description>Latin</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>be</name> + <_shortDescription>Bel</_shortDescription> + <_description>Belgium</_description> + <languageList><iso639Id>ger</iso639Id> + <iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>iso-alternate</name> + <_description>ISO Alternate</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>wang</name> + <_description>Wang model 724 azerty</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>bd</name> + <_shortDescription>Ban</_shortDescription> + <_description>Bangladesh</_description> + <languageList><iso639Id>ben</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>probhat</name> + <_description>Probhat</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>in</name> + <_shortDescription>Ind</_shortDescription> + <_description>India</_description> + </configItem> + <variantList> + <variant> + <configItem> + <name>ben</name> + <_description>Bengali</_description> + <languageList><iso639Id>ben</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ben_probhat</name> + <_description>Bengali Probhat</_description> + <languageList><iso639Id>ben</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>guj</name> + <_description>Gujarati</_description> + <languageList><iso639Id>guj</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>guru</name> + <_description>Gurmukhi</_description> + <languageList><iso639Id>pan</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>jhelum</name> + <_description>Gurmukhi Jhelum</_description> + <languageList><iso639Id>pan</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>kan</name> + <_description>Kannada</_description> + <languageList><iso639Id>kan</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mal</name> + <_description>Malayalam</_description> + <languageList><iso639Id>mal</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mal_lalitha</name> + <_description>Malayalam Lalitha</_description> + <languageList><iso639Id>mal</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ori</name> + <_description>Oriya</_description> + <languageList><iso639Id>ori</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam_unicode</name> + <_description>Tamil Unicode</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam_TAB</name> + <_description>Tamil TAB Typewriter</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam_TSCII</name> + <_description>Tamil TSCII Typewriter</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam</name> + <_description>Tamil</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tel</name> + <_description>Telugu</_description> + <languageList><iso639Id>tel</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>urd</name> + <_description>Urdu</_description> + <languageList><iso639Id>urd</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>bolnagri</name> + <_description>Hindi Bolnagri</_description> + <languageList><iso639Id>hin</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ba</name> + <_shortDescription>Bih</_shortDescription> + <_description>Bosnia and Herzegovina</_description> + <languageList><iso639Id>bos</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>alternatequotes</name> + <_description> Use guillemets for quotes</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicode</name> + <_description>Use Bosnian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicodeus</name> + <_description>US keyboard with Bosnian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Bosnian letters</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>br</name> + <_shortDescription>Bra</_shortDescription> + <_description>Brazil</_description> + <languageList><iso639Id>por</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo</name> + <_description>Nativo</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo-us</name> + <_description>Nativo for USA keyboards</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo-epo</name> + <_description>Nativo for Esperanto</_description> + <languageList><iso639Id>epo</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>bg</name> + <_shortDescription>Bgr</_shortDescription> + <_description>Bulgaria</_description> + <languageList><iso639Id>bul</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ma</name> + <_description>Morocco</_description> + </configItem> + <variantList> + <variant> + <configItem> + <name>french</name> + <_description>French</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh</name> + <_description>Tifinagh</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-alt</name> + <_description>Tifinagh Alternative</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-alt-phonetic</name> + <_description>Tifinagh Alternative Phonetic</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-extended</name> + <_description>Tifinagh Extended</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-phonetic</name> + <_description>Tifinagh Phonetic</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tifinagh-extended-phonetic</name> + <_description>Tifinagh Extended Phonetic</_description> + <languageList><iso639Id>ber</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mm</name> + <_shortDescription>Mmr</_shortDescription> + <_description>Myanmar</_description> + <languageList><iso639Id>mya</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>ca</name> + <_shortDescription>Can</_shortDescription> + <_description>Canada</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>fr-dvorak</name> + <_description>French Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>fr-legacy</name> + <_description>French (legacy)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>multix</name> + <_description>Multilingual</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>multi</name> + <_description>Multilingual, first part</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>multi-2gr</name> + <_description>Multilingual, second part</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ike</name> + <_description>Inuktitut</_description> + <languageList><iso639Id>iku</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>shs</name> + <_description>Secwepemctsin</_description> + <!-- No ISO code in ISO639-2, only draft ISO693-3 --> + </configItem> + </variant> + <variant> + <configItem> + <name>kut</name> + <_description>Ktunaxa</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>cd</name> + <_shortDescription>DRC</_shortDescription> + <_description>Congo, Democratic Republic of the</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>cn</name> + <_shortDescription>China</_shortDescription> + <_description>China</_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> + </variantList> + </layout> + <layout> + <configItem> + <name>hr</name> + <_shortDescription>Hrv</_shortDescription> + <_description>Croatia</_description> + <languageList><iso639Id>scr</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>alternatequotes</name> + <_description>Use guillemets for quotes</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicode</name> + <_description>Use Croatian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicodeus</name> + <_description>US keyboard with Croatian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Croatian letters</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>cz</name> + <_shortDescription>Cze</_shortDescription> + <_description>Czechia</_description> + <languageList><iso639Id>cze</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>bksl</name> + <_description>With <\|> key</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty</name> + <_description>qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty_bksl</name> + <_description>qwerty, extended Backslash</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ucw</name> + <_description>UCW layout (accented letters only)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>dk</name> + <_shortDescription>Dan</_shortDescription> + <_description>Denmark</_description> + <languageList><iso639Id>dan</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_nodeadkeys</name> + <_description>Macintosh, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>nl</name> + <_shortDescription>Nld</_shortDescription> + <_description>Netherlands</_description> + <languageList><iso639Id>nld</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>std</name> + <_description>Standard</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>bt</name> + <_shortDescription>Bhu</_shortDescription> + <_description>Bhutan</_description> + <languageList><iso639Id>dzo</iso639Id></languageList> + </configItem> + </layout> + <layout> + <configItem> + <name>ee</name> + <_shortDescription>Est</_shortDescription> + <_description>Estonia</_description> + <languageList><iso639Id>est</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Estonian letters</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ir</name> + <_shortDescription>Irn</_shortDescription> + <_description>Iran</_description> + <languageList><iso639Id>per</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>pro</name> + <_description>Pro</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>keypad</name> + <_description>Keypad</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>pro_keypad</name> + <_description>Pro Keypad</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ku</name> + <_description>Kurdish, Latin Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_f</name> + <_description>Kurdish, (F)</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_alt</name> + <_description>Kurdish, Latin Alt-Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_ara</name> + <_description>Kurdish, Arabic-Latin</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>iq</name> + <_shortDescription>Irq</_shortDescription> + <_description>Iraq</_description> + <languageList><iso639Id>ara</iso639Id> + <iso639Id>kur</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>ku</name> + <_description>Kurdish, Latin Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_f</name> + <_description>Kurdish, (F)</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_alt</name> + <_description>Kurdish, Latin Alt-Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_ara</name> + <_description>Kurdish, Arabic-Latin</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>fo</name> + <_shortDescription>Fao</_shortDescription> + <_description>Faroe Islands</_description> + <languageList><iso639Id>fao</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>fi</name> + <_shortDescription>Fin</_shortDescription> + <_description>Finland</_description> + <languageList><iso639Id>fin</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>smi</name> + <_description>Northern Saami</_description> + <languageList><iso639Id>smi</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>classic</name> + <_description>Classic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>fr</name> + <_shortDescription>Fra</_shortDescription> + <_description>France</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>oss</name> + <_description>Alternative</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>oss_latin9</name> + <_description>Alternative, latin-9 only</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>oss_nodeadkeys</name> + <_description>Alternative, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>oss_sundeadkeys</name> + <_description>Alternative, Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin9</name> + <_description>(Legacy) Alternative</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin9_nodeadkeys</name> + <_description>(Legacy) Alternative, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin9_sundeadkeys</name> + <_description>(Legacy) Alternative, Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>bepo</name> + <_description>Bepo, ergonomic, Dvorak way</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>bepo_latin9</name> + <_description>Bepo, ergonomic, Dvorak way, latin-9 only</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>geo</name> + <_description>Georgian AZERTY Tskapo</_description> + <languageList><iso639Id>geo</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>gh</name> + <_shortDescription>Gha</_shortDescription> + <_description>Ghana</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>generic</name> + <_description>Multilingual</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>akan</name> + <_description>Akan</_description> + <languageList><iso639Id>aka</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ewe</name> + <_description>Ewe</_description> + <languageList><iso639Id>ewe</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>fula</name> + <_description>Fula</_description> + <languageList><iso639Id>ful</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ga</name> + <_description>Ga</_description> + <languageList><iso639Id>gaa</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>hausa</name> + <_description>Hausa</_description> + <languageList><iso639Id>hau</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>gn</name> + <_shortDescription>Gui</_shortDescription> + <_description>Guinea</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>ge</name> + <_shortDescription>Geo</_shortDescription> + <_description>Georgia</_description> + <languageList><iso639Id>geo</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>ergonomic</name> + <_description>Ergonomic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mess</name> + <_description>MESS</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ru</name> + <_description>Russian</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>os</name> + <_description>Ossetian</_description> + <languageList><iso639Id>oss</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>de</name> + <_shortDescription>Deu</_shortDescription> + <_description>Germany</_description> + <languageList><iso639Id>ger</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>deadacute</name> + <_description>Dead acute</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>deadgraveacute</name> + <_description>Dead grave acute</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ro</name> + <_description>Romanian keyboard with German letters</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ro_nodeadkeys</name> + <_description>Romanian keyboard with German letters, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>neo</name> + <_description>Neostyle</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_nodeadkeys</name> + <_description>Macintosh, eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>gr</name> + <_shortDescription>Gre</_shortDescription> + <_description>Greece</_description> + <languageList><iso639Id>gre</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>simple</name> + <_description>Simple</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>extended</name> + <_description>Extended</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>polytonic</name> + <_description>Polytonic</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>hu</name> + <_shortDescription>Hun</_shortDescription> + <_description>Hungary</_description> + <languageList><iso639Id>hun</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>standard</name> + <_description>Standard</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty</name> + <_description>qwerty</_description> + </configItem> + </variant> + + <!-- 101 keys --> + <variant> + <configItem> + <name>101_qwertz_comma_dead</name> + <_description>101/qwertz/comma/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwertz_comma_nodead</name> + <_description>101/qwertz/comma/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwertz_dot_dead</name> + <_description>101/qwertz/dot/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwertz_dot_nodead</name> + <_description>101/qwertz/dot/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwerty_comma_dead</name> + <_description>101/qwerty/comma/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwerty_comma_nodead</name> + <_description>101/qwerty/comma/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwerty_dot_dead</name> + <_description>101/qwerty/dot/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>101_qwerty_dot_nodead</name> + <_description>101/qwerty/dot/Eliminate dead keys</_description> + </configItem> + </variant> + + + <!-- 102 keys --> + <variant> + <configItem> + <name>102_qwertz_comma_dead</name> + <_description>102/qwertz/comma/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwertz_comma_nodead</name> + <_description>102/qwertz/comma/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwertz_dot_dead</name> + <_description>102/qwertz/dot/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwertz_dot_nodead</name> + <_description>102/qwertz/dot/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwerty_comma_dead</name> + <_description>102/qwerty/comma/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwerty_comma_nodead</name> + <_description>102/qwerty/comma/Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwerty_dot_dead</name> + <_description>102/qwerty/dot/Dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>102_qwerty_dot_nodead</name> + <_description>102/qwerty/dot/Eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>is</name> + <_shortDescription>Isl</_shortDescription> + <_description>Iceland</_description> + <languageList><iso639Id>ice</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>Sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>il</name> + <_shortDescription>Isr</_shortDescription> + <_description>Israel</_description> + <languageList><iso639Id>heb</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>lyx</name> + <_description>lyx</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>biblical</name> + <_description>Biblical Hebrew (Tiro)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>it</name> + <_shortDescription>Ita</_shortDescription> + <_description>Italy</_description> + <languageList><iso639Id>ita</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>geo</name> + <_description>Georgian</_description> + <languageList><iso639Id>geo</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>jp</name> + <_shortDescription>Jpn</_shortDescription> + <_description>Japan</_description> + <languageList><iso639Id>jpn</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>kana</name> + <_description>Kana</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>OADG109A</name> + <_description>OADG 109A</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>kg</name> + <_shortDescription>Kir</_shortDescription> + <_description>Kyrgyzstan</_description> + <languageList><iso639Id>kir</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>kh</name> + <_shortDescription>Khm</_shortDescription> + <_description>Cambodia</_description> + <languageList><iso639Id>khm</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>kz</name> + <_shortDescription>Kaz</_shortDescription> + <_description>Kazakhstan</_description> + <languageList><iso639Id>kaz</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>ruskaz</name> + <_description>Russian 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>Lao</_shortDescription> + <_description>Laos</_description> + <languageList><iso639Id>lao</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>latam</name> + <_shortDescription>LAm</_shortDescription> + <_description>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>UY</iso3166Id> + <iso3166Id>VE</iso3166Id> + </countryList> + <languageList><iso639Id>spa</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>lt</name> + <_shortDescription>Ltu</_shortDescription> + <_description>Lithuania</_description> + <languageList><iso639Id>lit</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>std</name> + <_description>Standard</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Lithuanian letters</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ibm</name> + <_description>IBM (LST 1205-92)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>lekp</name> + <_description>LEKP</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>lekpa</name> + <_description>LEKPa</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>balticplus</name> + <_description>Baltic+</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>lv</name> + <_shortDescription>Lav</_shortDescription> + <_description>Latvia</_description> + <languageList><iso639Id>lav</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>apostrophe</name> + <_description>Apostrophe (') variant</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>tilde</name> + <_description>Tilde (~) variant</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>fkey</name> + <_description>F-letter (F) variant</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mao</name> + <_shortDescription>Mao</_shortDescription> + <_description>Maori</_description> + <languageList><iso639Id>mao</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>me</name> + <_shortDescription>MNE</_shortDescription> + <_description>Montenegro</_description> + <languageList><iso639Id>srp</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>cyrillic</name> + <_description>Cyrillic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>cyrillicyz</name> + <_description>Cyrillic, Z and ZHE swapped</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinunicode</name> + <_description>Latin unicode</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinyz</name> + <_description>Latin qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinunicodeyz</name> + <_description>Latin unicode qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>cyrillicalternatequotes</name> + <_description>Cyrillic with guillemets</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinalternatequotes</name> + <_description>Latin with guillemets</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mk</name> + <_shortDescription>Mkd</_shortDescription> + <_description>Macedonia</_description> + <languageList><iso639Id>mkd</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mt</name> + <_shortDescription>Mlt</_shortDescription> + <_description>Malta</_description> + <languageList><iso639Id>mlt</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>us</name> + <_description>Maltese keyboard with US layout</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mn</name> + <_shortDescription>Mng</_shortDescription> + <_description>Mongolia</_description> + <languageList><iso639Id>mng</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>no</name> + <_shortDescription>Nor</_shortDescription> + <_description>Norway</_description> + <languageList><iso639Id>nor</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>smi</name> + <_description>Northern Saami</_description> + <languageList><iso639Id>sme</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>smi_nodeadkeys</name> + <_description>Northern Saami, eliminate dead keys</_description> + <languageList><iso639Id>sme</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_nodeadkeys</name> + <_description>Macintosh, eliminate dead keys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>pl</name> + <_shortDescription>Pol</_shortDescription> + <_description>Poland</_description> + <languageList><iso639Id>pol</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>qwertz</name> + <_description>qwertz</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak_quotes</name> + <_description>Dvorak, Polish quotes on quotemark key</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak_altquotes</name> + <_description>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> + <_description>Russian phonetic Dvorak</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>pt</name> + <_shortDescription>Prt</_shortDescription> + <_description>Portugal</_description> + <languageList><iso639Id>por</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_nodeadkeys</name> + <_description>Macintosh, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac_sundeadkeys</name> + <_description>Macintosh, Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo</name> + <_description>Nativo</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo-us</name> + <_description>Nativo for USA keyboards</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>nativo-epo</name> + <_description>Nativo for Esperanto</_description> + <languageList><iso639Id>epo</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ro</name> + <_shortDescription>Rou</_shortDescription> + <_description>Romania</_description> + <languageList><iso639Id>rum</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>cedilla</name> + <_description>Cedilla</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>std</name> + <_description>Standard</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>std_cedilla</name> + <_description>Standard (Cedilla)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>winkeys</name> + <_description>Winkeys</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ru</name> + <_shortDescription>Rus</_shortDescription> + <_description>Russia</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>typewriter</name> + <_description>Typewriter</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>legacy</name> + <_description>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> + </variantList> + </layout> + <layout> + <configItem> + <name>rs</name> + <_shortDescription>SRB</_shortDescription> + <_description>Serbia</_description> + <languageList><iso639Id>srp</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>yz</name> + <_description>Z and ZHE swapped</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latin</name> + <_description>Latin</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinunicode</name> + <_description>Latin Unicode</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinyz</name> + <_description>Latin qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinunicodeyz</name> + <_description>Latin Unicode qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>alternatequotes</name> + <_description>With guillemets</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>latinalternatequotes</name> + <_description>Latin with guillemets</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>si</name> + <_shortDescription>Svn</_shortDescription> + <_description>Slovenia</_description> + <languageList><iso639Id>slv</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>alternatequotes</name> + <_description>Use guillemets for quotes</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicode</name> + <_description>Use Slovenian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicodeus</name> + <_description>US keyboard with Slovenian digraphs</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>us</name> + <_description>US keyboard with Slovenian letters</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>sk</name> + <_shortDescription>Svk</_shortDescription> + <_description>Slovakia</_description> + <languageList><iso639Id>slo</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>bksl</name> + <_description>Extended Backslash</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty</name> + <_description>qwerty</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>qwerty_bksl</name> + <_description>qwerty, extended Backslash</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>es</name> + <_shortDescription>Esp</_shortDescription> + <_description>Spain</_description> + <languageList><iso639Id>spa</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ast</name> + <_description>Asturian variant with bottom-dot H and bottom-dot L</_description> + <languageList><iso639Id>ast</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>cat</name> + <_description>Catalan variant with middle-dot L</_description> + <languageList><iso639Id>cat</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>se</name> + <_shortDescription>Swe</_shortDescription> + <_description>Sweden</_description> + <languageList><iso639Id>swe</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>nodeadkeys</name> + <_description>Eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>rus</name> + <_description>Russian phonetic</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>rus_nodeadkeys</name> + <_description>Russian phonetic, eliminate dead keys</_description> + <languageList><iso639Id>rus</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>smi</name> + <_description>Northern Saami</_description> + <languageList><iso639Id>sme</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>svdvorak</name> + <_description>Svdvorak</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ch</name> + <_shortDescription>Che</_shortDescription> + <_description>Switzerland</_description> + <languageList><iso639Id>ger</iso639Id> + <iso639Id>gsw</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>de_nodeadkeys</name> + <_description>German, eliminate dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>de_sundeadkeys</name> + <_description>German, Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>fr</name> + <_description>French</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>fr_nodeadkeys</name> + <_description>French, eliminate dead keys</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>fr_sundeadkeys</name> + <_description>French, Sun dead keys</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>fr_mac</name> + <_description>French (Macintosh)</_description> + <languageList><iso639Id>fra</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>de_mac</name> + <_description>German (Macintosh)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>sy</name> + <_shortDescription>Syr</_shortDescription> + <_description>Syria</_description> + <languageList><iso639Id>syr</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>syc</name> + <_description>Syriac</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>syc_phonetic</name> + <_description>Syriac phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ku</name> + <_description>Kurdish, Latin Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_f</name> + <_description>Kurdish, (F)</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_alt</name> + <_description>Kurdish, Latin Alt-Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>tj</name> + <_shortDescription>Tjk</_shortDescription> + <_description>Tajikistan</_description> + <languageList><iso639Id>tgk</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>lk</name> + <_shortDescription>SrL</_shortDescription> + <_description>Sri Lanka</_description> + <languageList><iso639Id>sin</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>tam_unicode</name> + <_description>Tamil Unicode</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>tam_TAB</name> + <_description>Tamil TAB Typewriter</_description> + <languageList><iso639Id>tam</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>th</name> + <_shortDescription>Tha</_shortDescription> + <_description>Thailand</_description> + <languageList><iso639Id>tha</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>tis</name> + <_description>TIS-820.2538</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>pat</name> + <_description>Pattachote</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>tr</name> + <_shortDescription>Tur</_shortDescription> + <_description>Turkey</_description> + <languageList><iso639Id>tur</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>f</name> + <_description>(F)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>alt</name> + <_description>Alt-Q</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>sundeadkeys</name> + <_description>Sun dead keys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ku</name> + <_description>Kurdish, Latin Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_f</name> + <_description>Kurdish, (F)</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>ku_alt</name> + <_description>Kurdish, Latin Alt-Q</_description> + <languageList><iso639Id>kur</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>intl</name> + <_description>International (with dead keys)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>ua</name> + <_shortDescription>Ukr</_shortDescription> + <_description>Ukraine</_description> + <languageList><iso639Id>ukr</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>phonetic</name> + <_description>Phonetic</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>typewriter</name> + <_description>Typewriter</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>winkeys</name> + <_description>Winkeys</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>unicode</name> + <_description>Unicode</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>rstu</name> +<!-- RSTU 2019-91 --> + <_description>Standard RSTU</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>rstu_ru</name> +<!-- RSTU 2019-91 --> + <_description>Standard RSTU on Russian layout</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>homophonic</name> + <_description>Homophonic</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>gb</name> + <_shortDescription>GBr</_shortDescription> + <_description>United Kingdom</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>intl</name> + <_description>International (with dead keys)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorak</name> + <_description>Dvorak</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>dvorakukp</name> + <_description>Dvorak (UK Punctuation)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>mac</name> + <_description>Macintosh</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>colemak</name> + <_description>Colemak</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>uz</name> + <_shortDescription>Uzb</_shortDescription> + <_description>Uzbekistan</_description> + <languageList><iso639Id>uzb</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>latin</name> + <_description>Latin</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>vn</name> + <_shortDescription>Vnm</_shortDescription> + <_description>Vietnam</_description> + <languageList><iso639Id>vie</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>kr</name> + <_shortDescription>Kor</_shortDescription> + <_description>Korea, Republic of</_description> + <languageList><iso639Id>kor</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>kr104</name> + <_description>101/104 key Compatible</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>nec_vndr/jp</name> + <_shortDescription>Jpn</_shortDescription> + <_description>Japan (PC-98xx Series)</_description> + <countryList><iso3166Id>JP</iso3166Id></countryList> + <languageList><iso639Id>jpn</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>ie</name> + <_shortDescription>Irl</_shortDescription> + <_description>Ireland</_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>UnicodeExpert</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ogam</name> + <_description>Ogham</_description> + <!-- No ISO code in ISO639 --> + </configItem> + </variant> + <variant> + <configItem> + <name>ogam_is434</name> + <_description>Ogham IS434</_description> + <!-- No ISO code in ISO639 --> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>pk</name> + <_shortDescription>Pak</_shortDescription> + <_description>Pakistan</_description> + <languageList><iso639Id>urd</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>ara</name> + <_description>Arabic</_description> + <languageList><iso639Id>ara</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>mv</name> + <_shortDescription>Mal</_shortDescription> + <_description>Maldives</_description> + <languageList><iso639Id>div</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>za</name> + <_shortDescription>Zar</_shortDescription> + <_description>South Africa</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + </layout> + <layout> + <configItem> + <name>epo</name> + <_shortDescription>Epo</_shortDescription> + <_description>Esperanto</_description> + <languageList><iso639Id>epo</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>legacy</name> + <_description>displaced semicolon and quote (obsolete)</_description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>np</name> + <_shortDescription>Nep</_shortDescription> + <_description>Nepal</_description> + <languageList><iso639Id>nep</iso639Id></languageList> + </configItem> + </layout> + <layout> + <configItem> + <name>ng</name> + <_shortDescription>Nig</_shortDescription> + <_description>Nigeria</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>igbo</name> + <_description>Igbo</_description> + <languageList><iso639Id>ibo</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>yoruba</name> + <_description>Yoruba</_description> + <languageList><iso639Id>yor</iso639Id></languageList> + </configItem> + </variant> + <variant> + <configItem> + <name>hausa</name> + <_description>Hausa</_description> + <languageList><iso639Id>hau</iso639Id></languageList> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> + <name>et</name> + <_shortDescription>Eth</_shortDescription> + <_description>Ethiopia</_description> + <languageList><iso639Id>amh</iso639Id></languageList> + </configItem> + <variantList/> + </layout> + <layout> + <configItem> + <name>braille</name> + <_shortDescription>Brl</_shortDescription> + <_description>Braille</_description> + </configItem> + <variantList> + <variant> + <configItem> + <name>left_hand</name> + <_description>Left hand</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>right_hand</name> + <_description>Right hand</_description> + </configItem> + </variant> + </variantList> + </layout> + </layoutList> + <optionList> + <group allowMultipleSelection="true"> + <!-- The key combination used to switch between groups --> + <configItem> + <name>grp</name> + <_description>Layout switching</_description> + </configItem> + <option> + <configItem> + <name>grp:switch</name> + <_description>R-Alt switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lswitch</name> + <_description>Left Alt key switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lwin_switch</name> + <_description>Left Win-key switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rwin_switch</name> + <_description>Right Win-key switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:win_switch</name> + <_description>Both Win-keys switch layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:caps_switch</name> + <_description>CapsLock key switches layout while pressed, Alt+CapsLock does the original capslock action.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rctrl_switch</name> + <_description>Right Ctrl key switches layout while pressed.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:toggle</name> + <_description>Right Alt key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lalt_toggle</name> + <_description>Left Alt key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:caps_toggle</name> + <_description>CapsLock key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:shift_caps_toggle</name> + <_description>Shift+CapsLock changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:shift_caps_switch</name> + <_description>CapsLock switch to first layout, Shift+CapsLock switch to last layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:alt_caps_toggle</name> + <_description>Alt+CapsLock changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:shifts_toggle</name> + <_description>Both Shift keys together change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:alts_toggle</name> + <_description>Both Alt keys together change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:ctrls_toggle</name> + <_description>Both Ctrl keys together change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:ctrl_shift_toggle</name> + <_description>Ctrl+Shift change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lctrl_lshift_toggle</name> + <_description>LCtrl+LShift change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:ctrl_alt_toggle</name> + <_description>Alt+Ctrl change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:alt_shift_toggle</name> + <_description>Alt+Shift change layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:menu_toggle</name> + <_description>Menu key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lwin_toggle</name> + <_description>Left Win-key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rwin_toggle</name> + <_description>Right Win-key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lshift_toggle</name> + <_description>Left Shift key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rshift_toggle</name> + <_description>Right Shift key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:lctrl_toggle</name> + <_description>Left Ctrl key changes layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp:rctrl_toggle</name> + <_description>Right Ctrl key changes 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>Third level choosers</_description> + </configItem> + <option> + <configItem> + <name>lv3:switch</name> + <_description>Press Right Ctrl to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:menu_switch</name> + <_description>Press Menu key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:win_switch</name> + <_description>Press any of Win-keys to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:lwin_switch</name> + <_description>Press Left Win-key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:rwin_switch</name> + <_description>Press Right Win-key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:alt_switch</name> + <_description>Press any of Alt keys to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:lalt_switch</name> + <_description>Press Left Alt key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:ralt_switch</name> + <_description>Press Right Alt key to choose 3rd level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>lv3:ralt_switch_multikey</name> + <_description>Press Right Alt key to choose 3rd level, 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> + </group> + <group allowMultipleSelection="false"> + <!-- 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 CapsLock an additional Ctrl.</_description> + </configItem> + </option> + <option> + <configItem> + <name>ctrl:swapcaps</name> + <_description>Swap Ctrl and CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>ctrl:ctrl_ac</name> + <_description>Ctrl key at left of 'A'</_description> + </configItem> + </option> + <option> + <configItem> + <name>ctrl:ctrl_aa</name> + <_description>Ctrl key at bottom left</_description> + </configItem> + </option> + <option> + <configItem> + <name>ctrl:ctrl_ra</name> + <_description>Right Ctrl key works as Right Alt.</_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>NumLock LED shows alternative layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp_led:caps</name> + <_description>CapsLock LED shows alternative layout.</_description> + </configItem> + </option> + <option> + <configItem> + <name>grp_led:scroll</name> + <_description>ScrollLock LED shows alternative layout.</_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 keypad</_description> + </configItem> + </option> + <option> + <configItem> + <name>keypad:oss</name> + <_description>Keypad with unicode additions (arrows and math operators)</_description> + </configItem> + </option> + <option> + <configItem> + <name>keypad:future</name> + <_description>Keypad with 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 keypad</_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:phone_hex</name> + <_description>ATM/phone-style hexadecimal keypad</_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> + </group> + <group allowMultipleSelection="false"> + <!-- CapsLock tweaks. + "Internal" capitalization means capitalization using some internal tables. + Otherwise "as Shift" - means using next group. --> + <configItem> + <name>caps</name> + <_description>CapsLock key behavior</_description> + </configItem> + <option> + <configItem> + <name>caps:internal</name> + <_description>CapsLock uses internal capitalization. Shift "pauses" CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:internal_nocancel</name> + <_description>CapsLock uses internal capitalization. Shift doesn't affect CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:shift</name> + <_description>CapsLock acts as Shift with locking. Shift "pauses" CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:shift_nocancel</name> + <_description>CapsLock acts as Shift with locking. Shift doesn't affect CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:capslock</name> + <_description>CapsLock toggles normal capitalization of alphabetic characters.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:swapescape</name> + <_description>Swap ESC and CapsLock.</_description> + </configItem> + </option> + <option> + <configItem> + <name>caps:shiftlock</name> + <_description>CapsLock toggles Shift so all keys are affected.</_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 the Alt keys.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:ctrl_win</name> + <_description>Control is mapped to the Win-keys (and the usual Ctrl keys).</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:meta_win</name> + <_description>Meta is mapped to the Win-keys.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:left_meta_win</name> + <_description>Meta is mapped to the left Win-key.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:super_win</name> + <_description>Super is mapped to the Win-keys.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:hyper_win</name> + <_description>Hyper is mapped to the Win-keys.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:alt_super_win</name> + <_description>Alt is mapped to the right Win-key and Super to Menu.</_description> + </configItem> + </option> + <option> + <configItem> + <name>altwin:swap_lalt_lwin</name> + <_description>Left Alt is swapped with left Win-key.</_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 is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:lwin</name> + <_description>Left Win-key is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:rwin</name> + <_description>Right Win-key is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:menu</name> + <_description>Menu is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:rctrl</name> + <_description>Right Ctrl is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:caps</name> + <_description>Caps Lock is Compose.</_description> + </configItem> + </option> + <option> + <configItem> + <name>compose:102</name> + <_description>Less-than/Greater-than is Compose.</_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 Mac.</_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>srvrkeys:none</name> + <_description>Special keys (Ctrl+Alt+<key>) handled in a server.</_description> + </configItem> + </option> + <option> + <configItem> + <name>apple:badmap</name> + <_description>Swap keycodes of two keys when Mac keyboards are misdetected by kernel.</_description> + </configItem> + </option> + <option> + <configItem> + <name>shift:breaks_caps</name> + <_description>Shift cancels CapsLock.</_description> + </configItem> + </option> + </group> + <group allowMultipleSelection="true"> + <!-- Special shortcuts for the Euro character --> + <configItem> + <name>eurosign</name> + <_description>Adding the EuroSign to certain keys</_description> + </configItem> + <option> + <configItem> + <name>eurosign:e</name> + <_description>Add the EuroSign to the E key.</_description> + </configItem> + </option> + <option> + <configItem> + <name>eurosign:2</name> + <_description>Add the EuroSign to the 2 key.</_description> + </configItem> + </option> + <option> + <configItem> + <name>eurosign:4</name> + <_description>Add the EuroSign to the 4 key.</_description> + </configItem> + </option> + <option> + <configItem> + <name>eurosign:5</name> + <_description>Add the EuroSign to the 5 key.</_description> + </configItem> + </option> + </group> + <group allowMultipleSelection="false"> + <!-- Let space output nobreakspace 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>Space key outputs usual space at any level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level2</name> + <_description>Space key outputs non-breakable space character at second level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level3</name> + <_description>Space key outputs non-breakable space character at third level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level3s</name> + <_description>Space key outputs non-breakable space character at third level, nothing at fourth level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level3n</name> + <_description>Space key outputs 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>Space key outputs non-breakable space character at fourth level.</_description> + </configItem> + </option> + <option> + <configItem> + <name>nbsp:level4n</name> + <_description>Space key outputs 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>Space key outputs non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)</_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> + </optionList> +</xkbConfigRegistry> diff --git a/xorg-server/xkbdata.src/rules/merge.sh b/xorg-server/xkbdata.src/rules/merge.sh new file mode 100644 index 000000000..8dfde5546 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/merge.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +DEST=$1 +shift + +if [ -z "$HDR" ]; then + HDR="HDR" +fi + +basename=`basename $0` +echo "// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY $basename FROM rules/*.part" >$DEST + +for i in $*; do + if [ "$i" == "$HDR" ] || [ "$i" == "HDR" ]; then + echo >> $DEST; + read hdr + echo "$hdr" >> $DEST + else + cat $i >> $DEST; + fi +done < $HDR + diff --git a/xorg-server/xkbdata.src/rules/xfree98 b/xorg-server/xkbdata.src/rules/xfree98 new file mode 100644 index 000000000..ca7a18bf7 --- /dev/null +++ b/xorg-server/xkbdata.src/rules/xfree98 @@ -0,0 +1,29 @@ +// +// Rules for resolving XKB components for use with XFree86 +// Copyright 1996 by Joseph Moss +// +// $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.5 1996/12/17 21:03:59 dawes Exp $ +// + +! model = keycodes geometry + pc98 = xfree98(pc98) nec(pc98) + jp106 = xfree98(jp106) pc(jp106) + +! model layout = symbols + pc98 nec_vndr/jp = nec_vndr/jp(pc98) + jp106 jp = jp + +! model layout = compat types + * * = complete complete + +! option = symbols + grp:switch = +group(switch) + grp:toggle = +group(toggle) + grp:shift_toggle = +group(shifts_toggle) + grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + ctrl:nocaps = +ctrl(nocaps) + ctrl:swapcaps = +ctrl(swapcaps) + ctrl:ctrl_ac = +ctrl(ctrl_ac) + ctrl:ctrl_aa = +ctrl(ctrl_aa) + diff --git a/xorg-server/xkbdata.src/rules/xkb.dtd b/xorg-server/xkbdata.src/rules/xkb.dtd new file mode 100644 index 000000000..4452712fd --- /dev/null +++ b/xorg-server/xkbdata.src/rules/xkb.dtd @@ -0,0 +1,59 @@ +<?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.0"> + +<!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)> +<!ATTLIST shortDescription + xml:lang CDATA #IMPLIED> + +<!ELEMENT description (#PCDATA)> +<!ATTLIST description + xml:lang CDATA #IMPLIED> + +<!ELEMENT vendor (#PCDATA)> + +<!ELEMENT countryList (iso3166Id+)> + +<!ELEMENT iso3166Id (#PCDATA)> + +<!ELEMENT languageList (iso639Id+)> + +<!ELEMENT iso639Id (#PCDATA)> + diff --git a/xorg-server/xkbdata.src/rules/xml2lst.pl b/xorg-server/xkbdata.src/rules/xml2lst.pl new file mode 100644 index 000000000..478fce89c --- /dev/null +++ b/xorg-server/xkbdata.src/rules/xml2lst.pl @@ -0,0 +1,288 @@ +#!/usr/bin/perl + +# converts the <rules>.xml file to the old format <rules>.lst file +# +# Usage: +# +# perl xml2lst.pl [lang] < filename.xml > filename.lst +# +# author Ivan Pascal + +if (@ARGV) { + $lang = shift @ARGV; +} else { + $lang = ''; +} + +$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'); + @desc = node_by_name($i, 'description'); + $descr = with_attribute(\@desc, 'xml:lang='.$lang); + if (! defined $descr) { + $descr = with_attribute(\@desc, 'xml:lang='); + } + printf(" %-15s %s\n", text_child($name), text_child($descr)); +} + +print "\n! layout\n"; +for $i (@layouts) { + ($name) = node_by_name($i, 'name'); + @desc = node_by_name($i, 'description'); + $descr = with_attribute(\@desc, 'xml:lang='.$lang); + if (! defined $descr ) { + $descr = with_attribute(\@desc, 'xml:lang='); + } + 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'); + @desc = node_by_name($v, 'description'); + $descr = with_attribute(\@desc, 'xml:lang='.$lang); + if (! defined $descr) { + $descr = with_attribute(\@desc, 'xml:lang='); + } + 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'); + @desc = node_by_name($g, 'description'); + $descr = with_attribute(\@desc, 'xml:lang='.$lang); + if (! defined $descr) { + $descr = with_attribute(\@desc, 'xml:lang='); + } + 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'); + @desc = node_by_name($o, 'description'); + $descr = with_attribute(\@desc, 'xml:lang='.$lang); + if (! defined $descr) { + $descr = with_attribute(\@desc, 'xml:lang='); + } + 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}; +} |