update OpenHarmony 2.0 Canary

This commit is contained in:
mamingshuai
2021-06-02 00:20:45 +08:00
parent 16b71a8b27
commit 3e5418155b
904 changed files with 488514 additions and 73 deletions
View File
+1379
View File
File diff suppressed because it is too large Load Diff
+15
View File
@@ -0,0 +1,15 @@
== Initiator and maintainer:
Сергей Удальцов (Sergey Udaltsov) <svu@users.sourceforge.net>
== Major contributions by:
Andriy Rysin <arysin@myrealbox.com>
Denis Barbier <barbier@linuxfr.org>
Frank Murphy <murphyf+xfree86@f-m.fm>
Ivan Pascal <pascal@info.tsu.ru>
Nicolas Mailhot <nicolas.mailhot@laposte.net>
Данило Шеган <dsegan@gmx.net>
== Substantial contributions by:
Ivan A Derzhanski <iad@math.bas.bg>
Runa Aruna <runa_aruna@yahoo.com>
Frédéric BOITEUX <fboiteux@calistel.com>
+1746
View File
File diff suppressed because it is too large Load Diff
+190
View File
@@ -0,0 +1,190 @@
Copyright 1996 by Joseph Moss
Copyright (C) 2002-2007 Free Software Foundation, Inc.
Copyright (C) Dmitry Golubev <lastguru@mail.ru>, 2003-2004
Copyright (C) 2004, Gregory Mokhin <mokhin@bog.msu.ru>
Copyright (C) 2006 Erdal Ronahî
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the copyright holder(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The copyright holder(s) makes no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE COPYRIGHT HOLDER(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
Copyright (c) 1996 Digital Equipment Corporation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the Digital Equipment
Corporation shall not be used in advertising or otherwise to promote
the sale, use or other dealings in this Software without prior written
authorization from Digital Equipment Corporation.
Copyright 1996, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
Copyright 2004-2005 Sun Microsystems, Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next
paragraph) shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Silicon Graphics not be
used in advertising or publicity pertaining to distribution
of the software without specific prior written permission.
Silicon Graphics makes no representation about the suitability
of this software for any purpose. It is provided "as is"
without any express or implied warranty.
SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
Copyright (c) 1996 X Consortium
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from the X Consortium.
Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization of
the copyright holder.
Copyright (C) 1999, 2000 by Anton Zinoviev <anton@lml.bas.bg>
This software may be used, modified, copied, distributed, and sold,
in both source and binary form provided that the above copyright
and these terms are retained. Under no circumstances is the author
responsible for the proper functioning of this software, nor does
the author assume any responsibility for damages incurred with its
use.
Permission is granted to anyone to use, distribute and modify
this file in any way, provided that the above copyright notice
is left intact and the author of the modification summarizes
the changes in this header.
This file is distributed without any expressed or implied warranty.
+1
View File
@@ -0,0 +1 @@
ChangeLog file is not used. Use "git log" instead
+885
View File
@@ -0,0 +1,885 @@
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994-2018 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.
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/xkeyboard-config
pkgincludedir = $(includedir)/xkeyboard-config
pkglibdir = $(libdir)/xkeyboard-config
pkglibexecdir = $(libexecdir)/xkeyboard-config
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
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 = :
build_triplet = x86_64-pc-linux-gnu
host_triplet = x86_64-pc-linux-gnu
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES = xkeyboard-config.pc
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
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 = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
DATA = $(pkgconfig_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in \
$(srcdir)/xkeyboard-config.pc.in ABOUT-NLS AUTHORS COPYING \
ChangeLog NEWS README TODO compile config.guess config.rpath \
config.sub install-sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
DIST_TARGETS = dist-bzip2 dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = ${SHELL} /home/d00426933/code/xkb/xkeyboard-config-2.30/missing aclocal-1.16
ADMIN_MAN_DIR = $(mandir)/man$(ADMIN_MAN_SUFFIX)
ADMIN_MAN_SUFFIX = 8
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 1
APP_MAN_DIR = $(mandir)/man$(APP_MAN_SUFFIX)
APP_MAN_SUFFIX = 1
AUTOCONF = ${SHELL} /home/d00426933/code/xkb/xkeyboard-config-2.30/missing autoconf
AUTOHEADER = ${SHELL} /home/d00426933/code/xkb/xkeyboard-config-2.30/missing autoheader
AUTOMAKE = ${SHELL} /home/d00426933/code/xkb/xkeyboard-config-2.30/missing automake-1.16
AWK = gawk
CC = gcc
CCDEPMODE = depmode=none
CFLAGS = -g -O2
CPP = gcc -E
CPPFLAGS =
CYGPATH_W = echo
DEFS = -DPACKAGE_NAME=\"xkeyboard-config\" -DPACKAGE_TARNAME=\"xkeyboard-config\" -DPACKAGE_VERSION=\"2.30\" -DPACKAGE_STRING=\"xkeyboard-config\ 2.30\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"xkeyboard-config\" -DVERSION=\"2.30\" -DENABLE_NLS=1 -DHAVE_GETTEXT=1 -DHAVE_DCGETTEXT=1 -DGETTEXT_PACKAGE=\"xkeyboard-config\"
DEPDIR = .deps
DEPS_CFLAGS =
DEPS_LIBS = -lX11
DRIVER_MAN_DIR = $(mandir)/man$(DRIVER_MAN_SUFFIX)
DRIVER_MAN_SUFFIX = 4
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
FILE_MAN_DIR = $(mandir)/man$(FILE_MAN_SUFFIX)
FILE_MAN_SUFFIX = 5
GETTEXT_MACRO_VERSION = 0.19
GETTEXT_PACKAGE = xkeyboard-config
GMSGFMT = /usr/bin/msgfmt
GMSGFMT_015 = /usr/bin/msgfmt
GREP = /bin/grep
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
INTLLIBS =
INTL_MACOSX_LIBS =
LDFLAGS =
LIBICONV = -liconv
LIBINTL =
LIBOBJS =
LIBS =
LIB_MAN_DIR = $(mandir)/man$(LIB_MAN_SUFFIX)
LIB_MAN_SUFFIX = 3
LTLIBICONV = -liconv
LTLIBINTL =
LTLIBOBJS =
MAKEINFO = ${SHELL} /home/d00426933/code/xkb/xkeyboard-config-2.30/missing makeinfo
MAN_SUBSTS = -e 's|__vendorversion__|"$(PACKAGE_STRING)" "$(XORG_MAN_PAGE)"|' -e 's|__xorgversion__|"$(PACKAGE_STRING)" "$(XORG_MAN_PAGE)"|' -e 's|__xservername__|Xorg|g' -e 's|__xconfigfile__|xorg.conf|g' -e 's|__projectroot__|$(prefix)|g' -e 's|__apploaddir__|$(appdefaultdir)|g' -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
MISC_MAN_DIR = $(mandir)/man$(MISC_MAN_SUFFIX)
MISC_MAN_SUFFIX = 7
MKDIR_P = /bin/mkdir -p
MSGFMT = /usr/bin/msgfmt
MSGFMT_015 = /usr/bin/msgfmt
MSGMERGE = /usr/bin/msgmerge
OBJEXT = o
PACKAGE = xkeyboard-config
PACKAGE_BUGREPORT =
PACKAGE_NAME = xkeyboard-config
PACKAGE_STRING = xkeyboard-config 2.30
PACKAGE_TARNAME = xkeyboard-config
PACKAGE_URL =
PACKAGE_VERSION = 2.30
PATH_SEPARATOR = :
PKG_CONFIG = /usr/bin/pkg-config
PKG_CONFIG_LIBDIR =
PKG_CONFIG_PATH =
POSUB = po
PYTHON = /usr/bin/python3
PYTHON_EXEC_PREFIX = ${exec_prefix}
PYTHON_PLATFORM = linux
PYTHON_PREFIX = ${prefix}
PYTHON_VERSION = 3.5
SED = /bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP =
USE_NLS = yes
VERSION = 2.30
XGETTEXT = /usr/bin/xgettext
XGETTEXT_015 = /usr/bin/xgettext
XGETTEXT_EXTRA_OPTIONS =
XORG_MAN_PAGE = X Version 11
XSLTPROC = /usr/bin/xsltproc
abs_builddir = /home/d00426933/code/xkb/xkeyboard-config-2.30
abs_srcdir = /home/d00426933/code/xkb/xkeyboard-config-2.30
abs_top_builddir = /home/d00426933/code/xkb/xkeyboard-config-2.30
abs_top_srcdir = /home/d00426933/code/xkb/xkeyboard-config-2.30
ac_ct_CC = gcc
am__include = include
am__leading_dot = .
am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build = x86_64-pc-linux-gnu
build_alias =
build_cpu = x86_64
build_os = linux-gnu
build_vendor = pc
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = x86_64-pc-linux-gnu
host_alias =
host_cpu = x86_64
host_os = linux-gnu
host_vendor = pc
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /home/d00426933/code/xkb/xkeyboard-config-2.30/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
pkgpyexecdir = ${pyexecdir}/xkeyboard-config
pkgpythondir = ${pythondir}/xkeyboard-config
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
pyexecdir = ${exec_prefix}/lib/python3.5/site-packages
pythondir = ${prefix}/lib/python3.5/site-packages
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix =
top_builddir = .
top_srcdir = .
xkb_base = ${datarootdir}/X11/xkb
xkb_rules_symlink = xorg
AUTOMAKE_OPTIONS = foreign
SUBDIRS = compat geometry keycodes po rules symbols types docs man
pkgconfigdir = $(datadir)/pkgconfig
pkgconfig_DATA = xkeyboard-config.pc
EXTRA_DIST = config.rpath COPYING README \
autogen.sh \
xkeyboard-config.pc.in
ACLOCAL_AMFLAGS = -I m4
# we don't care about runtime dependencies during distcheck
AM_DISTCHECK_CONFIGURE_FLAGS = --disable-runtime-deps
all: all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
xkeyboard-config.pc: $(top_builddir)/config.status $(srcdir)/xkeyboard-config.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $@
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
# 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.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
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; \
($(am__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"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
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 || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$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 \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__post_remove_distdir)
dist dist-all:
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
$(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build/sub \
&& ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@test -n '$(distuninstallcheck_dir)' || { \
echo 'ERROR: trying to run $@ with an empty' \
'$$(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
$(am__cd) '$(distuninstallcheck_dir)' || { \
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(pkgconfigdir)"; 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:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-pkgconfigDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-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-pkgconfigDATA
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
distcheck distclean distclean-generic distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-pkgconfigDATA install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-pkgconfigDATA
.PRECIOUS: Makefile
sync-po:
rsync -Lrtvz translationproject.org::tp/latest/xkeyboard-config/ po
# 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:
+18
View File
@@ -0,0 +1,18 @@
AUTOMAKE_OPTIONS = foreign
SUBDIRS = compat geometry keycodes po rules symbols types docs man
pkgconfigdir = $(datadir)/pkgconfig
pkgconfig_DATA = xkeyboard-config.pc
EXTRA_DIST=config.rpath COPYING README \
autogen.sh \
xkeyboard-config.pc.in
ACLOCAL_AMFLAGS = -I m4
# we don't care about runtime dependencies during distcheck
AM_DISTCHECK_CONFIGURE_FLAGS=--disable-runtime-deps
sync-po:
rsync -Lrtvz translationproject.org::tp/latest/xkeyboard-config/ po
+885
View File
@@ -0,0 +1,885 @@
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 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@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
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 = :
build_triplet = @build@
host_triplet = @host@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES = xkeyboard-config.pc
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
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 = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
DATA = $(pkgconfig_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in \
$(srcdir)/xkeyboard-config.pc.in ABOUT-NLS AUTHORS COPYING \
ChangeLog NEWS README TODO compile config.guess config.rpath \
config.sub install-sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
DIST_TARGETS = dist-bzip2 dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEPS_CFLAGS = @DEPS_CFLAGS@
DEPS_LIBS = @DEPS_LIBS@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XORG_MAN_PAGE = @XORG_MAN_PAGE@
XSLTPROC = @XSLTPROC@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
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 = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
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@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
xkb_base = @xkb_base@
xkb_rules_symlink = @xkb_rules_symlink@
AUTOMAKE_OPTIONS = foreign
SUBDIRS = compat geometry keycodes po rules symbols types docs man
pkgconfigdir = $(datadir)/pkgconfig
pkgconfig_DATA = xkeyboard-config.pc
EXTRA_DIST = config.rpath COPYING README \
autogen.sh \
xkeyboard-config.pc.in
ACLOCAL_AMFLAGS = -I m4
# we don't care about runtime dependencies during distcheck
AM_DISTCHECK_CONFIGURE_FLAGS = --disable-runtime-deps
all: all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
xkeyboard-config.pc: $(top_builddir)/config.status $(srcdir)/xkeyboard-config.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $@
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
# 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.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
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; \
($(am__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"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
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 || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$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 \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__post_remove_distdir)
dist dist-all:
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
$(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build/sub \
&& ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@test -n '$(distuninstallcheck_dir)' || { \
echo 'ERROR: trying to run $@ with an empty' \
'$$(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
$(am__cd) '$(distuninstallcheck_dir)' || { \
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(pkgconfigdir)"; 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:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-pkgconfigDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-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-pkgconfigDATA
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
distcheck distclean distclean-generic distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-pkgconfigDATA install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-pkgconfigDATA
.PRECIOUS: Makefile
sync-po:
rsync -Lrtvz translationproject.org::tp/latest/xkeyboard-config/ po
# 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:
+121
View File
@@ -0,0 +1,121 @@
2.30 29 commits
Translations updated
2.29 47 commits
Translations updated
2.28 28 commits
Translations updated
2.27 Big change: dropping intltool
24 commits
Translations updated
2.26 Bugzilla moved to gitlab as well
19 commits
Translations updated
2.25 Moving to gitlab
16 commits
Translations updated
2.24 21 commits
Translations updated
2.23.1 Fixed build
2.23 10 commits
Translations updated
2.22 27 commits
Translations updated
2.21 7 bugs fixed
Translations updated
2.20 10 bugs fixed
Translations updated
2.19 21 bugs fixed
Translations updated
2.18 8 bugs fixed
Translations updated
2.17 13 bugs fixed
Translations updated
2.16 10 bugs fixed
Translations updated
2.15 7 bugs fixed
Translations updated
2.14 9 bugs fixed
Translations updated
2.13 7 bugs fixed
Translations updated
2.12 10 bugs fixed
More code cleanup
Translations updated
2.11 11 bugs fixed
Continuing code formatting cleanup
Translations updated
2.10.1 Critical fix
2.10 10+ bugs fixed
37 cleanup commits by Benno Schulenberg
Updated 12 translations
2.9 18 bugs fixed
Updated 10 translations
2.8 18 bugs fixed
Most important change: a lot of materials updated from Oracle (Sun keyboards)
Updated translations
2.7 8 bugs fixed, most important:
- Fxx fixed (CTRL+ALT type)
- *.dir files not produced any more
2.6 16 bugs fixed
Updated translations
Using proper gettext, instead of glib-gettext
Some old/unused material cleaned up
2.5.1 Updated translations (supposed to be 2.5)
2.5 Critical security bug fixed: Grabs and screensavers
15 bugs fixed, a number of translations updated
2.4.1 Critical bug fixed: many Ctl+Alt combinations broken
2.4 9 bugs fixed, a number of translations updated
2.3 First scheduled (and reasonably polished) release since GNOME3.
Serious cleanup of descriptions
18 bugfixes, updated translations
2.2 Non-scheduled release for GNOME3.
Major change in the structure of descriptions.
Some new stuff added too.
2.1.99 Prerelease for 2.2. Major changes in descriptions: for GNOME3 release
Some new layouts and models. Translations are not updated.
Checking runtime dependencies at build time
2.1 Bugfixes (13). Updated/new translations. Some new layouts and models.
2.0 Bugfixes (17). Updated/new translations. Some new layouts and models.
1.9 Bugfixes (27). Updated/new translations. Some new layouts and models.
The evdev model is gone, use pc105 instead.
Some fixes for the build process
1.8 Bugfixes (10). Updated/new translations. Some new layouts and models.
1.7 Bugfixes (30). Updated/new translations. Some new layouts and models.
1.6 Bugfixes (36). Updated/new translations. Some new layouts and models.
Added terminate:* group
Dropped locale-specific models
Improved compat rules
1.5 Bugfixes (45). Updated/new translations. Some new layouts and models. Serious cleanup in symbols/inet.
1.4 Bugfixes (31). Updated/new translations. Some new layouts and models. Added evdev ruleset.
1.3 Bugfixes (35). Updated/new translations. Some new layouts and models. A lot of country and language-related information put into base.xml. Dropped unsupported rulesets sgi and sun.
1.2 Bugfixes (36). Updated/new translations, renewed relations with TP. Some new layouts and models. A lot of changes from OLPC project. Changed base.xml merging schema (.gmo files are installed and used explicitly)
1.1 First time-based release. Bugfixes (27). Updated/new translations, renewed relations with TP. Renamed (for clarity) types. Some new layouts and models.
1.0 Maintenance release. Bugfixes (72). Updated/new translations. Updated/new layouts and models.
0.9 Maintenance release. Bugfixes (76). Updated/new translations. Updated/new layouts.
0.8 Maintenance release. Bugfixes. Updated/new translations. Updated/new layouts.
Massive patch from Sun Microsystems incorporated.
0.7 New layouts and keyboard models (mostly media keyboards)
Massive reorganization of the symbols/inet file (huge credits to Frederic Boiteux)
Improved RAlt handling (for grp:alts_toggle and lvl3:ralt_switch)
A lot of bugs fixed (from fd.o bugzilla)
Added more translations.
0.5 More bugs from freedesktop.org bugzilla fixed.
The group names now are matching the descriptions - and the validating
scripts are implemented.
Some layouts, variants, models are added/fixed.
Some translations are updated (though the overall translation activity
is disappointinly low).
0.4 A lot of fixes and polishing (introduced own CVS keyword).
Highlights:
More universal EURO-related options added.
Improved reorganized indicator handling.
More logical level3 handling
0.3 HEAVILY restructured layout names
Compatibility rules are introduced
intltool problem resolved (sorry, with warnings)
0.2 Now automatically create symlink for xkbcomp (XFree/XOrg servers need it).
Added HOWTO.transition.
Added Maori layout.
Fixed bug 515.
0.1 First public release.
XKB configuration only. Restructured layouts tree. Only additive layouts are included. No compatibility rules.
+79
View File
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2021 Huawei Device Co., Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Notes:
This is project config file for OpenHarmony OSS Audit Tool, if you have any questions or concerns, please email chenyaxun.
-->
<!-- OAT(OSS Audit Tool) configuration guide:
basedir: Root dir, the basedir + project path is the real source file location.
licensefile:
1.If the project don't have "LICENSE" in root dir, please define all the license files in this project in , OAT will check license files according to this rule.
tasklist(only for batch mode):
1. task: Define oat check thread, each task will start a new thread.
2. task name: Only an name, no practical effect.
3. task policy: Default policy for projects under this task, this field is required and the specified policy must defined in policylist.
4. task filter: Default filefilter for projects under this task, this field is required and the specified filefilter must defined in filefilterlist.
5. task project: Projects to be checked, the path field define the source root dir of the project.
policyList:
1. policy: All policyitems will be merged to default OAT.xml rules, the name of policy doesn't affect OAT check process.
2. policyitem: The fields type, name, path, desc is required, and the fields rule, group, filefilter is optional,the default value is:
<policyitem type="" name="" path="" desc="" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter"/>
3. policyitem type:
"compatibility" is used to check license compatibility in the specified path;
"license" is used to check source license header in the specified path;
"copyright" is used to check source copyright header in the specified path;
"import" is used to check source dependency in the specified path, such as import ... ,include ...
"filetype" is used to check file type in the specified path, supported file types: archive, binary
"filename" is used to check whether the specified file exists in the specified path(support projectroot in default OAT.xml), supported file names: LICENSE, README, README.OpenSource
4. policyitem name: This field is used for define the license, copyright, "*" means match all, the "!" prefix means could not match this value. For example, "!GPL" means can not use GPL license.
5. policyitem path: This field is used for define the source file scope to apply this policyitem, the "!" prefix means exclude the files. For example, "!.*/lib/.*" means files in lib dir will be exclude while process this policyitem.
6. policyitem rule and group: These two fields are used together to merge policy results. "may" policyitems in the same group means any one in this group passed, the result will be passed.
7. policyitem filefilter: Used to bind filefilter which define filter rules.
8. filefilter: Filter rules, the type filename is used to filter file name, the type filepath is used to filter file path.
Note:If the text contains special characters, please escape them according to the following rules:
" == &gt;
& == &gt;
' == &gt;
< == &gt;
> == &gt;
-->
<configuration>
<oatconfig>
<licensefile>COPYING</licensefile>
<filefilterlist>
<filefilter name="defaultPolicyFilter" desc="Filters for compatibilitylicense header policies">
<filteritem type="filename" name="README.OpenSource"/>
<filteritem type="filename" name="README"/>
<filteritem type="filename" name="compile" desc="通过编译生成"/>
<filteritem type="filename" name="config.*" desc="配置文件,通过编译生成"/>
<filteritem type="filename" name="missing" desc="通过编译生成"/>
<filteritem type="filepath" name="build/.*" desc="配置文件,通过编译生成"/>
<filteritem type="filepath" name="geometry/.*" desc="未使用"/>
<filteritem type="filepath" name="keycodes/.*" desc="未使用"/>
<filteritem type="filepath" name="m4/.*" desc="未使用"/>
<filteritem type="filepath" name="symbols/.*" desc="未使用"/>
</filefilter>
<filefilter name="copyrightPolicyFilter" desc="Filters for copyright header policies" >
<filteritem type="filename" name="README.OpenSource"/>
<filteritem type="filename" name="README"/>
</filefilter>
</filefilterlist>
</oatconfig>
</configuration>
+47
View File
@@ -0,0 +1,47 @@
X Keyboard Extension
--------------------
The X Keyboard (XKB) Extension essentially replaces the core protocol
definition of a keyboard. The extension makes it possible to specify
clearly and explicitly most aspects of keyboard behaviour on a per-key
basis, and to track more closely the logical and physical state of a
keyboard. It also includes a number of keyboard controls designed to
make keyboards more accessible to people with physical impairments.
There are five components that define a complete keyboard mapping:
symbols, geometry, keycodes, compat, and types; these five components
can be combined together using the 'rules' component of the database
provided by this project, xkeyboard-config.
The complete specification for the XKB Extension can be found here:
http://xfree86.org/current/XKBproto.pdf
xkeyboard-config
----------------
This project provides a consistent, well-structured, frequently
released, open source database of keyboard configuration data. The
project is targeted to XKB-based systems.
For XKB configuration information, see:
docs/README.config
For information on how to enhance the database itself, see:
docs/README.enhancing
For information on how to replace an older XKB configuration database
with the one provided by this project, see:
docs/HOWTO.transition
For guidelines to making contributions to this project, see:
http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules
To submit bug reports (and patches), please use the issue system in
freedesktop.org's gitlab instance:
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/issues
+11
View File
@@ -0,0 +1,11 @@
[
{
"Name":"XKeyboardConfig",
"License":"MIT",
"License File":"COPYING",
"Version Number":"2.30",
"Owner":"pengfei.hou@huawei.com",
"Upstream URL":"https://www.freedesktop.org/wiki/Software/XKeyboardConfig/Development/",
"Description": "The non-arch keyboard configuration database for X Window. The goal is to provide the consistent, well-structured, frequently released open source of X keyboard configuration data for X Window System implementations (free, open source and commercial). The project is targeted to XKB-based systems"
}
]
-36
View File
@@ -1,36 +0,0 @@
# third_party_xkeyboardconfig
#### Description
Third-party open-source software xkeyboardconfig | 三方开源软件xkeyboardconfig
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
-37
View File
@@ -1,37 +0,0 @@
# third_party_xkeyboardconfig
#### 介绍
Third-party open-source software xkeyboardconfig | 三方开源软件xkeyboardconfig
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
+6
View File
@@ -0,0 +1,6 @@
+ Ensure all national layouts are 'normalized' (no multiple layouts for same country/language - only variants)
+ Write tests checking that every model/layout(variant)/option in base.xml is working
+ Add the vendor info to the keyboard geometry description
- Check consistence (correctness, usability) of the descriptions in the registry. Note: ask help from GNOME Usability Team.
- Write tests which would ensure that base.xml covers everything
- Write compatibility rules for old models/layouts/variants (potentially eternal job)
Vendored
+3645
View File
File diff suppressed because it is too large Load Diff
Executable
+17
View File
@@ -0,0 +1,17 @@
#! /bin/sh
srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd "$srcdir"
autoreconf -v --install --force || exit 1
git config --local --get format.subjectPrefix >/dev/null 2>&1 ||
git config --local format.subjectPrefix "PATCH xkeyboard-config"
cd "$ORIGDIR" || exit $?
if test -z "$NOCONFIGURE"; then
exec "$srcdir"/configure "$@"
fi
@@ -0,0 +1,33 @@
The core protocol interpretation of keyboard modifiers does not include direct
support for multiple keyboard groups, so XKB reports the effective keyboard
group to XKB-aware clients using some of the reserved bits in the state field
of some core protocol events. This modified state field would not be interpreted
correctly by XKB-unaware clients, so XKB provides a group compatibility mapping
which remaps the keyboard group into a core modifier mask that has similar
effects, when possible.
XKB maintains three compatibility state components that are used to make
XKB-unaware clients(*) work as well as possible:
- The compatibility state which corresponds to the effective modifier and
effective group state.
- The compatibility lookup state which is the core-protocol equivalent of the
lookup state.
- The compatibility grab state which is the nearest core-protocol equivalent
of the grab state.
Compatibility states are essentially the corresponding XKB states, but with
the keyboard group possibly encoded as one or more modifiers.
Modifiers that correspond to each keyboard group are described in this
group compatibility map.
----
(*) The implementation of XKB invisibly extends the X library to use the
keyboard extension if it is present. That means, clients that use library or
toolkit routines to interpret keyboard events automatically use all of XKB's
features; clients that directly interpret the state field of core-protocol
events or the keymap directly may be affected by some of the XKB differences.
Thus most clients can take all advantages without modification but it also
means that XKB state can be reported to clients that have not explicitly
requested the keyboard extension.
@@ -0,0 +1,52 @@
default partial xkb_compatibility "basic" {
interpret AccessX_Enable {
action= LockControls(controls=AccessXKeys);
};
};
partial xkb_compatibility "full" {
interpret AccessX_Enable {
action= LockControls(controls=AccessXKeys);
};
interpret AccessX_Feedback_Enable {
action= LockControls(controls=AccessXFeedback);
};
interpret RepeatKeys_Enable {
action= LockControls(controls=RepeatKeys);
};
interpret SlowKeys_Enable {
action= LockControls(controls=SlowKeys);
};
interpret BounceKeys_Enable {
action= LockControls(controls=BounceKeys);
};
interpret StickyKeys_Enable {
action= LockControls(controls=StickyKeys);
};
interpret MouseKeys_Enable {
action= LockControls(controls=MouseKeys);
};
interpret MouseKeys_Accel_Enable {
action= LockControls(controls=MouseKeysAccel);
};
interpret Overlay1_Enable {
action= LockControls(controls=Overlay1);
};
interpret Overlay2_Enable {
action= LockControls(controls=Overlay2);
};
interpret AudibleBell_Enable {
action= LockControls(controls=AudibleBell);
};
};
@@ -0,0 +1,49 @@
// Minimal set of symbol interpretations to provide
// reasonable default behavior (Num lock, Shift lock,
// Caps lock, and Mode switch) and set up the
// automatic updating of common keyboard LEDs.
default xkb_compatibility "basic" {
virtual_modifiers NumLock,AltGr;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= True;
interpret Shift_Lock+AnyOf(Shift+Lock) {
action= LockMods(modifiers=Shift);
};
interpret Any+Lock {
action= LockMods(modifiers=Lock);
};
interpret Num_Lock+Any {
virtualModifier= NumLock;
action= LockMods(modifiers=NumLock);
};
interpret Mode_switch {
useModMapMods= level1;
virtualModifier= AltGr;
action= SetGroup(group=+1);
};
interpret Any + Any {
action= SetMods(modifiers=modMapMods);
};
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
include "ledcaps"
include "lednum"
indicator "Shift Lock" {
!allowExplicit;
whichModState= Locked;
modifiers= Shift;
};
};
+11
View File
@@ -0,0 +1,11 @@
partial xkb_compatibility "caps_lock" {
// Keysym Caps_Lock locks the Lock modifier.
// With this definition, the keysym Caps_Lock can be used without binding
// the whole key to a real modifier. This is essential when you don't
// want to use Caps_Lock on the first level.
// This should not have any compatibility issues when used together with
// other layouts which don't utilize this capability.
interpret Caps_Lock {
action = LockMods(modifiers = Lock);
};
};
@@ -0,0 +1,10 @@
default xkb_compatibility "complete" {
include "basic"
augment "iso9995"
augment "mousekeys"
augment "accessx(full)"
augment "misc"
augment "xfree86"
augment "level5"
augment "caps(caps_lock)"
};
@@ -0,0 +1,77 @@
// Fairly complete set of symbol interpretations
// to provide reasonable default behavior.
default partial xkb_compatibility "default" {
virtual_modifiers LevelThree,AltGr;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= True;
interpret ISO_Level2_Latch+Shift {
useModMapMods= level1;
action= LatchMods(modifiers=Shift);
};
interpret ISO_Level3_Shift+Any {
useModMapMods= level1;
virtualModifier= LevelThree;
action= SetMods(modifiers=LevelThree);
};
interpret ISO_Level3_Shift {
action= SetMods(modifiers=LevelThree);
};
interpret ISO_Level3_Latch+Any {
useModMapMods= level1;
virtualModifier= LevelThree;
action= LatchMods(modifiers=LevelThree);
};
interpret ISO_Level3_Latch {
action= LatchMods(modifiers=LevelThree);
};
interpret ISO_Level3_Lock+Any {
useModMapMods= level1;
virtualModifier= LevelThree;
action= LockMods(modifiers=LevelThree);
};
interpret ISO_Level3_Lock {
action= LockMods(modifiers=LevelThree);
};
interpret ISO_Group_Latch {
useModMapMods= level1;
virtualModifier= AltGr;
action= LatchGroup(group=2);
};
interpret ISO_Next_Group {
useModMapMods= level1;
virtualModifier= AltGr;
action= LockGroup(group=+1);
};
interpret ISO_Prev_Group {
useModMapMods= level1;
virtualModifier= AltGr;
action= LockGroup(group=-1);
};
interpret ISO_First_Group {
action= LockGroup(group=1);
};
interpret ISO_Last_Group {
action= LockGroup(group=2);
};
indicator "Group 2" {
!allowExplicit;
groups= All-Group1;
};
};
@@ -0,0 +1,45 @@
// Japanese keyboards need the Eisu and Kana Shift
// and Lock keys, which are typically bound to the
// second shift level of some other modifier key.
// These interpretations disable the default
// interpretation (which would have these keys set
// to the same modifier as the level one symbol).
default partial xkb_compatibility "japan" {
interpret.repeat= False;
interpret Eisu_Shift+Lock {
action= NoAction();
};
interpret Eisu_toggle+Lock {
action= NoAction();
};
interpret Kana_Shift+Lock {
action= NoAction();
};
interpret Kana_Lock+Lock {
action= NoAction();
};
};
// Some Japanese keyboards have an explict
// Kana Lock key and matching LED.
partial xkb_compatibility "kana_lock" {
virtual_modifiers Kana_Lock;
interpret Kana_Lock+AnyOfOrNone(all) {
virtualModifier= Kana_Lock;
useModMapMods=level1;
action= LockGroup(group=+1);
};
indicator "Kana" {
!allowExplicit;
groups= All-Group1;
};
};
@@ -0,0 +1,24 @@
// Use the Caps Lock LED to show either
// Caps Lock, Group, or Shift Lock state.
default partial xkb_compatibility "caps_lock" {
indicator "Caps Lock" {
!allowExplicit;
whichModState= Locked;
modifiers= Lock;
};
};
partial xkb_compatibility "group_lock" {
indicator "Caps Lock" {
modifiers= None;
groups=All-group1;
};
};
partial xkb_compatibility "shift_lock" {
indicator "Caps Lock" {
whichModState= Locked;
modifiers= Shift;
};
};
@@ -0,0 +1,16 @@
default partial xkb_compatibility "compose" {
virtual_modifiers Compose;
interpret Multi_key+Any {
virtualModifier= Compose;
action = LatchMods(modifiers=modMapMods);
};
indicator "Compose" {
allowExplicit;
whichModState= Latched;
modifiers= Compose;
};
};
@@ -0,0 +1,24 @@
// Use the Num Lock LED to show either
// Num Lock, Group, or Shift Lock state.
default partial xkb_compatibility "num_lock" {
indicator "Num Lock" {
!allowExplicit;
whichModState= Locked;
modifiers= NumLock;
};
};
partial xkb_compatibility "group_lock" {
indicator "Num Lock" {
modifiers= None;
groups=All-group1;
};
};
partial xkb_compatibility "shift_lock" {
indicator "Num Lock" {
whichModState= Locked;
modifiers= Shift;
};
};
@@ -0,0 +1,24 @@
// Use the Scroll Lock LED to show either
// Scroll Lock, Group, or Shift Lock state.
default partial xkb_compatibility "scroll_lock" {
indicator "Scroll Lock" {
allowExplicit;
whichModState= Locked;
modifiers= ScrollLock;
};
};
partial xkb_compatibility "group_lock" {
indicator "Scroll Lock" {
modifiers= None;
groups=All-group1;
};
};
partial xkb_compatibility "shift_lock" {
indicator "Scroll Lock" {
whichModState= Locked;
modifiers= Shift;
};
};
@@ -0,0 +1,56 @@
// Fairly complete set of symbol interpretations
// to provide reasonable default behavior.
default partial xkb_compatibility "default" {
virtual_modifiers LevelFive;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= True;
interpret ISO_Level5_Shift+Any {
useModMapMods= level1;
virtualModifier= LevelFive;
action= SetMods(modifiers=LevelFive);
};
interpret ISO_Level5_Shift {
action= SetMods(modifiers=LevelFive);
};
interpret ISO_Level5_Latch+Any {
useModMapMods= level1;
virtualModifier= LevelFive;
action= LatchMods(modifiers=LevelFive);
};
interpret ISO_Level5_Latch {
action= LatchMods(modifiers=LevelFive);
};
interpret ISO_Level5_Lock+Any {
useModMapMods= level1;
virtualModifier= LevelFive;
action= LockMods(modifiers=LevelFive);
};
interpret ISO_Level5_Lock {
action= LockMods(modifiers=LevelFive);
};
};
partial xkb_compatibility "level5_lock" {
// This defines a Level5-Lock using the NumLock real modifier
// in order to create arbitrary level-behaviour, which would
// not be possible with the virtual modifier.
// See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
// See also: symbols/level5(lock)
virtual_modifiers NumLock;
interpret ISO_Level5_Lock {
action = LockMods(modifiers = NumLock);
};
};
+122
View File
@@ -0,0 +1,122 @@
default partial xkb_compatibility "misc" {
virtual_modifiers Alt,Meta,Super,Hyper,ScrollLock;
// Interpretations for some other useful keys.
interpret Terminate_Server {
action = Terminate();
};
setMods.clearLocks= True;
// Sets the "Alt" virtual modifier.
interpret Alt_L+Any {
//useModMapMods= level1;
virtualModifier= Alt;
action = SetMods(modifiers=modMapMods);
};
interpret Alt_L {
action = SetMods(modifiers=Alt);
};
interpret Alt_R+Any {
//useModMapMods= level1;
virtualModifier= Alt;
action = SetMods(modifiers=modMapMods);
};
interpret Alt_R {
action = SetMods(modifiers=Alt);
};
// Sets the "Meta" virtual modifier.
interpret Meta_L+Any {
//useModMapMods= level1;
virtualModifier= Meta;
action = SetMods(modifiers=modMapMods);
};
interpret Meta_L {
action = SetMods(modifiers=Meta);
};
interpret Meta_R+Any {
//useModMapMods= level1;
virtualModifier= Meta;
action = SetMods(modifiers=modMapMods);
};
interpret Meta_R {
action = SetMods(modifiers=Meta);
};
// Sets the "Super" virtual modifier.
interpret Super_L+Any {
//useModMapMods= level1;
virtualModifier= Super;
action = SetMods(modifiers=modMapMods);
};
interpret Super_L {
action = SetMods(modifiers=Super);
};
interpret Super_R+Any {
//useModMapMods= level1;
virtualModifier= Super;
action = SetMods(modifiers=modMapMods);
};
interpret Super_R {
action = SetMods(modifiers=Super);
};
// Sets the "Hyper" virtual modifier.
interpret Hyper_L+Any {
//useModMapMods= level1;
virtualModifier= Hyper;
action = SetMods(modifiers=modMapMods);
};
interpret Hyper_L {
action = SetMods(modifiers=Hyper);
};
interpret Hyper_R+Any {
//useModMapMods= level1;
virtualModifier= Hyper;
action = SetMods(modifiers=modMapMods);
};
interpret Hyper_R {
action = SetMods(modifiers=Hyper);
};
// Sets the "ScrollLock" virtual modifier and
// makes it actually lock when pressed. Sets
// up a map for the scroll lock indicator.
interpret Scroll_Lock+Any {
virtualModifier= ScrollLock;
action = LockMods(modifiers=modMapMods);
};
include "ledscroll"
include "misc(assign_shift_left_action)"
};
partial xkb_compatibility "assign_shift_left_action" {
// Because of the irrevertable modifier mapping in symbols/pc,
// <LFSH> is getting bound to the Lock modifier when using
// symbols/shift(both_capslock), creating unwanted behaviour.
// This is a quirk, to circumvent the problem.
interpret Shift_L {
action = SetMods(modifiers = Shift);
};
};
@@ -0,0 +1,201 @@
// Interpretations for arrow keys and a bunch of
// other common keysyms which make it possible to
// bind "mouse" keys using xmodmap and activate or
// deactivate them from the keyboard.
default partial xkb_compatibility "mousekeys" {
// Keypad actions.
interpret.repeat= True;
interpret KP_1 {
action = MovePtr(x=-1,y= +1);
};
interpret KP_End {
action = MovePtr(x=-1,y= +1);
};
interpret KP_2 {
action = MovePtr(x=+0,y= +1);
};
interpret KP_Down {
action = MovePtr(x=+0,y= +1);
};
interpret KP_3 {
action = MovePtr(x=+1,y=+1);
};
interpret KP_Next {
action = MovePtr(x=+1,y=+1);
};
interpret KP_4 {
action = MovePtr(x=-1,y=+0);
};
interpret KP_Left {
action = MovePtr(x=-1,y=+0);
};
interpret KP_6 {
action = MovePtr(x=+1,y=+0);
};
interpret KP_Right {
action = MovePtr(x=+1,y=+0);
};
interpret KP_7 {
action = MovePtr(x=-1,y=-1);
};
interpret KP_Home {
action = MovePtr(x=-1,y=-1);
};
interpret KP_8 {
action = MovePtr(x=+0,y=-1);
};
interpret KP_Up {
action = MovePtr(x=+0,y=-1);
};
interpret KP_9 {
action = MovePtr(x=+1,y=-1);
};
interpret KP_Prior {
action = MovePtr(x=+1,y=-1);
};
interpret KP_5 {
action = PointerButton(button=default);
};
interpret KP_Begin {
action = PointerButton(button=default);
};
interpret KP_F2 {
action = SetPtrDflt(affect=defaultButton,button=1);
};
interpret KP_Divide {
action = SetPtrDflt(affect=defaultButton,button=1);
};
interpret KP_F3 {
action = SetPtrDflt(affect=defaultButton,button=2);
};
interpret KP_Multiply {
action = SetPtrDflt(affect=defaultButton,button=2);
};
interpret KP_F4 {
action = SetPtrDflt(affect=defaultButton,button=3);
};
interpret KP_Subtract {
action = SetPtrDflt(affect=defaultButton,button=3);
};
interpret KP_Separator {
action = PointerButton(button=default,count=2);
};
interpret KP_Add {
action = PointerButton(button=default,count=2);
};
interpret KP_0 {
action = LockPointerButton(button=default,affect=lock);
};
interpret KP_Insert {
action = LockPointerButton(button=default,affect=lock);
};
interpret KP_Decimal {
action = LockPointerButton(button=default,affect=unlock);
};
interpret KP_Delete {
action = LockPointerButton(button=default,affect=unlock);
};
// Additional mappings for Solaris keypad compatibility.
interpret F25 { // aka KP_Divide
action = SetPtrDflt(affect=defaultButton,button=1);
};
interpret F26 { // aka KP_Multiply
action = SetPtrDflt(affect=defaultButton,button=2);
};
interpret F27 { // aka KP_Home
action = MovePtr(x=-1,y=-1);
};
interpret F29 { // aka KP_Prior
action = MovePtr(x=+1,y=-1);
};
interpret F31 { // aka KP_Begin
action = PointerButton(button=default);
};
interpret F33 { // aka KP_End
action = MovePtr(x=-1,y= +1);
};
interpret F35 { // aka KP_Next
action = MovePtr(x=+1,y=+1);
};
interpret.repeat= False;
// New keysym actions.
interpret Pointer_Button_Dflt {
action= PointerButton(button=default);
};
interpret Pointer_Button1 {
action= PointerButton(button=1);
};
interpret Pointer_Button2 {
action= PointerButton(button=2);
};
interpret Pointer_Button3 {
action= PointerButton(button=3);
};
interpret Pointer_DblClick_Dflt {
action= PointerButton(button=default,count=2);
};
interpret Pointer_DblClick1 {
action= PointerButton(button=1,count=2);
};
interpret Pointer_DblClick2 {
action= PointerButton(button=2,count=2);
};
interpret Pointer_DblClick3 {
action= PointerButton(button=3,count=2);
};
interpret Pointer_Drag_Dflt {
action= LockPointerButton(button=default);
};
interpret Pointer_Drag1 {
action= LockPointerButton(button=1);
};
interpret Pointer_Drag2 {
action= LockPointerButton(button=2);
};
interpret Pointer_Drag3 {
action= LockPointerButton(button=3);
};
interpret Pointer_EnableKeys {
action= LockControls(controls=MouseKeys);
};
interpret Pointer_Accelerate {
action= LockControls(controls=MouseKeysAccel);
};
interpret Pointer_DfltBtnNext {
action= SetPtrDflt(affect=defaultButton,button= +1);
};
interpret Pointer_DfltBtnPrev {
action= SetPtrDflt(affect=defaultButton,button= -1);
};
// Allow an indicator for MouseKeys.
indicator "Mouse Keys" {
//!allowExplicit;
indicatorDrivesKeyboard;
controls= MouseKeys;
};
};
+51
View File
@@ -0,0 +1,51 @@
//
// Map the OLPC game keys to virtual modifiers.
//
// Created by Bernardo Innocenti <bernie@codewiz.org>
//
default xkb_compatibility "olpc" {
include "complete"
virtual_modifiers Square,Cross,Triangle,Circle;
interpret KP_Home+Any {
//useModMapMods= level1;
virtualModifier= Square;
action = SetMods(modifiers=modMapMods);
};
interpret KP_Home {
action = SetMods(modifiers=Square);
};
interpret KP_Next+Any {
//useModMapMods= level1;
virtualModifier= Cross;
action = SetMods(modifiers=modMapMods);
};
interpret KP_Next {
action = SetMods(modifiers=Cross);
};
interpret KP_End+Any {
//useModMapMods= level1;
virtualModifier= Circle;
action = SetMods(modifiers=modMapMods);
};
interpret KP_End {
action = SetMods(modifiers=Circle);
};
interpret KP_Prior+Any {
//useModMapMods= level1;
virtualModifier= Triangle;
action = SetMods(modifiers=modMapMods);
};
interpret KP_Prior {
action = SetMods(modifiers=Triangle);
};
};
+17
View File
@@ -0,0 +1,17 @@
default partial xkb_compatibility "pc" {
// Sets the "Alt" virtual modifier.
virtual_modifiers Alt;
setMods.clearLocks= True;
interpret Alt_L+Any {
virtualModifier= Alt;
action = SetMods(modifiers=modMapMods);
};
interpret Alt_R+Any {
virtualModifier= Alt;
action = SetMods(modifiers=modMapMods);
};
};
+56
View File
@@ -0,0 +1,56 @@
// Minimal set of symbol interpretations to provide
// reasonable default behavior (Num lock, Shift lock,
// and Mode switch) and set up the automatic updating
// of common keyboard LEDs.
default xkb_compatibility "basic" {
virtual_modifiers NumLock,AltGr;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= True;
interpret Shift_Lock+AnyOf(Shift+Lock) {
action= LockMods(modifiers=Shift);
};
// interpret Any+Lock {
// action= LockMods(modifiers=Lock);
// };
interpret Num_Lock+Any {
virtualModifier= NumLock;
action= LockMods(modifiers=NumLock);
};
interpret Mode_switch {
useModMapMods= level1;
virtualModifier= AltGr;
action= SetGroup(group=2,clearLocks);
};
interpret Any + Any {
action= SetMods(modifiers=modMapMods);
};
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
indicator.allowExplicit= False;
indicator "Caps Lock" {
whichModState= Locked;
modifiers= Lock;
};
indicator "Num Lock" {
whichModState= Locked;
modifiers= NumLock;
};
indicator "Shift Lock" {
whichModState= Locked;
modifiers= Shift;
};
indicator.allowExplicit= True;
};
@@ -0,0 +1,66 @@
// XFree86 special keysyms.
default partial xkb_compatibility "basic" {
interpret.repeat= True;
interpret XF86_Switch_VT_1 {
action = SwitchScreen(Screen=1, !SameServer);
};
interpret XF86_Switch_VT_2 {
action = SwitchScreen(Screen=2, !SameServer);
};
interpret XF86_Switch_VT_3 {
action = SwitchScreen(Screen=3, !SameServer);
};
interpret XF86_Switch_VT_4 {
action = SwitchScreen(Screen=4, !SameServer);
};
interpret XF86_Switch_VT_5 {
action = SwitchScreen(Screen=5, !SameServer);
};
interpret XF86_Switch_VT_6 {
action = SwitchScreen(Screen=6, !SameServer);
};
interpret XF86_Switch_VT_7 {
action = SwitchScreen(Screen=7, !SameServer);
};
interpret XF86_Switch_VT_8 {
action = SwitchScreen(Screen=8, !SameServer);
};
interpret XF86_Switch_VT_9 {
action = SwitchScreen(Screen=9, !SameServer);
};
interpret XF86_Switch_VT_10 {
action = SwitchScreen(Screen=10, !SameServer);
};
interpret XF86_Switch_VT_11 {
action = SwitchScreen(Screen=11, !SameServer);
};
interpret XF86_Switch_VT_12 {
action = SwitchScreen(Screen=12, !SameServer);
};
interpret XF86LogGrabInfo {
action = Private(type=0x86, data="PrGrbs");
};
interpret XF86LogWindowTree {
action = Private(type=0x86, data="PrWins");
};
interpret XF86_Next_VMode {
action = Private(type=0x86, data="+VMode");
};
interpret XF86_Prev_VMode {
action = Private(type=0x86, data="-VMode");
};
};
partial xkb_compatibility "grab_break" {
interpret XF86_Ungrab {
action = Private(type=0x86, data="Ungrab");
};
interpret XF86_ClearGrab {
action = Private(type=0x86, data="ClsGrb");
};
};
@@ -0,0 +1,56 @@
default xkb_compatibility "xtest" {
// Minimal set of symbol interpretations to provide
// reasonable behavior for testing.
// The X Test Suite assumes that it can set any modifier
// by simulating a KeyPress and clear it by simulating a
// KeyRelease. Because of the way that XKB implements
// locking/latching modifiers, this approach fails in
// some cases (typically the Lock or NumLock modifiers).
// These symbol interpretations make all modifier keys
// just set the corresponding modifier so that xtest
// will see the behavior it expects.
virtual_modifiers NumLock,AltGr;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= False;
interpret Shift_Lock+AnyOf(Shift+Lock) {
action= SetMods(modifiers=Shift);
};
interpret Num_Lock+Any {
virtualModifier= NumLock;
action= SetMods(modifiers=NumLock);
};
interpret Mode_switch {
useModMapMods= level1;
virtualModifier= AltGr;
action= SetGroup(group=2);
};
interpret Any + Any {
action= SetMods(modifiers=modMapMods);
};
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
indicator.allowExplicit= False;
indicator "Caps Lock" {
modifiers= Lock;
};
indicator "Num Lock" {
modifiers= NumLock;
};
indicator "Shift Lock" {
whichModState= Locked;
modifiers= Shift;
};
indicator.allowExplicit= True;
};
@@ -0,0 +1,6 @@
The geometry component of a keyboard mapping specifies primarily the geometry of
the keyboard. It contains the geometry symbolic name and the keyboard geometry
description. The geometry component might also contain aliases for some keys or
symbolic names for some indicators and might affect the set of indicators that
are physically present. Key aliases defined in the geometry component of a
keyboard mapping override those defined in the keycodes component.
@@ -0,0 +1,264 @@
default xkb_geometry "usa1" {
description= "Amiga (usa1)";
width= 490;
height= 175;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "FCTS" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "TLDE" { { [ 28,18] }, { [2,1], [ 21,17] } };
shape "TABK" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "CTRL" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "CAPS" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "RTRN" {
approx = { [ 16, 0], [42,37] },
{ [16, 0], [42, 0], [42,37],
[ 0,37], [ 0,19], [16,19] },
{ [18, 1], [40, 1], [40,36],
[ 2,36], [ 2,20], [18,20] } };
shape "LFSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "MODK" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
shape "DELE" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 22;
row.left= 1;
key.shape= "FCTS";
key.gap= 1;
section "Function" {
top= 28;
row {
top= 1;
keys { { <ESC>, shape="NORM" },
{ <FK01>, 9 }, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 9 }, <FK07>, <FK08>, <FK09>, <FK10>
};
};
}; // End of "Function" section
key.shape= "NORM";
section "Alpha" {
top= 56;
row {
top= 1;
keys { { <TLDE>, shape="TLDE" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<BKSL>, { <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN", -15 }
};
};
row {
top= 39;
keys { { <LCTL>, "CTRL" }, { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
key.shape= "MODK";
keys { { <LALT>, 10 }, <LAMI>,
{ <SPCE>, "SPCE" },
<RAMI>, <RALT>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 56;
left= 326;
row {
top= 1;
key.shape = "DELE";
keys { <DELE>, <HELP> };
};
row {
top= 39;
left = 20;
keys { <UP> };
};
row {
top= 58;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 56;
left= 392;
row {
top= 1;
keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDC> };
};
}; // End of "Keypad" section
};
xkb_geometry "de" {
description= "Amiga (de)";
width= 490;
height= 175;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "FCTS" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "TLDE" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "TABK" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "CTRL" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "CAPS" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "RTRN" {
{ [ 0, 0], [28,0], [28,37], [5,37], [5,18], [ 0,18] },
{ [ 2, 1], [26,1], [26,36], [7,36], [7,17], [ 2,17] } };
shape "LFSH" { { [ 32,18] }, { [2,1], [ 29,17] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "MODK" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
shape "DELE" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 22;
row.left= 1;
key.shape= "FCTS";
key.gap= 1;
section "Function" {
top= 28;
row {
top= 1;
keys { { <ESC>, shape="NORM" },
{ <FK01>, 9 }, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 9 }, <FK07>, <FK08>, <FK09>, <FK10>
};
};
}; // End of "Function" section
key.shape= "NORM";
section "Alpha" {
top= 56;
row {
top= 1;
keys { { <TLDE>, shape="TLDE" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<BKSL>, { <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" }
};
};
row {
top= 39;
keys { { <LCTL>, "CTRL" }, { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<LSGT>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
key.shape= "MODK";
keys { { <LALT>, 14 }, <LAMI>,
{ <SPCE>, "SPCE" },
<RAMI>, <RALT>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 56;
left= 326;
row {
top= 1;
key.shape = "DELE";
keys { <DELE>, <HELP> };
};
row {
top= 39;
left = 20;
keys { <UP> };
};
row {
top= 58;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 56;
left= 392;
row {
top= 1;
keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDC> };
};
}; // End of "Keypad" section
};
@@ -0,0 +1,251 @@
default xkb_geometry "us" {
description= "Atari TT (us)";
width= 480;
height= 173;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "RTRN" { approx = { [0,19], [32,37] },
{ [ 14, 0], [32, 0], [32,37], [0,37], [0,19], [14,19] },
{ [ 16, 1], [30, 1], [30,36], [2,36], [2,20], [16,20] } };
shape "CTRL" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
shape "FCTS" { { [ 28,10] }, { [2,1], [ 26,9] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 21;
row.left= 1;
key.shape = "NORM";
key.gap= 1;
section "Function" {
top= 36;
key.shape= "FCTS";
row {
top= 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>,
<FK09>, <FK10>
};
};
}; // End of "Function" section
section "Alpha" {
top= 63;
row {
top= 1;
keys { <ESC>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, <TLDE>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN", -13 }, <DELE>
};
};
row {
top= 39;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <BKSL>, 34 }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
key.shape= "MODK";
keys { { <ALT>, 24 },
{ <SPCE>, "SPCE" },
<CAPS>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 63;
left= 319;
row {
top= 1;
key.shape = "BKSP";
keys { <HELP>, <UNDO> };
};
row {
top= 20;
keys { <INS>, <UP>, <HOME> };
};
row {
top= 39;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 63;
left= 381;
row {
top= 1;
keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDC> };
};
}; // End of "Keypad" section
};
xkb_geometry "de" {
description= "Atari TT (de)";
width= 480;
height= 173;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" { approx = { [0,19], [32,37] },
{ [ 14, 0], [32, 0], [32,37], [0,37], [0,19], [14,19] },
{ [ 16, 1], [30, 1], [30,36], [2,36], [2,20], [16,20] } };
shape "CTRL" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "RTSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [170,18] }, { [2,1], [168,17] } };
shape "FCTS" { { [ 28,11] }, { [2,1], [ 26,10] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 21;
row.left= 1;
key.shape = "NORM";
key.gap= 1;
section "Function" {
top= 36;
key.shape= "FCTS";
row {
top= 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>,
<FK09>, <FK10>
};
};
}; // End of "Function" section
section "Alpha" {
top= 63;
row {
top= 1;
keys { <ESC>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, <TLDE>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN", -13 }, <DELE>
};
};
row {
top= 39;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <BKSL>, 34 }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>,
<AB05>, <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
key.shape= "MODK";
keys { { <ALT>, 24 }, { <SPCE>, "SPCE" }, <CAPS>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 63;
left= 319;
row {
top= 1;
key.shape = "BKSP";
keys { <HELP>, <UNDO> };
};
row {
top= 20;
keys { <INS>, <UP>, <HOME> };
};
row {
top= 39;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 63;
left= 381;
row {
top= 1;
keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDC> };
};
}; // End of "Keypad" section
};
@@ -0,0 +1,189 @@
// -*- indent-tabs-mode: nil -*-
// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
// Geometry specification for Chicony KB-9820 keyboard.
// 86 keys
default xkb_geometry "us" {
description = "Chicony KB-9820 infra-red keyboard";
width = 350;
height = 180;
//baseColor = "grey60";
labelColor = "white";
shape "EDGE" { cornerRadius = 25,
{ [0, 8], [142.5, 0], [202.5, 0], [347, 8],
[347, 60], [327, 100], [322, 160],
[202.5, 165], [142.5, 165],
[25, 160], [20, 100], [0, 60] } };
shape "KEYS" { cornerRadius = 2, { [271, 109] } };
shape "MOUS" { cornerRadius = 12, { [24, 24] } };
shape "MOUS2" { cornerRadius = 9, { [18, 18] } };
shape "BTNS" { cornerRadius = 5, { [10, 10] } };
solid "Edges" {
top = 0;
left = 0;
shape = "EDGE";
color = "grey60";
};
solid "KeyPanel" {
shape = "KEYS";
left = 38;
top = 22;
color = "black";
};
solid "Mouse" {
shape = "MOUS";
left = 315;
top = 30;
color = "grey30";
};
outline "Mouse2" {
shape = "MOUS2";
left = 318;
top = 33;
color = "black";
};
solid "Button1" {
shape = "BTNS";
left = 10;
top = 32;
color = "grey30";
};
solid "Button2" {
shape = "BTNS";
left = 20;
top = 42;
color = "grey30";
};
outline "Buttons" {
shape = "MOUS";
left = 8;
top = 30;
color = "black";
};
shape.cornerRadius = 1;
shape "ESC" { { [17, 12] }, { [1.5, 0], [15.5, 10] } };
shape "SMALL" { { [15, 12] }, { [1.5, 0], [13.5, 10] } };
shape "THIN" { { [14, 18] }, { [2, 0], [12, 15] } };
shape "NARR" { { [16, 18] }, { [2, 0], [14, 15] } };
shape "NORM" { { [17, 18] }, { [2, 0], [15, 15] } };
shape "WIDER" { { [18, 18] }, { [2, 0], [16, 15] } };
shape "CAPS" { { [22, 18] }, { [2, 0], [20, 15] } };
shape "RTSH" { { [23, 18] }, { [2, 0], [21, 15] } };
shape "WIDEST" { { [30, 18] }, { [2, 0], [28, 15] } };
shape "SPCE" { { [68, 18] }, { [2, 0], [66, 15] } };
section "Function" {
key.shape = "SMALL";
key.gap = 0.79;
key.color = "grey60";
left = 38;
top = 22;
row {
top = 1;
keys { { <ESC>, shape="ESC", 1 },
{ <FK01>, 1.5 }, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>,
<FK09>, <FK10>, <FK11>, <FK12>,
<NMLK>, <PRSC>, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Control" {
key.shape = "NORM";
key.gap = 1;
key.color = "grey60";
left = 38;
top = 111;
row {
top = 1;
keys { <EASY>, <LCTL>, <LWIN>, <LALT>,
{ <SPCE>, shape="SPCE" },
<RALT>,
{ <RWIN>, shape="THIN" },
{ <MENU>, shape="THIN" },
{ <INS>, shape="THIN" },
{ <DELE>, shape="THIN" } };
};
}; // End of "Control" section
section "Editing" {
key.shape = "NORM";
key.gap = 1;
key.color = "grey60";
left = 291;
top = 34;
row.vertical = True;
row {
top = 1;
keys { <HOME>, <PGUP>, <PGDN>, <END> };
};
}; // End of "Editing" section
section "Navigation" {
key.gap = 1;
key.shape = "NARR";
key.color = "grey60";
left = 257;
top = 92;
row {
left = 16;
top = 1;
keys { <UP> };
};
row {
top = 20;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Navigation" section
section "Alpha" {
key.gap = 1;
key.shape = "NORM";
key.color = "grey60";
left = 38;
top = 35;
row {
top = 1;
keys { { <TLDE>, shape="NARR" },
<AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, shape="WIDER" }
};
};
row {
top = 20;
keys { <TAB>,
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, <AD13>
};
};
row {
top = 39;
keys { { <CAPS>, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, shape="WIDEST" }
};
};
row {
top = 58;
keys { { <LFSH>, shape="WIDEST" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, shape="RTSH" }
};
};
}; // End of "Alpha" section
};
+644
View File
@@ -0,0 +1,644 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
default xkb_geometry "dell101" {
description= "Dell 101";
width= 470;
height= 210;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "CAPS" { { [ 33,18] }, { [ 28,18] }, { [2,1], [ 26,16] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
shape "SPCE" { { [133,18] }, { [2,1], [131,16] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 52;
left= 377;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 67;
indicator.shape= "LED";
indicator "Num Lock" { left= 382; };
indicator "Caps Lock" { left= 407; };
indicator "Scroll Lock" { left= 433; };
text.top= 55;
text.color= "black";
text "NumLockLabel" { left= 378; text="Num\nLock"; };
text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 52;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 91;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 21 },
{ <SPCE>, "SPCE", color="white" },
<RALT>, { <RCTL>, 21 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 91;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 91;
left= 376;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "default" geometry
xkb_geometry "dell65" {
};
xkb_geometry "dell65x" {
description= "Dell 101";
width= 470;
height= 210;
color="grey10";
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "CAPS" { { [ 33,18] }, { [ 28,18] }, { [2,1], [ 26,16] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
shape "SPCE" { { [133,18] }, { [2,1], [131,16] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 52;
left= 377;
color= "grey10";
};
shape "BACKGROUND" { cornerRadius=5, { [ 470, 210 ] } };
solid "Background" {
shape= "BACKGROUND";
top= 0;
left= 0;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 67;
indicator.shape= "LED";
indicator "Num Lock" { left= 382; };
indicator "Caps Lock" { left= 407; };
indicator "Scroll Lock" { left= 433; };
text.top= 55;
text.color= "black";
text "NumLockLabel" { left= 378; text="Num\nLock"; };
text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 52;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 91;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 21 },
{ <SPCE>, "SPCE", color="white" },
<RALT>, { <RCTL>, 21 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 91;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 91;
left= 376;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
//
// Dell Precision M65 laptop
//
xkb_geometry "dellm65" {
description= "Dell Precision M65 laptop";
width= 308;
height= 152;
baseColor = "grey20";
labelColor = "white";
shape "BACKGROUND" { cornerRadius = 3, { [ 308, 152 ] } };
shape "BACKGROUND2" { cornerRadius = 2, { [ 7, 22 ],
[ 171, 22 ],
[ 171, 10 ],
[ 301, 10 ],
[ 301, 148 ],
[ 244, 148 ],
[ 244, 132 ],
[ 7, 132] } };
solid "Background" {
shape = "BACKGROUND";
top = 0;
left = 0;
color = "grey20";
};
solid "Background2" {
shape = "BACKGROUND2";
top = 0;
left = 0;
color = "black";
};
shape "LEDS" { cornerRadius = 4, { [ 26, 8 ] } };
shape "LED" { cornerRadius = 0, { [ 4, 4 ] } };
solid "LedPanel" {
shape = "LEDS";
top = 8;
left = 69;
color = "grey20";
};
indicator.onColor= "green";
indicator.offColor= "gray20";
indicator.top= 10;
indicator.shape= "LED";
indicator "Num Lock" { left= 72; };
indicator "Caps Lock" { left= 80; };
indicator "Scroll Lock" { left= 88; };
shape "MEDIA" { cornerRadius = 5, { [ 2, 2], [ 12, 12 ] } };
shape "POWER" { cornerRadius = 7, { [ 14, 14 ] } };
section "Media" {
top = 5;
left = 102;
width = 60;
height = 14;
key.color="grey30";
key.shape = "MEDIA";
row {
top = 0;
keys {
<I2E>, <I30>, <I20>, { <I04>, shape = "POWER", gap = 3 }
};
};
};
shape "FKEY" { cornerRadius = 1, { [ 18, 12 ] }, { [ 1, 1 ], [ 17, 10 ] } };
section "Function" {
top = 12;
left = 8;
width = 290;
height = 24;
key.color = "grey80";
key.shape = "FKEY";
key.gap = 0;
row {
top = 0;
keys { { <MENU>, 165 }, <PRSC>, <NMLK>, <PAUS>,
{ <INS>, 1 }, <HOME>, <PGUP> };
};
row {
top = 12;
keys { <ESC>, { <FK01>, 1 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 1 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 1 }, <FK10>, <FK11>, <FK12>,
{ <DELE>, 1 }, <END>, <PGDN> };
};
};
shape "AKEY" { cornerRadius = 1, { [ 19, 19 ] }, { [ 2, 1 ], [ 17, 15 ] } };
shape "BKSP" { cornerRadius = 1, { [ 44, 19 ] }, { [ 2, 1 ], [ 42, 15 ] } };
shape "TABK" { cornerRadius = 1, { [ 31, 19 ] }, { [ 2, 1 ], [ 29, 15 ] } };
shape "BKSL" { cornerRadius = 1, { [ 31, 19 ] }, { [ 2, 1 ], [ 29, 15 ] } };
shape "CAPS" { cornerRadius = 1, { [ 34, 19 ] }, { [ 2, 1 ], [ 32, 15 ] } };
shape "RTRN" { cornerRadius = 1, { [ 47, 19 ] }, { [ 2, 1 ], [ 45, 15 ] } };
shape "LFSH" { cornerRadius = 1, { [ 44, 19 ] }, { [ 2, 1 ], [ 42, 15 ] } };
shape "RTSH" { cornerRadius = 1, { [ 56, 19 ] }, { [ 2, 1 ], [ 54, 15 ] } };
shape "LCTL" { cornerRadius = 1, { [ 31, 19 ] }, { [ 2, 1 ], [ 29, 15 ] } };
shape "LALT" { cornerRadius = 1, { [ 25, 19 ] }, { [ 2, 1 ], [ 23, 15 ] } };
shape "RCTL" { cornerRadius = 1, { [ 25, 19 ] }, { [ 2, 1 ], [ 23, 15 ] } };
shape "SPCE" { cornerRadius = 1, { [ 96, 19 ] }, { [ 2, 1 ], [ 94, 15 ] } };
section "Alpha" {
top = 36;
left = 8;
width = 290;
height = 21;
key.color = "grey80";
key.shape = "AKEY";
key.gap = 0;
row {
top = 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, 1, "BKSP" } };
};
row {
top = 20;
keys { { <TAB>, "TABK" },
{ <AD01>, 1 }, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, 1, "BKSL" } };
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
{ <AC01>, 1 }, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, 1, "RTRN" } };
};
row {
top = 58;
keys { { <LFSH>, "LFSH" },
{ <AB01>, 1 }, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, 1, "RTSH" } };
};
row {
top = 77;
keys { { <LCTL>, "LCTL" }, { <LWIN>, 20 }, { <LALT>, "LALT" },
{ <SPCE>, "SPCE" }, <RALT>, { <RCTL>, "RCTL" } };
};
};
shape "SKEY" { cornerRadius = 1, { [ 18, 17 ] }, { [ 2, 1 ], [ 16, 13 ] } };
section "Arrows" {
top = 113;
left = 243;
width = 54;
height = 36;
key.color = "grey80";
key.shape = "SKEY";
row {
top = 0;
left = 20;
keys { <UP> };
};
row {
top = 17;
left = 2;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
shape "STIK" { cornerRadius = 4, { [ 7, 7 ] } };
solid "STIK" {
priority = 255;
color = "blue";
shape = "STIK";
top = 90;
left = 135;
};
};
xkb_geometry "latitude" {
description="Dell Latitude";
width=304.2; height=219.1;
baseColor="grey"; labelColor="white";
alias <AC00> =<CAPS>;
alias <AA00> =<LCTL>;
shape "EXTERNAL" {corner=3,
{[0,0], [302,0], [302,154], [174,154], [174,198], [166,216], [107,216], [100,198], [100,154], [0,154]}};
solid "external" {shape="EXTERNAL"; top=1.1; left=1.1; color="grey10"; priority=10;};
shape "INTERNAL" {corner=3,
{[0,13], [162.2,13], [162.2,0], [286,0], [286,138], [230,138], [230,124], [163,124], [163,138], [96,138], [96,124], [0,124]}};
solid "internal" {shape="INTERNAL"; top=7; left=8.5; color="black"; priority=20;};
shape "TOUCHPAD" {corner=2, {[68,40]}};
solid "touchpad" {shape="TOUCHPAD"; top=153; left=104; color="grey20"; priority=20;};
shape "TOUCHPADBUTTONS" {corner=1,
{[0,0], [33.5,0], [33.5,16], [6,16]},
{[34.5,0], [68,0], [61, 16], [34.5,16]}};
solid "touchleft" {shape="TOUCHPADBUTTONS"; top=198; left=104; color="grey20"; priority=20;};
shape "NIPPLE" {corner=3, {[7.5,7.5]}};
solid "nipple" {shape="NIPPLE"; top=87; left=134; color="blue"; priority=200;};
shape "NIPPLEBUTTONS" {corner=2, {[32.5,13]}, {[33.5,0],[66,13]}};
solid "nipplebuttons" {shape="NIPPLEBUTTONS"; top=131; left=105; color="grey20"; priority=20;};
shape "FILLINGS" {corner=1.5, {[19,15]}, {[38,0],[55,15]}};
solid "fillings" {shape="FILLINGS"; top=112; left=238; color="grey"; priority=200;};
shape "FUNC" {corner=1.5, {[16.3,12]}, {[2,0.5], [14,10]}};
shape "ESC" {corner=1.5, {[18,12]}, {[2,0.5], [16,10]}};
shape "BKSP" {corner=1.5, {[36.5,18]}, {[3,0.5], [33.5,14]}};
section "Function" {key.color="grey"; priority=100; top=9; left=10; width=290; height=28;
row {top=0; left=161.1; keys {{<MENU>,"FUNC",1.1}, {<PRSC>,"FUNC",1.1}, {<NMLK>,"FUNC",1.1},
{<PAUS>,"FUNC",1.1}, {<INS>,"FUNC",2.5}, {<HOME>,"FUNC",1.1}, {<PGUP>,"FUNC",1.1}};};
row {top=12.5; left=0; keys {{<ESC>,"ESC",0},
{<FK01>,"FUNC",2.7}, {<FK02>,"FUNC",1.1}, {<FK03>,"FUNC",1.1}, {<FK04>,"FUNC",1.1},
{<FK05>,"FUNC",2.5}, {<FK06>,"FUNC",1.1}, {<FK07>,"FUNC",1.1}, {<FK08>,"FUNC",1.1},
{<FK09>,"FUNC",2.5}, {<FK10>,"FUNC",1.1}, {<FK11>,"FUNC",1.1}, {<FK12>,"FUNC",1.1},
{<DELE>,"FUNC",2.5}, {<END>, "FUNC",1.1}, {<PGDN>,"FUNC",1.1}};};
}; // End of "Function" section
shape "NORM" {corner=1.5, {[18,18]}, {[3,0.5], [14.8,14]}};
shape "TABK" {corner=1.5, {[28,18]}, {[3,0.5], [25,14]}};
shape "CAPS" {corner=1.5, {[32,18]}, {[3,0.5], [22,14]}};
shape "LFSH" {corner=1.5, {[23,18]}, {[3,0.5], [20,14]}};
shape "RTSH" {corner=1.5, {[50,18]}, {[3,1], [47,14]}};
shape "RTRN" {corner=1.5, {[0,0],[26.5,0],[26.5,37],[4,37],[4,18],[0,18]},
{[3,0.5], [23.5,0.5], [23.5,33], [7,33], [7,14], [3,14]}};
shape "SPCE" {corner=1.5,{[95,18]}, {[3,0.5],[92,14]}};
shape "LCTL" {corner=1.5, {[27,18]}, {[3,0.5],[24,14]}};
shape "LALT" {corner=1.5, {[22,18]}, {[3,0.5],[19,14]}};
shape "WIN" {corner=1.5, {[18,18]}, {[3,0.5],[15,14]}};
section "Alpha" {key.color="grey"; priority=100; top=36; left=10; width=290; height=18;
row {top=0; left=0; keys {{<TLDE>, "NORM", 0}, {<AE01>, "NORM", 1}, {<AE02>, "NORM", 1}, {<AE03>, "NORM", 1},
{<AE04>, "NORM", 1}, {<AE05>, "NORM", 1}, {<AE06>, "NORM", 1}, {<AE07>, "NORM", 1}, {<AE08>, "NORM", 1},
{<AE09>, "NORM", 1}, {<AE10>, "NORM", 1}, {<AE11>, "NORM", 1}, {<AE12>, "NORM", 1}, {<BKSP>, "BKSP", 1}};};
row {top=19; left=0; keys {{<TAB>, "TABK", 0}, {<AD01>, "NORM", 1}, {<AD02>, "NORM", 1}, {<AD03>, "NORM", 1},
{<AD04>, "NORM", 1}, {<AD05>, "NORM", 1}, {<AD06>, "NORM", 1}, {<AD07>, "NORM", 1}, {<AD08>, "NORM", 1},
{<AD09>, "NORM", 1}, {<AD10>, "NORM", 1}, {<AD11>, "NORM", 1}, {<AD12>, "NORM", 1}, {<RTRN>, "RTRN", 1}};};
row {top=38; left=0; keys {{<CAPS>, "CAPS", 0}, {<AC01>, "NORM", 1}, {<AC02>, "NORM", 1}, {<AC03>, "NORM", 1},
{<AC04>, "NORM", 1}, {<AC05>, "NORM", 1}, {<AC06>, "NORM", 1}, {<AC07>, "NORM", 1}, {<AC08>, "NORM", 1},
{<AC09>, "NORM", 1}, {<AC10>, "NORM", 1}, {<AC11>, "NORM", 1}, {<AC12>, "NORM", 1}};};
// TODO There's a weird <> key here, check it out:
row {top=57; left=0; keys {{<LFSH>, "LFSH", 0}, {<AB01>, "NORM", 1}, {<AB02>, "NORM", 1}, {<AB03>, "NORM", 1},
{<AB04>, "NORM", 1}, {<AB05>, "NORM", 1}, {<AB06>, "NORM", 1}, {<AB07>, "NORM", 1}, {<AB08>, "NORM", 1},
{<AB09>, "NORM", 1}, {<AB10>, "NORM", 1}, {<AB11>, "NORM", 1}, {<RTSH>, "RTSH", 1}};};
row {top=76; left=0; keys {{<LCTL>, "LCTL", 0}, {<FN>, "WIN", 1},{<LWIN>, "WIN", 1}, {<LALT>, "LALT", 1},
{<SPCE>, "SPCE", 1}, {<RALT>, "WIN", 1},{<RCTL>, "LALT", 1}};};
}; // End of "Alpha" section
shape "ARROW" {corner=1.5, {[17,15]}, {[2,0.5],[15,13]}};
section "Arrows" {key.color="grey"; priority=110; top=112; left=240; width=43; height=31;
row {top=0; left=18; keys {{<UP>, "ARROW", 0}};};
row {top=16; left=0; keys {{<LEFT>, "ARROW", 0}, {<DOWN>, "ARROW", 1}, {<RGHT>, "ARROW", 1}};};
}; // End of "Arrows" section
shape "LEDS" {corner=3, {[25,7]}};
solid "leds" {shape="LEDS"; top=5.7; left=69; color="grey"; priority=10;};
shape "LED" {corner=0, {[0,1.5], [3,4.5]}, {[0.5,1.5], [1,0] , [2,0], [2.5,1.5]}};
indicator.onColor="green";
indicator.offColor="grey";
indicator.top=7;
indicator.shape="LED";
indicator.priority=200;
indicator "Num Lock" {left=72;};
indicator "Caps Lock" {left=80;};
indicator "Scroll Lock" {left=88;};
text "LATITUDE" {left=10; top=7; text="L A T I T U D E | D620";};
shape "ROUND" {corner=5, {[10,10]}};
shape "POWER" {corner=7, {[15,15]}};
section "Topbuttons" {key.color="grey"; priority=110; top=2; left=100;
row {top=2; left=0; keys {{<VLUP>, "ROUND", 0}, {<VLDN>, "ROUND", 3}, {<MUTE>, "ROUND", 3}};};
row {top=0; left=45; keys {{<POWR>, "POWER", 0}};};
}; // End of "TopButtons" section
};
@@ -0,0 +1,728 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//Permission is hereby granted, free of charge, to any person obtaining
//a copy of this software and associated documentation files (the
//"Software"), to deal in the Software without restriction, including
//without limitation the rights to use, copy, modify, merge, publish,
//distribute, sublicense, and sell copies of the Software, and to
//permit persons to whom the Software is furnished to do so, subject to
//the following conditions:
//
//The above copyright notice and this permission notice shall be included
//in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of the Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log: lk,v
// Revision 1.2 1996/06/18 09:12:47 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.6.2 1995/08/18 21:15:16 William_Walker
// Upgrade XKB to Protocol Rev. 0.64
// [1995/08/18 20:41:46 William_Walker]
//
// Revision 1.1.2.5 1995/08/11 19:35:47 William_Walker
// Sync up with Erik's pool.
// [1995/08/11 18:35:58 William_Walker]
//
// Revision 1.1.2.4 1995/06/27 12:17:28 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:23:07 William_Walker]
//
// Revision 1.1.2.3 1995/06/09 20:54:36 William_Walker
// Add VT105 layout support and ISO group support
// [1995/06/09 20:40:38 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:16 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:05:43 William_Walker]
//
// EndLog
//
// @(#)RCSfile: lk,v Revision: 1.2 (DEC) Date: 1996/01/24 12:16:00
//
xkb_geometry "lk201" {
width = 530;
height = 170;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[23,19] },
{ [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
{ [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
shape "SPCE" { { [171,19] },{ [3,2], [168,16]} };
shape "LEDS" { [ 30,15] };
shape "LED" { [ 5, 2] };
section.left= 27;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Function" { top = 20;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 19 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 19 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 98 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 20; left = 350;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 41;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 61;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 81; left = 20;
keys { <UP> };
};
row { top = 101;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 60; left = 426;
row { top = 1;
keys { <KPF1>, <KPF2>, <KPF3>, <KPF4> };
};
row { top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 60;
row { top = 1; left = 15;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "MED" }
};
};
row { top = 21; left = 15;
keys { { <TAB>, "MED" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { <LCTL>,
{ <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { { <LFSH>, "LONG" },
<AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "LONG" }
};
};
row { top = 81; left = 26;
keys { { <LCMP>, "LONG" },
{ <SPCE>, "SPCE" }
};
};
};
section.left = 341;
section.top = 3;
section "Indicators" {
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.top = 10;
indicator.shape= "LED";
indicator "Scroll Lock" { left = 9; };
indicator "Caps Lock" { left = 27; };
indicator "Compose" { left = 45; };
indicator "Wait" { left = 63; };
text.top = 4;
text.color = "black";
text "HoldScreenLabel" {left = 5; text="Hold\n"; };
text "CapsLockLabel" {left = 23; text="Lock\n"; };
text "ComposeLabel" {left = 37; text="Compose\n"; };
text "WaitLabel" {left = 60; text="Wait\n"; };
};
};
xkb_geometry "lk401" {
width = 480;
height = 180;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[23,19] },
{ [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
{ [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
shape "SPCE" { { [131,19] },{ [3,2], [128,16]} };
shape "LEDS" { [ 36,15] };
shape "LED" { [ 5, 2] };
section.left= 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 20; top = 10; text="digital\n"; };
section "Function" { top = 20;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 15 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 15 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 75 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 20; left = 320;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 41;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 61;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 81; left= 20;
keys { <UP> };
};
row { top = 101;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 60; left = 385;
row { top = 1;
keys { <KPF1>, <KPF2>, <KPF3>, <KPF4> };
};
row {
top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 60;
row { top = 1; left = 15;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "MED" }
};
};
row { top = 21; left = 15;
keys { { <TAB>, "MED" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { <LCTL>,
{ <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { { <LFSH>, "LONG" },
<AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "LONG" }
};
};
row { top = 81; left = 29;
keys { { <LCMP>, "MED" },
{ <LALT>, "MED" },
{ <SPCE>, "SPCE" },
{ <RALT>, "MED" },
{ <RCMP>, "MED" }
};
};
};
section.left = 69;
section.top = 3;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.shape = "LED";
indicator.top = 1;
indicator "Scroll Lock" { left = 3; };
indicator "Caps Lock" { left = 22; };
};
section "IndicatorLabels" {
text.top = 4;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
};
};
xkb_geometry "lk450" {
width = 480;
height = 180;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[23,19] },
{ [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
{ [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
shape "SPCE" { { [131,19] },{ [3,2], [128,16]} };
shape "LEDS" { [ 36,15] };
shape "LED" { [ 5, 2] };
section.left= 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 20; top = 10; text="digital\n"; };
section "Function" { top = 20;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 15 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 15 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 75 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 20; left = 320;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 41;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 61;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 81; left= 20;
keys { <UP> };
};
row { top = 101;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 60; left = 385;
row { top = 1;
keys { <KPF1>, <KPF2>, <KPF3>, <KPF4> };
};
row {
top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 60;
row { top = 1; left = 15;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "MED" }
};
};
row { top = 21; left = 15;
keys { { <TAB>, "MED" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { <LCTL>,
{ <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { { <LFSH>, "LONG" },
<AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "LONG" }
};
};
row { top = 81; left = 29;
keys { { <LCMP>, "MED" },
{ <LALT>, "MED" },
{ <SPCE>, "SPCE" },
{ <RALT>, "MED" },
{ <RCMP>, "MED" }
};
};
};
section.left = 69;
section.top = 3;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.shape = "LED";
indicator.top = 1;
indicator "Scroll Lock" { left = 3; };
indicator "Caps Lock" { left = 22; };
};
section "IndicatorLabels" {
text.top = 4;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
};
};
xkb_geometry "lk401bj"
{
width = 480;
height = 180;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[23,19] },
{ [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
{ [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
shape "SPCE" { { [131,19] },{ [3,2], [128,16]} };
shape "LEDS" { [ 30,15] };
shape "LED" { [ 5, 2] };
section.left= 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 20; top = 10; text="digital\n"; };
section "Function" { top = 20;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 15 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 15 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 75 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 20; left = 320;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 41;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 61;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 81; left = 20;
keys { <UP> };
};
row { top = 101;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 60; left = 385;
row { top = 1;
keys { <PF1>, <PF2>, <PF3>, <PF4> };
};
row { top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 60;
row { top = 1; left = 15;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "MED" }
};
};
row { top = 21; left = 15;
keys { { <TAB>, "MED" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { <LCTL>,
{ <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { { <LFSH>, "LONG" },
<AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "LONG" }
};
};
row { top = 81; left = 29;
keys { { <LCMP>, "MED" },
{ <LALT>, "MED" },
{ <SPCE>, "SPCE" },
{ <RALT>, "MED" },
{ <RCMP>, "MED" }
};
};
};
section.left = 69;
section.top = 3;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.top = 1;
indicator.shape= "LED";
indicator "Scroll Lock" { left = 3; };
indicator "Caps Lock" { left = 22; };
text.top = 4;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 19; text="Caps\nLock"; };
};
};
xkb_geometry "lk401jj" {
width = 460;
height = 180;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[28,23] },
{ [0,0], [28,0], [28,39], [5,39], [5,19], [0,19] },
{ [3,2], [25,2], [25,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "LONG1" { { [32,19] }, { [3,2], [29,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "MED1" { { [23,19] }, { [3,2], [20,16] } };
shape "CTRL" { { [43,19] }, { [3,2], [38,16] } };
shape "SPCE" { { [55,19] },{ [3,2], [53,16]} };
shape "LEDS" { [ 56,15] };
shape "LED" { [ 5, 2] };
section.left = 5;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 7; top = 10; text="digital\n"; };
section "Function" { top = 40;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 18 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 18 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 73 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 40; left = 313;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 31;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 51;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 71; left= 20;
keys { <UP> };
};
row { top = 91;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 70; left = 377;
row { top = 1;
keys { <PF1>, <PF2>, <PF3>, <PF4> };
};
row { top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 70;
row { top = 1; left = 7;
keys { { <AE00>, "MED1" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<AB00>, { <BKSP>, "MED1" }
};
};
row { top = 21; left = 7;
keys { { <TAB>, "LONG1" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { <CAPS>, { <LFSH>, "LONG1" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "MED" }
};
};
row { top = 81; left = 7;
keys { { <LCMP>, "LONG" },
{ <LALT>, "LONG" },
{ <MUHE>, "LONG" },
{ <SPCE>, "SPCE" },
{ <KANJ>, "LONG" },
{ <HIRA>, "LONG" },
<RALT>, <RCMP>
};
};
};
section.left = 315;
section.top = 20;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.top = 11;
indicator.shape= "LED";
indicator "Scroll Lock" { left = 6; };
indicator "Caps Lock" { left = 26; };
text.top = 4;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
};
};
@@ -0,0 +1,349 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//Permission is hereby granted, free of charge, to any person obtaining
//a copy of this software and associated documentation files (the
//"Software"), to deal in the Software without restriction, including
//without limitation the rights to use, copy, modify, merge, publish,
//distribute, sublicense, and sell copies of the Software, and to
//permit persons to whom the Software is furnished to do so, subject to
//the following conditions:
//
//The above copyright notice and this permission notice shall be included
//in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of the Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log: pc,v
// Revision 1.2 1996/06/18 09:12:50 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.6.2 1995/08/18 21:15:18 William_Walker
// Upgrade XKB to Protocol Rev. 0.64
// [1995/08/18 20:41:49 William_Walker]
//
// Revision 1.1.2.4 1995/08/11 19:35:48 William_Walker
// Sync up with Erik's pool.
// [1995/08/11 18:36:03 William_Walker]
//
// Revision 1.1.2.3 1995/06/27 12:17:29 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:23:10 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:19 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:05:51 William_Walker]
//
// EndLog
//
// @(#)RCSfile: pc,v Revision: 1.2 (DEC) Date: 1996/02/02 14:40:25
//
partial xkb_geometry "common" {
width = 480;
height = 200;
shape.cornerRadius = 1;
shape "NORM" { primary = { [18,19] }, { [3,2], [15,16] } };
shape "KP0" { primary = { [37,19] }, { [3,2], [34,16] } };
shape "KPAD" { primary = { [18,39] }, { [3,2], [15,36] } };
shape "LEDS" { [78,22] };
shape "LED" { [5,2] };
text.color = "black";
section.left = 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Function" { top = 40;
row { top = 1;
keys { <ESC>,
{ <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 10 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 10 }, <FK10>, <FK11>, <FK12>
};
};
};
section "Editing" { top = 40; left = 308;
row { top = 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row { top = 41;
keys { <INS>, <HOME>, <PGUP> };
};
row { top = 61;
keys { <DELE>, <END>, <PGDN> };
};
row { top = 101; left = 20;
keys { <UP> };
};
row { top = 121;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 80; left = 374;
row { top = 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row { top = 21;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } };
};
row { top = 81;
keys { { <KP0>, "KP0" }, <KPDL> };
};
};
};
partial xkb_geometry "leds_on_keys" {
section.top = 40;
section.left = 17;
section "LedPanel" {
indicator.onColor = "#00ff00";
indicator.offColor = "#001000";
indicator.shape = "LED";
indicator "Scroll Lock" { left = 317; top = 5; };
indicator "Num Lock" { left = 364; top = 45; };
indicator "Caps Lock" { left = 10; top = 85; };
};
section.left = 375;
section.top = 40;
section "LogoPanel" {
solid "logo_panel" { top = 0; left = 0;
shape = "LEDS";
color = "grey";
};
text "Logo" {left = 28; top = 10; text="digital\n"; };
};
};
partial xkb_geometry "leds_alone" {
section.left = 375;
section.top = 40;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
shape = "LEDS";
color = "grey";
};
indicator.top = 16;
indicator.onColor = "#00ff00";
indicator.offColor = "#001000";
indicator.shape = "LED";
indicator "Num Lock" { left = 3; };
indicator "Caps Lock" { left = 26; };
indicator "Scroll Lock" { left = 50; };
text "Logo" {left = 2; top = 3; text="digital\n"; };
};
section "IndicatorLabels" {
text.top = 11;
text "NumLockLabel" {left = 10; text="Num\nLock"; };
text "CapsLockLabel" {left = 33; text="Caps\nLock"; };
text "ScrollLockLabel" {left = 58; text="Scroll\nLock"; };
};
};
xkb_geometry "pc101" {
include "digital_vndr/pc(common)"
shape.cornerRadius = 1;
shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } };
shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "RTRN" { primary = { [41,19] }, { [3,2], [38,16] } };
shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } };
shape "LFSH" { primary = { [41,19] }, { [3,2], [38,16] } };
shape "RTSH" { primary = { [51,19] }, { [3,2], [49,16] } };
shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} };
section.left = 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Alpha" { top = 80;
row { top = 1;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row { top = 21;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row { top = 41;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
{ <RTRN>, "RTRN" }
};
};
row { top = 61;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>,
<AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row { top = 81;
key.shape = "MODK";
keys { <LCTL>,
{ <LALT>, 20 },
{ <SPCE>, "SPCE" },
<RALT>,
{ <RCTL>, 21 }
};
};
};
};
xkb_geometry "pc102" {
include "digital_vndr/pc(common)"
shape.cornerRadius = 1;
shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } };
shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "RTRN" {
approx = { [0,0],[28,19] },
{ [0,0], [27,0], [27,39], [5,39], [5,19], [0,19] },
{ [3,2], [24,2], [24,36], [8,36], [8,16], [3,16] }
};
shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } };
shape "LFSH" { primary = { [22,19] }, { [3,2], [19,16] } };
shape "RTSH" { primary = { [51,19] }, { [3,2], [49,16] } };
shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} };
section.left = 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Alpha" { top = 80;
row { top = 1;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row { top = 21;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <AC12>
};
};
row { top = 61;
keys { { <LFSH>, "LFSH" },
<BKSL>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row { top = 81;
key.shape = "MODK";
keys { <LCTL>,
{ <LALT>, 20 },
{ <SPCE>, "SPCE" },
<RALT>,
{ <RCTL>, 21 }
};
};
};
};
xkb_geometry "pcxaj" {
include "digital_vndr/pc(common)"
shape.cornerRadius = 1;
shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } };
shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "RTRN" { primary = { [22,19] }, { [3,2], [19,16] } };
shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } };
shape "LFSH" { primary = { [41,19] }, { [3,2], [38,16] } };
shape "RTSH" { primary = { [32,19] }, { [3,2], [29,16] } };
shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "SPCE" { primary = { [114,19]}, { [3,2], [111,16]} };
section.left = 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Alpha" { top = 80;
row { top = 1;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row { top = 21;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row { top = 41;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <AC12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 61;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>,
<AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
{ <RTSH>, "RTSH" }
};
};
row { top = 81;
key.shape = "MODK";
keys { <LCTL>, <LALT>,
{ <MUHE>, "NORM" },
{ <SPCE>, "SPCE" },
{ <KANJ>, "NORM" },
{ <HIRA>, "NORM" },
<RALT>, <RCTL>
};
};
};
};
@@ -0,0 +1,227 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//Permission is hereby granted, free of charge, to any person obtaining
//a copy of this software and associated documentation files (the
//"Software"), to deal in the Software without restriction, including
//without limitation the rights to use, copy, modify, merge, publish,
//distribute, sublicense, and sell copies of the Software, and to
//permit persons to whom the Software is furnished to do so, subject to
//the following conditions:
//
//The above copyright notice and this permission notice shall be included
//in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of the Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log: unix,v
// Revision 1.2 1996/06/18 09:12:53 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.2.3 1995/06/27 12:17:30 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:23:12 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:23 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:05:56 William_Walker]
//
// EndLog
//
// @(#)RCSfile: unix,v Revision: 1.2 (DEC) Date: 1996/01/24 12:16:
//
xkb_geometry "unix" {
width = 340;
height = 160;
shape.cornerRadius = 1;
shape "NORM" { primary = { [18,19] }, { [3,2], [15,16] } };
shape "AE00" { primary = { [28,19] }, { [3,2], [25,16] } };
shape "BKSP" { primary = { [46,19] }, { [3,2], [43,16] } };
shape "TABK" { primary = { [37,19] }, { [3,2], [34,16] } };
shape "CTRL" { primary = { [46,19] }, { [3,2], [43,16] } };
shape "RTRN" { primary = { [46,19] }, { [3,2], [43,16] } };
shape "SHFT" { primary = { [56,19] }, { [3,2], [53,16] } };
shape "MODK" { primary = { [37,19] }, { [3,2], [34,16] } };
shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} };
section.left= 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text.color = "black";
text "Logo" {left = 20; top = 10; text="digital\n"; };
section "Function" { top = 30;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 20 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <LEFT>, 20 }, <DOWN>, <UP>, <RGHT>
};
};
};
section "Alpha" { top = 50;
row { top = 1;
keys { { <AE00>, "AE00" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row { top = 21;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
<BKSL>, <AB00>
};
};
row { top = 41; left = -4;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
{ <RTRN>, "RTRN" }
};
};
row { top = 61; left = -4;
keys { { <LFSH>, "SHFT" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>,
<AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "SHFT" }
};
};
solid "ExtendKey" { top = 81; left= 1;
shape= "NORM";
color= "grey20";
};
text.top = 89;
text.color = "black";
text "ExtendLabel" {left = 6; text="Ext\nend"; };
row { top = 81; left = 19;
key.shape = "MODK";
keys { { <LCMP>, "NORM" }, <LALT>,
{ <SPCE>, "SPCE" },
<RALT>, <RCMP>
};
};
};
};
xkb_geometry "lk421jj" {
width = 315;
height = 170;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[28,23] },
{ [0,0], [28,0], [28,39], [5,39], [5,19], [0,19] },
{ [3,2], [25,2], [25,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "LONG1" { { [32,19] }, { [3,2], [29,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [23,19] }, { [3,2], [20,16] } };
shape "CTRL" { { [43,19] }, { [3,2], [38,16] } };
shape "SPCE" { { [55,19] },{ [3,2], [53,16]} };
shape "LEDS" { [ 56,15] };
shape "LED" { [ 5, 2] };
section.left = 5;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 7; top = 10; text="digital\n"; };
section "Function" { top = 45;
row { top = 1; left = 7;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 18 }, <FK07>, <FK08>, <FK09>, <FK10>
};
};
};
section "Editing" { top = 45; left= 230;
row { top = 1;
keys { <LEFT>, <DOWN>, <UP>, <RGHT> };
};
};
section "Alpha" { top = 65;
row { top = 1; left = 7;
keys { { <AE00>, "MED" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<AB00>, { <BKSP>, "MED" }
};
};
row { top = 21; left = 7;
keys { { <TAB>, "LONG1" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { <CAPS>, { <LFSH>, "LONG1" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "LONG1" }
};
};
row { top = 81; left = 7;
keys { <AA00>, <LCMP>,
{ <LALT>, "LONG" },
{ <MUHE>, "LONG" },
{ <SPCE>, "SPCE" },
{ <KANJ>, "LONG" },
{ <HIRA>, "LONG" },
<RALT>, <RCMP>
};
};
};
section.left = 233;
section.top = 20;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.top = 11;
indicator.shape= "LED";
indicator "Scroll Lock" { left = 6; };
indicator "Caps Lock" { left = 26; };
text.top = 3;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
};
};
@@ -0,0 +1,170 @@
default xkb_geometry "STEPnote" {
description= "Everex STEPnote";
width= 281;
height= 150;
shape.cornerRadius= 1;
shape "NORM" {
{ [17,17] },
{ [ 2, 1], [ 15, 15 ] }
};
shape "NARR" {
{ [ 15, 17 ] },
{ [ 2, 1 ], [ 13, 15 ] }
};
shape "FKEY" {
{ [ 15.1, 15.5 ] },
{ [ 1, 1 ], [ 14.1, 14.5 ] }
};
shape "ESC" {
{ [ 16.4, 15.5 ] },
{ [ 1, 1 ], [ 14.1, 14.5 ] }
};
shape "WIDE" { // backspace, tab and Fn
{ [ 25, 17 ] },
{ [ 2, 1 ], [ 23, 15 ] }
};
shape "RTRN" {
{ [ 27.5, 17 ] },
{ [ 2, 1 ], [ 25.5, 15 ] }
};
shape "CAPS" {
{ [ 30, 17 ] },
{ [ 2, 1 ], [ 28, 15 ] }
};
shape "LFSH" {
{ [ 38.5, 17 ] },
{ [ 2, 1 ], [ 36.5, 15 ] }
};
shape "RTSH" {
{ [ 21, 17 ] },
{ [ 2, 1 ], [ 19, 15 ] }
};
shape "SPCE" {
{ [ 88.8, 17 ] },
{ [ 2, 1 ], [ 86.8, 15 ] }
};
shape "WELL" {
{ [ 269, 105 ] }
};
shape "LED" {
cornerRadius= 1.5,
{ [ 3, 10 ] }
};
section.left= 6;
row.left= 1;
key.shape= "NORM";
key.gap= 0.5;
key.color= "grey20";
labelColor= "white";
baseColor= "grey20";
indicator.top= 20;
indicator.shape= "LED";
indicator.onColor= "green";
indicator.offColor= "green30";
indicator "Power" { left= 40; };
indicator "Battery" { left=101; };
indicator "Suspend" { left=112; };
indicator "HardDrive" { left=123; };
indicator "Floppy" { left=134; };
indicator "KeyPad" { left=145; };
indicator "Num Lock" { left=156; };
indicator "Caps Lock" { left=167; };
indicator "Scroll Lock" { left=178; };
solid "KeyWell" {
top= 35;
left= 6;
shape= "WELL";
color= "grey10";
};
section "Whole" {
top= 35;
row {
top= 0.5;
key.color= "grey30";
key.shape= "FKEY";
keys {
{ <ESC>, "ESC" },
<FK01>, <FK02>, <FK03>, <FK04>, <FK05>, <FK06>,
<FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12>,
<NMLK>, <PRSC>, <SCLK>, <PAUS>
};
};
row {
top= 16.5;
keys {
{ <TLDE>, "NARR" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, shape="WIDE", color="grey30" },
{ <HOME>, shape="NARR", color="grey30" }
};
};
row {
top= 34;
keys {
{ <TAB>, shape="WIDE", color="grey30" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "NARR" },
{ <PGUP>, shape="NARR", color="grey30" }
};
};
row {
top= 51.5;
keys {
{ <CAPS>, shape="CAPS", color="grey30" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, shape="RTRN", color="grey30" },
{ <PGDN>, shape="NARR", color="grey30" }
};
};
row {
top= 69;
keys {
{ <LFSH>, shape="LFSH", color="grey30" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, shape="RTSH", color="grey30" },
{ <UP>, shape="NARR", color="grey30" },
{ <END>, shape="NARR", color="grey30" }
};
};
row {
top= 86.5;
key.color= "grey30";
keys {
{ <FUNC>, "WIDE" },
<LCTL>, <LALT>,
{ <SPCE>, shape="SPCE", 18, color="grey20" },
<RALT>, <INS>, <DELE>,
{ <LEFT>, "NARR" }, { <DOWN>, "NARR" },
{ <RGHT>, "NARR" }
};
};
solid "FakeKey" {
top= 86.5;
left= 62.1;
shape= "NORM";
color= "grey20";
};
overlay "KPAD" {
<AE07>=<KP7>, <AE08>=<KP8>, <AE09>=<KP9>, <AE10>=<KPMU>,
<AD07>=<KP4>, <AD08>=<KP5>, <AD09>=<KP6>, <AD10>=<KPSU>,
<AC07>=<KP1>, <AC08>=<KP2>, <AC09>=<KP3>, <AC10>=<KPAD>,
<AB07>=<KP0>, <AB09>=<KPDL>, <AB10>=<KPSL>
};
}; // End of "Whole" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
@@ -0,0 +1,314 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
default xkb_geometry "138" {
// This is an approximate layout for a (US/ASCII) Fujitsu keyboard.
description= "Fujitsu English keyboard";
width= 480;
height= 215;
shape "EDGE" { cornerRadius= 2, { [ 480, 215 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [28,37] },
{ [ 0, 0], [28, 0], [28,37],
[ 5,37], [ 5,19], [ 0,19] },
{ [ 1, 1], [26, 1], [26,36],
[ 7,36], [ 7,18], [ 1,18] }
};
shape "LFSH" { { [ 41,18] }, { [2,1], [ 39,17] } };
shape "RTSH" { { [ 33,18] }, { [2,1], [ 31,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "SPCE" { { [151,18] }, { [2,1], [149,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "EXEC" { { [ 57,18] }, { [2,1], [ 55,17] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 15;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Alpha" {
top= 28;
row {
top= 1;
keys {
<BREA>, { <PRSC>, 6 },
{ <FK13>, 30 }, <FK14>, <FK15>, <FK16>,
{ <FK17>, 6 }, <FK18>, <FK19>, <FK20>,
{ <FK21>, 6 }, <FK22>, <FK23>, <FK24>,
{ <FK29>, 68 }, <FK30>, <FK31>, <FK32>
};
};
row {
top= 20;
keys {
<KNJI>, { <PAUS>, 6 },
{ <FK01>, 30 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 6 }, <FK10>, <FK11>, <FK12>,
{ <UNK0>, 6 }, <UNK1>, <UNK2>,
{ <FK25>, 6 }, <FK26>, <FK27>, <FK28>
};
};
row {
top= 39;
left= 316;
keys {
<PGUP>, <HOME>, <PGDN>
};
};
row {
top= 54;
keys {
<UNDO>, { <ESC>, 6 },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
<AE11>, <AE12>, <TLDE>, <BKSP>,
{ <KPMU>, 68 }, <KPDV>, <KPAD>, <KPSU>
};
};
row {
top= 58;
left= 316;
keys {
<UNK3>, <DEL>, <INS>
};
};
row {
top= 73;
keys { <COPY>,
{ <TAB>, 6, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" },
{ <KP7>, 68 }, <KP8>, <KP9>, <KPEQ>
};
};
row {
top= 92;
keys { <PAST>,
{ <LCTL>, 6, "LCTL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>,
{ <UP>, 49 },
{ <KP4>, 25 }, <KP5>, <KP6>, <KPDC>
};
};
row {
top= 102;
left= 316;
keys { <LEFT>, { <RGHT>, 19 }
};
};
row {
top= 111;
keys { <CUT>,
{ <LFSH>, 6 , "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "RTSH" },
{ <DOWN>, 25 },
{ <KP1>, 25 }, <KP2>, <KP3>, { <KPEN>, "KPEN" }
};
};
row {
top= 130;
keys { <HELP>, { <CAPS>, 6 },
<LALT>, <LMTA>,
{ <SPCE>, "SPCE" },
<RMTA>, <RALT>, <COMP>, <LNFD>,
{ <KP0>, 68, "KP0" }, <KP00>
};
};
row {
top= 149;
left= 316;
keys {
{ <EXEC>, "EXEC" }
};
};
}; // End of "Alpha" section
};
xkb_geometry "140" {
// This is an approximate layout for a Fujitsu Japanese keyboard.
description= "Fujitsu Japanese keyboard";
width= 480;
height= 215;
shape "EDGE" { cornerRadius= 2, { [ 480, 215 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [28,37] },
{ [ 0, 0], [28, 0], [28,37],
[ 5,37], [ 5,19], [ 0,19] },
{ [ 1, 1], [26, 1], [26,36],
[ 7,36], [ 7,18], [ 1,18] }
};
shape "LFSH" { { [ 41,18] }, { [2,1], [ 39,17] } };
shape "RTSH" { { [ 33,18] }, { [2,1], [ 31,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "SPCE" { { [113,18] }, { [2,1], [111,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "HNKN" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "EXEC" { { [ 57,18] }, { [2,1], [ 55,17] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 15;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Alpha" {
top= 28;
row {
top= 1;
keys {
<BREA>, { <PRSC>, 6 },
{ <FK13>, 30 }, <FK14>, <FK15>, <FK16>,
{ <FK17>, 6 }, <FK18>, <FK19>, <FK20>,
{ <FK21>, 6 }, <FK22>, <FK23>, <FK24>,
{ <FK29>, 68 }, <FK30>, <FK31>, <FK32>
};
};
row {
top= 20;
keys {
<KNJI>, { <PAUS>, 6 },
{ <FK01>, 30 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 6 }, <FK10>, <FK11>, <FK12>,
{ <UNK0>, 6 }, <UNK1>, <UNK2>,
{ <FK25>, 6 }, <FK26>, <FK27>, <FK28>
};
};
row {
top= 39;
left= 316;
keys {
<PGUP>, <HOME>, <PGDN>
};
};
row {
top= 54;
keys {
<UNDO>, { <ESC>, 6 },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
<AE11>, <AE12>, <BKSL>, <BKSP>,
{ <KPMU>, 68 }, <KPDV>, <KPAD>, <KPSU>
};
};
row {
top= 58;
left= 316;
keys {
<UNK3>, <DEL>, <INS>
};
};
row {
top= 73;
keys { <COPY>,
{ <TAB>, 6, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" },
{ <KP7>, 68 }, <KP8>, <KP9>, <KPEQ>
};
};
row {
top= 92;
keys { <PAST>,
{ <LCTL>, 6, "LCTL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <TLDE>,
{ <UP>, 49 },
{ <KP4>, 25 }, <KP5>, <KP6>, <KPDC>
};
};
row {
top= 102;
left= 316;
keys { <LEFT>, { <RGHT>, 19 }
};
};
row {
top= 111;
keys { <CUT>,
{ <LFSH>, 6 , "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "RTSH" },
{ <DOWN>, 25 },
{ <KP1>, 25 }, <KP2>, <KP3>, { <KPEN>, "KPEN" }
};
};
row {
top= 130;
keys { <HELP>, { <CAPS>, 6 },
<LALT>, <LMTA>, <UNK4>,
{ <SPCE>, "SPCE" },
<UNK5>, <RMTA>, <COMP>, <LNFD>, <UNK6>,
{ <KP0>, 68, "KP0" }, <KP00>
};
};
row {
top= 149;
left= 134;
keys {
{ <UNK7>, "HNKN" }, { <UNK8>, "HNKN" },
{ <EXEC>, 132, "EXEC" }
};
};
}; // End of "Alpha" section
};
+266
View File
@@ -0,0 +1,266 @@
//
// XKB geometry for the Happy Hacking (Lite).
// Different variants correspond to different switch
// settings on the HHK.
//
// Copyright (c) Doug Palmer <doug@charvolant.org>, 2002
//
//Permission is hereby granted, free of charge, to any person obtaining a copy
//of this software and associated documentation files (the "Software"), to deal
//in the Software without restriction, including without limitation the rights
//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
//copies of the Software, and to permit persons to whom the Software is
//furnished to do so, subject to the following conditions:
//
//The above copyright notice and this permission notice shall be included in
//all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
//THE SOFTWARE.
// SW = 100 Default layout with windows keys
default xkb_geometry "win1" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LALT>,
{ <LWIN>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RWIN>, "DIAM" },
<RALT>
};
};
};
};
// SW = 101 Layout with windows and alt keys swapped
xkb_geometry "win2" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LWIN>,
{ <LALT>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RALT>, "DIAM" },
<RWIN>
};
};
};
};
// SW = 110 Default layout with windows keys, and left diamond = Fn key
xkb_geometry "win3" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LALT>,
{ <FN>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RWIN>, "DIAM" },
<RALT>
};
};
};
};
// SW = 101 Layout with windows and alt keys swapped and left-Alt = Fn key
xkb_geometry "win4" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<FN>,
{ <LALT>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RALT>, "DIAM" },
<RWIN>
};
};
};
};
// SW = 000 Layout with Muhenkan and Henkan keys
xkb_geometry "jp1" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LALT>,
{ <NFER>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <XFER>, "DIAM" },
<RALT>
};
};
};
};
// SW = 001 Layout with Muhenkan and Henkan keys swapped with Alt
xkb_geometry "jp2" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<NFER>,
{ <LALT>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RALT>, "DIAM" },
<XFER>
};
};
};
};
// SW = 010 Layout with Henkan key and left-diamond as Fn
xkb_geometry "jp3" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LALT>,
{ <FN>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <XFER>, "DIAM" },
<RALT>
};
};
};
};
// SW = 001 Layout with Henkan key swapped with Alt and left-Alt as Fn
xkb_geometry "jp4" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<FN>,
{ <LALT>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RALT>, "DIAM" },
<XFER>
};
};
};
};
// Basic layout for non-switchable keys
partial hidden xkb_geometry "basic" {
description = "Happy Hacking";
width = 290;
height = 106;
shape.cornerRadius = 1;
shape "NORM" { { [18, 18] }, { [2, 1], [14, 14] } };
shape "BKSP" { { [28, 18] }, { [2, 1], [24, 14] } };
shape "TABK" { { [28, 18] }, { [2, 1], [24, 14] } };
shape "CTRL" { { [32, 18] }, { [2, 1], [28, 14] } };
shape "RTRN" { { [42, 18] }, { [2, 1], [38, 14] } };
shape "LFSH" { { [42, 18] }, { [2, 1], [38, 14] } };
shape "RTSH" { { [32, 18] }, { [2, 1], [28, 14] } };
shape "DIAM" { { [28, 18] }, { [2, 1], [24, 14] } };
shape "SPCE" { { [114, 18] }, { [2, 1], [110, 14] } };
text.color = "black";
text "PFULabel" { left = 16; top = 2; fontsize = 20; text = "PFU"; };
text "HHKLabel" { left = 254; top = 90; text = "Happy Hacking\nKeyboard"; };
section.left = 1;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Alphanumeric" {
top = 10;
row {
top = 1;
keys {
<ESC>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
<AE11>, <AE12>,
<BKSL>, <TLDE>
};
};
row {
top = 20;
keys {
{ <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSP>, "BKSP" }
};
};
row {
top = 39;
keys {
{ <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top = 58;
keys {
{ <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" },
{ <FN>, color = "grey20" }
};
};
};
alias <AC00> = <LCTL>;
};
+696
View File
@@ -0,0 +1,696 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
default xkb_geometry "pc101" {
description= "HP PC101";
width= 470;
height= 210;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [132,18] }, { [2,1], [130,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 52;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 91;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },
{ <SPCE>, "SPCE", color="white" },
<RALT>, { <RCTL>, 20 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 91;
left= 310;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 91;
left= 375;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "default" geometry
xkb_geometry "hil" {
description= "HP hil";
width= 455;
height= 170;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "TABK" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "BKSL" { { [ 24,18] }, { [2,1], [ 22,17] } };
shape "RTRN" { { [ 38,18] }, { [2,1], [ 36,17] } };
shape "LFSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "RTSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [151,18] }, { [2,1], [150,17] } };
shape "KP0" { { [ 38,18] }, { [2,1], [ 36,17] } };
shape "KPTB" { { [ 18,38] }, { [2,1], [ 16,37] } };
shape "TLDE" { { [ 24,18] }, { [2,1], [ 22,17] } };
shape "FKT1" { { [ 17,14] }, { [2,1], [ 15,13] } };
shape "FKT2" { { [ 23,14] }, { [2,1], [ 21,13] } };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 14;
row {
top= 1;
keys { { <BRK>, "FKT1" }, { <STOP>, "FKT1" } ,
{ <FK01>, "FKT2", 10 }, { <FK02>, "FKT2" },
{ <FK03>, "FKT2" }, { <FK04>, "FKT2" },
{ <MENU>, "FKT1" }, { <SYST>, "FKT1" },
{ <FK05>, "FKT2" }, { <FK06>, "FKT2" },
{ <FK07>, "FKT2" }, { <FK08>, "FKT2" },
{ <CLRL>, "FKT1", 10 }, { <CLR>, "FKT1" },
{ <FK09>, "FKT1", 19 }, { <FK10>, "FKT1" },
{ <FK11>, "FKT1" }, { <FK12>, "FKT1" }
};
};
}; // End of "Function" section
section "Alpha" {
top= 52;
row {
top= 1;
keys { { <TLDE>, "TLDE" }, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }, <INSL>, <DELL>
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" },
<INSC>, <DELC>
};
};
row {
top= 39;
keys { <CAPS>, <LCTL>,
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN" },
<HOME>, <PGUP>
};
};
row {
top= 58;
keys { <ESC>, { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }, <SELE>,
<UP>, <PGDN>
};
};
row {
top= 77;
keys { <PRSC>, { <LALT>, 30 },
{ <SPCE>, "SPCE" },
<RALT>, { <LEFT>, 30 }, <DOWN>, <RGHT>
};
};
}; // End of "Alpha" section
section "Keypad" {
top= 52;
left= 360;
row {
top= 1;
keys { <KPMU>, <KPDV>, <KPAD>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPEN> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPSP> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPTB>, "KPTB" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
};
// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
// Geometry specification for HP Omnibook keyboards.
// Compatible Models: 6100, 6000.
xkb_geometry "omnibook" {
width = 282;
height = 128;
baseColor = "grey80";
labelColor = "white";
shape "FN0" { cornerRadius = 1, { [15.5, 12] }, { [1, 0], [14.5, 11] } };
shape "NORM" { cornerRadius = 1, { [18, 16] }, { [2, 0], [16, 14] } };
shape "BKSP" { cornerRadius = 1, { [31, 16] }, { [2, 0], [29, 14] } };
shape "TABK" { cornerRadius = 1, { [27, 16] }, { [2, 0], [25, 14] } };
shape "CAPS" { cornerRadius = 1, { [32, 16] }, { [2, 0], [30, 14] } };
shape "RTSH" { cornerRadius = 1, { [45, 16] }, { [2, 0], [43, 14] } };
shape "MODK" { cornerRadius = 1, { [28, 16] }, { [2, 0], [26, 14] } };
shape "SPCE" { cornerRadius = 1, { [90, 16] }, { [2, 0], [88, 14] } };
shape "ARRS" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 11] } };
shape "LED" { cornerRadius = 1, { [2, 4] } };
shape "KEYS" { cornerRadius = 1,
{ [0, 13],
[197, 13], [197, 0],
[280, 0], [280, 125],
[224, 125], [224, 112],
[0, 112] }
};
solid "KeyPanel" {
shape = "KEYS";
left = 1;
top = 1;
color = "black";
};
shape "NULL1" { cornerRadius = 1, { [54, 16] } };
solid "NullPanel1" {
shape = "NULL1";
left = 226;
top = 96;
color = "grey80";
};
shape "NULL2" { cornerRadius = 1, { [19, 14] } };
solid "NullPanel2" {
shape = "NULL2";
left = 243;
top = 97;
color = "black";
};
indicator.onColor = "green";
indicator.offColor = "grey10";
indicator.top = 4;
indicator.shape = "LED";
indicator "Caps Lock" { left = 45; };
indicator "Num Lock" { left = 60; };
indicator "Scroll Lock" { left = 75; };
indicator "HDDActivity" { onColor = "red"; left = 90; };
key.color = "grey60";
section "Function" {
key.gap = 0.99;
left = 1;
top = 1;
key.shape = "FN0";
row {
left = 197;
top = 1;
keys { <PRSC>, <PAUS>, <INS>, <HOME>, <PGUP> };
};
row {
top = 14;
keys { <ESC>,
<FK01>, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>,
<FK09>, <FK10>, <FK11>, <FK12>,
<SCLK>, <DELE>, <END>, <PGDN>
};
};
}; // End of "Function" section
section "Control" {
left = 1;
top = 34;
key.gap = 1;
row {
top = 62;
key.shape = "NORM";
keys { <LCTL>, <FN>, <LWIN>, <LALT>,
{ <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
};
};
}; // End of "Control" section
section "Navigation" {
key.shape = "ARRS";
left = 225;
top = 97;
key.gap = 1.4;
row {
left= 18;
top = 1;
keys { <UP> };
};
row {
top = 16;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Navigation" section
shape "STIK" { cornerRadius = 4, { [7, 7] } };
solid "STIK" {
priority = 255;
color = "red";
shape = "STIK";
top = 73;
left = 126;
};
};
// 86 keys
xkb_geometry "omnibook_intl" {
include "hp(omnibook)"
description = "HP Omnibook 6000/6100, Intl";
shape "RTRN" { cornerRadius = 1,
{ [22, 0], [22, 33], [5, 33], [5, 16], [0, 16], [0, 0] },
{ [20, 0], [20, 31], [7, 31], [7, 14], [2, 14], [2, 0] } };
shape "LFSH" { cornerRadius = 1, { [23, 16] }, { [2, 0], [21, 14] } };
section "Alpha" {
key.gap = 1;
key.color = "grey60";
key.shape = "NORM";
left = 1;
top = 27;
row {
top = 1;
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 18;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" }
};
};
row {
top = 35;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top = 52;
keys { { <LFSH>, "LFSH" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
};
xkb_geometry "mini110" {
description= "HP Mini 110";
width= 262;
height= 106;
shape.cornerRadius = 0;
shape "FN0" { { [ 14, 10 ] } , { [ 14, 10 ] } };
shape "NORM" { { [ 16.7, 16 ] } , { [ 16.7, 16 ] } };
shape "TLDE" { { [ 12, 16 ] } , { [ 12, 16 ] } };
shape "ONE" { { [ 14, 16 ] } , { [ 14, 16 ] } };
shape "BKSP" { { [ 31.3, 16 ] } , { [ 31.3, 16 ] } };
shape "BKSL" { { [ 23.9, 16 ] } , { [ 23.9, 16 ] } };
shape "CAPS" { { [ 22, 16 ] } , { [ 22, 16 ] } };
shape "RTRN" { { [ 36.3, 16 ] } , { [ 36.3, 16 ] } };
shape "LFSH" { { [ 31, 16 ] } , { [ 31, 16 ] } };
shape "RTSH" { { [ 45, 16 ] } , { [ 45, 16 ] } };
shape "CTLS" { { [ 16.5, 19 ] } , { [ 16.5, 19 ] } };
shape "SPCE" { { [ 78.4, 19 ] } , { [ 78.4, 19 ] } };
shape "ARRW" { { [ 16.7, 9 ] } , { [ 16.7, 9 ] } };
key.gap=1;
section "Function" {
top=4;
left=3;
key.shape="FN0";
row {
keys {
<ESC>, <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
<FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>,
<FK12>, <PAUS>, <SCLK>, <INS>, <DELE>
};
};
};
section "Alphanum" {
top=15;
left=3;
key.shape="NORM";
row {
top= 0;
keys { { <TLDE>, "TLDE" } , { <AE01>, "ONE" }, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 17;
keys { <TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top= 34;
keys { { <CAPS>, "CAPS" } ,
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN" }
};
};
row {
top= 51;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
};
section "Control" {
top=83;
left=3;
key.shape="CTLS";
row {
keys {
<LCTL>, <FN>, <LWIN>, <LALT>, { <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
};
};
};
section "Arrows" {
top=83;
left=204.9;
key.shape="ARRW";
row {
left= 17.7;
keys {
<UP>
};
};
row {
top = 10;
keys {
<LEFT>, <DOWN>, <RGHT>
};
};
};
};
xkb_geometry "dv5" {
height=118.4;
width=310.6;
description = "HP Pavilion dv5";
shape.cornerRadius = 1;
shape "ESC" { { [20.0, 12.5] }, { [2.2, 1], [17.8, 10.5] } };
shape "FN0" { { [15.9, 12.5] }, { [2.2, 1], [13.7, 10.5] } };
shape "DELE" { { [19.4, 12.5] }, { [2.2, 1], [17.2, 10.5] } };
shape "NORM" { { [17.9, 18.3] }, { [2.2, 1], [15.7, 16.3] } };
shape "BKSP" { { [36.1, 18.3] }, { [2.4, 1], [33.7, 16.3] } };
shape "TABK" { { [26.8, 18.3] }, { [2.4, 1], [24.4, 16.3] } };
shape "BKSL" { { [27.1, 18.3] }, { [2.4, 1], [24.7, 16.3] } };
shape "CAPS" { { [31.6, 18.3] }, { [2.4, 1], [29.2, 16.3] } };
shape "RTRN" { { [41.2, 18.3] }, { [2.4, 1], [39.3, 16.3] } };
shape "LFSH" { { [41.5, 18.3] }, { [2.4, 1], [38.8, 16.3] } };
shape "RTSH" { { [31.5, 18.3] }, { [2.4, 1], [29.1, 16.3] } };
shape "LCTL" { { [22.4, 18.3] }, { [2.2, 1], [20.2, 16.3] } };
shape "RCTL" { { [22.6, 18.3] }, { [2.2, 1], [20.4, 16.3] } };
shape "CTLS" { { [17.9, 18.3] }, { [2.2, 1], [15.7, 16.3] } };
shape "SPCE" { { [94.3, 18.3] }, { [2.5, 1], [91.8, 16.3] } };
shape "ARRW" { { [17.9, 18.3] }, { [2.2, 1], [15.7, 16.3] } };
shape "EDIT" { { [16.6, 18.3] }, { [2.2, 1], [14.4, 16.3] } };
key.gap = 1.2;
section "Function" {
top=4.2;
left=3;
row {
key.shape = "FN0";
keys {
{<ESC>, "ESC"},
{2.9, <FK01>}, <FK02>, <FK03>, <FK04>,
{2.9, <FK05>}, <FK06>, <FK07>, <FK08>,
{2.9, <FK09>}, <FK10>, <FK11>, <FK12>,
{2.9, <NMLK>}, <PAUS>, <INS>, {<DELE>, "DELE"}
};
};
};
section "Alpha" {
top = 17.9;
key.shape = "NORM";
left = 3;
row {
top = 0;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 19.5;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN" }
};
};
row {
top = 58.5;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
section "Controls" {
top = 95.9;
key.shape = "CTLS";
left = 3;
row {
top = 0;
keys { {<LCTL>, "LCTL"}, <FN>, <LWIN>, <LALT>, {<SPCE>, "SPCE"},
<RALT>, <MENU>, {<RCTL>, "RCTL"}
};
};
};
section "Editing" {
top = 16.5;
left = 289.9;
key.shape = "EDIT";
key.gap = 1.4;
row {
top = 0;
vertical = true;
keys {
<HOME>, <PGUP>, <PGDN>, <END>
};
};
};
section "Arrows" {
top = 76.4;
key.shape = "ARRW";
left = 249.3;
row {
top = 0;
left = 19.1;
keys {
<UP>
};
};
row {
top = 19.5;
left = 0;
keys {
<LEFT>, <DOWN>, <RGHT>
};
};
};
};
@@ -0,0 +1,252 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
default xkb_geometry "FlexPro" {
// This is an approximate layout for a Key Tronic FlexPro
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Key Tronic FlexPro keyboard";
width= 515;
height= 200;
shape "EDGE" { cornerRadius= 2, { [ 515, 200 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 32,18] }, { [2,1], [30,17] } };
shape "TABK" { { [ 32,18] }, { [2,1], [30,17] } };
shape "BKSL" { { [ 23,18] }, { [2,1], [21,17] } };
shape "RTRN" {
approx = { [16, 0], [38,37] },
{ [16, 0], [38, 0], [38,37],
[ 0,37], [ 0,19], [16,19] },
{ [18, 1], [36, 1], [36,36],
[ 2,36], [ 2,20], [18,20] } };
shape "CAPS" { { [36,18] }, { [2,1], [34,17] } };
shape "SHFT" { { [46,18] }, { [2,1], [44,17] } };
shape "LCTL" { { [32,18] }, { [2,1], [30,17] } };
shape "RCTL" { { [38,18] }, { [2,1], [36,17] } };
shape "LALT" { { [28,18] }, { [2,1], [26,17] } };
shape "RALT" { { [33,18] }, { [2,1], [31,17] } };
shape "LSPC" { { [66,22] }, { [0,0], [66,22] } };
shape "RSPC" { { [76,22] }, { [0,0], [76,22] } };
shape "KP0" { { [37,18] }, { [2,1], [35,17] } };
shape "KPEN" { { [18,37] }, { [2,1], [16,36] } };
shape "LOGO" { cornerRadius= 3, { [80,35] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 9;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 56;
row {
top = 1;
key.color= "grey20";
keys { <FK01>, <FK02> };
};
row {
top = 20;
key.color= "grey20";
keys { <FK03>, <FK04> };
};
row {
top = 39;
keys { <FK05>, <FK06> };
};
row {
top = 58;
key.color= "grey20";
keys { <FK07>, <FK08> };
};
row {
top = 77;
key.color= "grey20";
keys { <FK09>, <FK10> };
};
row {
top = 96;
keys { <FK11>, <FK12> };
};
}; // End of "Function" section
section "Alpha" {
top= 56;
left= 53;
row {
top= 1;
keys {
{ <ESC>, color="grey20" }, { <BKSL>, "BKSL", color="grey20" },
<AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys {
{ <TLDE>, color="grey20" }, { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", -14, color="grey20" }
};
};
row {
top= 39;
keys {
{ <LCTL>, color="grey20" }, { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>, <AC11>
};
};
row {
top= 58;
keys {
{ <LFSH>, color="grey20" },
{ <LFSH>, "SHFT", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "SHFT", color="grey20" }
};
};
row {
top= 77;
key.color= "grey20";
keys {
<LALT>,
{ <LCTL>, shape="LCTL" },
{ <LALT>, shape="LALT" },
{ <SPCE>, shape="LSPC", 4, color="white" },
{ <SPCE>, shape="RSPC",color="white" },
{ <RALT>, shape="RALT", 4 },
{ <RCTL>, shape="RCTL" }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 12;
left= 365;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 45;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 64;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 102;
left= 20;
keys { <UP> };
};
row {
top= 121;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 3, { [ 76, 20 ] } };
shape "LED" { cornerRadius= 0, { [ 7, 4 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 11;
left= 430;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 13;
indicator.shape= "LED";
indicator "Num Lock" { left= 440; };
indicator "Caps Lock" { left= 467; };
indicator "Scroll Lock" { left= 489; };
text.top= 22;
text.color= "black";
text "NumLockLabel" { left= 438; text="Num\nLock"; };
text "CapsLockLabel" { left= 465; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 487; text="Scroll\nLock"; };
logo "FlexProLogoImage" {
top= 12;
left= 45;
name= "KeyTronic";
shape= "LOGO";
};
text "KeyTronicLogoText" {
top= 15;
left= 50;
width= 55;
text= "FlexPro";
font= "times";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 36;
};
section "Keypad" {
top= 56;
left= 430;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <LEFT> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPSU>, color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, { <KPAD>, color= "grey20" } };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
};
@@ -0,0 +1,189 @@
default xkb_geometry "model100" {
// This is an approximate layout for a Kinesis Ergonomic keyboard
// Generated completely by eye. I didn't actually *measure* a real
// keyboard.
description= "Kinesis Ergonomic";
width= 421;
height= 185;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "WIDE" { { [ 21,18] }, { [2,1], [19,17] } };
shape "TALL" { { [ 18,37] }, { [2,1], [16,36] } };
shape "FKEY" { cornerRadius=0, { [ 10,13] } };
shape "LED" { cornerRadius= 1.5, { [ 3, 3] } };
shape "LOGO" { { [ 40, 10 ] } };
shape "EDGE" { cornerRadius=5, { [ 421, 185 ] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section "LeftFunction" {
left= 15;
top= 11;
key.shape= "FKEY";
key.gap= 3;
row {
left= 1;
top= 1;
keys {
<ESC>, <FK01>, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>
};
};
}; // End of "LeftFunction" section
section "RightFunction" {
left= 290;
top= 11;
key.shape= "FKEY";
key.gap= 3;
row {
left= 1;
top= 0.2;
keys {
<FK09>, <FK10>, <FK11>, <FK12>, <PRSC>,
<SCLK>, <PAUS>, <FK16>, <FK17>
};
};
}; // End of "RightFunction" section
row.vertical= True;
row.top= 1;
key.gap= 0.5;
logo "KinesisLogoImage" {
top= 25;
left= 240;
name= "Kinesis";
shape= "LOGO";
};
indicator.shape= "LED";
indicator.top= 30;
indicator.onColor= "green";
indicator.offColor= "green30";
indicator "Caps Lock" { left= 23; };
section "LeftAlpha" {
top= 34;
left= 15;
row {
left= 2;
key.shape= "WIDE";
keys { <AE12>, <TAB>, <CAPS>, <LFSH> };
};
row {
top= 4;
left= 24;
keys { <AE01>, <AD01>, { <AC01>, color="grey20" }, <AB01>, <TLDE> };
};
row {
left= 43;
keys { <AE02>, <AD02>, { <AC02>, color="grey20" }, <AB02>, <INS> };
};
row {
left= 62;
keys { <AE03>, <AD03>, { <AC03>, color="grey20" }, <AB03>, <LEFT> };
};
row {
left= 81;
keys { <AE04>, <AD04>, { <AC04>, color="grey20" }, <AB04>, <RGHT> };
};
row {
left= 100;
keys { <AE05>, <AD05>, <AC05>, <AB05> };
};
}; // End of "LeftAlpha" section
indicator "NumLock" { left= 318; };
indicator "Overlay" { left= 387; };
section "RightAlpha" {
top= 34;
left= 290;
row {
left= 2;
keys { <AE06>, <AD06>, <AC06>, <AB06> };
};
row {
left= 21;
keys { <AE07>, <AD07>, { <AC07>, color="grey20" }, <AB07>, <UP> };
};
row {
left= 40;
keys { <AE08>, <AD08>, { <AC08>, color="grey20" }, <AB08>, <DOWN> };
};
row {
left= 59;
keys { <AE09>, <AD09>, { <AC09>, color="grey20" }, <AB09>, <AD11> };
};
row {
top= 4;
left= 78;
keys { <AE10>, <AD10>, { <AC10>, color="grey20" }, <AB10>, <AD12> };
};
row {
left= 97;
key.shape= "WIDE";
keys { <AE11>, <BKSL>, <AC11>, <RTSH> };
};
overlay "KPAD" {
<AE07>=<NMLK>, <AE08>=<KPEQ>, <AE09>=<KPSL>, <AE10>=<KPMU>,
<AD07>=<KP7>, <AD08>=<KP8>, <AD09>=<KP9>, <AD10>=<KPSU>,
<AC07>=<KP4>, <AC08>=<KP5>, <AC09>=<KP6>, <AC10>=<KPAD>,
<AB07>=<KP1>, <AB08>=<KP2>, <AB09>=<KP3>, <AB10>=<KPEN>,
<AE10>=<KPDL>, <AE11>=<KPEN>
};
}; // End of "RightAlpha" section
section "LeftEdit" {
top= 109;
left= 123;
angle= 20;
row.top= -18;
row {
top= 1;
left= 1;
keys { { <BKSP>, "TALL" } };
};
row {
left= 20;
keys { <LCTL>, { <DELE>, "TALL" } };
};
row {
left= 39;
keys { <LALT>, <HOME>, <END> };
};
}; // End of "LeftEdit" section
section "RightEdit" {
top= 109;
left= 302;
angle= -20;
row.top= -18;
row {
left= -57;
keys { <RALT>, <PGUP>, <PGDN> };
};
row {
left= -38;
keys { <RCTL>, { <RTRN>, "TALL" } };
};
row {
top= 1;
left= -19;
keys { { <SPCE>, "TALL" } };
};
overlay "KPAD" {
<SPCE>= <KP0>
};
}; // End of "RightEdit" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,532 @@
default xkb_geometry "natural" {
// Approximate layout for a Microsoft Natural
description= "Microsoft Natural";
width= 550;
height= 190;
shape.cornerRadius= 1;
shape "LDEF" { { [ 18,18] }, { [2,1], [15,15] } };
shape "TABK" { { [ 26,18] }, { [2,1], [23,15] } };
shape "CAPS" { { [ 30,18] }, { [2,1], [23,15] } };
shape "LFSH" { { [ 41,18] }, { [2,1], [38,15] } };
shape "KEY6" { { [ 22,18] }, { [2,1], [15,15] } };
shape "KEYT" { { [ 33,18] }, { [2,1], [15,15] } };
shape "KEYG" { { [ 29,18] }, { [2,1], [15,15] } };
shape "LCTL" {
approx= { [ 32, 22 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 23 ], [ 0, 22 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 17 ], [ 2, 15 ] }
};
shape "LWIN" {
approx= { [ 32, 23 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 24 ], [ 0, 23 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 18 ], [ 2, 17 ] }
};
shape "LALT" {
approx= { [ 32, 24 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 25 ], [ 0, 24 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 20 ], [ 2, 19 ] }
};
shape "RDEF" { { [ 18,18] }, { [3,1], [15,15] } };
shape "KEY7" { { [ 28, 18 ] }, { [ 14, 1], [26, 15] } };
shape "KEYH" { { [ 24, 18 ] }, { [ 10, 1], [22, 15] } };
shape "KEYN" { { [ 32, 18 ] }, { [ 18, 1], [30, 15] } };
shape "BKSP" { { [ 41, 18 ] }, { [ 3, 1], [39, 15] } };
shape "BKSL" { { [ 24, 18 ] }, { [ 3, 1], [22, 15] } };
shape "RTRN" { { [ 37, 18 ] }, { [ 3, 1], [35, 15] } };
shape "RTSH" { { [ 43, 18 ] }, { [ 3, 1], [41, 15] } };
shape "RALT" {
approx= { [ 27, 24 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 24 ], [ 0, 25 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 19 ], [ 3, 20 ] }
};
shape "RWIN" {
approx= { [ 27, 23 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 23 ], [ 0, 24 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 18 ], [ 3, 19 ] }
};
shape "MENU" {
approx= { [ 27, 21 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 21 ], [ 0, 23 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 16 ], [ 3, 17 ] }
};
shape "RCTL" {
approx= { [ 27, 19 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 19 ], [ 0, 21 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 14 ], [ 3, 15 ] }
};
shape "KPAD" { { [ 18, 37 ] }, { [ 3, 1 ], [ 16, 34 ] } };
shape "KP0" { { [ 37, 18 ] }, { [ 3, 1 ], [ 35, 15 ] } };
shape "SPCE" {
{ [ 4, 3], [42,10], [44, 0], [88, 0], [90,10], [130, 3],
[134,26], [99,30], [67,33], [33,30], [ 0,26] },
{ [ 6, 4.5], [43,11], [45, 1], [87, 1], [89,11], [128, 4.5],
[131,23], [99,28], [67,32], [33,28], [ 3,23] }
};
shape "EDGE" {
cornerRadius= 2,
{ [ 25, 0 ], [ 177, 17 ], [ 329, 0 ], [ 542, 0 ],
[ 542, 150 ], [ 354, 150 ], [ 177, 185 ], [ 0, 150 ] }
};
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
row.left= 1;
key.shape= "LDEF";
key.gap= 1;
section "LeftFunction" {
top= 10;
left= 40;
angle= 10;
row {
top= 1;
keys { <ESC>, { <FK01>, 12 }, <FK02>, <FK03>, <FK04>, <FK05> };
};
}; // End of "LeftFunction" section
section "LeftAlpha" {
top= 47;
left= 30;
angle= 10;
row {
top= 1;
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, { <AE06>, "KEY6" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, { <AD05>, "KEYT" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, { <AC05>, "KEYG" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>
};
};
row {
top= 77;
keys { { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, { <LALT>, "LALT" } };
};
}; // End of "LeftAlpha" section
key.shape= "RDEF";
section "RightFunction" {
top= 32;
left= 195;
angle= -10;
row {
top= 1;
left= 1;
keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12> };
};
}; // End of "RightFunction" section
section "RightAlpha" {
top= 71;
left= 190;
angle= -10;
row.left= 1;
row {
top= 1;
keys { { <AE07>, "KEY7" },
<AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys {
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <AC06>, "KEYH" },
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 58;
keys { { <AB06>, "KEYN" },
<AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
left= 40;
keys { { <RALT>, "RALT" }, { <RWIN>, "RWIN" },
{ <MENU>, "MENU" }, { <RCTL>, "RCTL" }
};
};
}; // End of "RightAlpha" section
section "SpaceBar" {
top= 139;
left= 111;
key.shape= "SPCE";
row { keys { <SPCE> }; };
};
section "Editing" {
top= 15;
left= 385;
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 109;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LED" {
cornerRadius= 0,
{ [ 3, 1 ] }
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.left= 177;
indicator.shape= "LED";
indicator "Num Lock" { top= 90; };
indicator "Caps Lock" { top= 107; };
indicator "Scroll Lock" { top= 127; };
section "Keypad" {
top= 47;
left= 456;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
// Approximate layout for a Microsoft Natural(R) Keyboard Elite
//
// Modified by Pavel Kurashov <pavell@mail.ru> Mon Oct 8 22:08:20 NOVST 2007
//
// * Function, editing and navigation keys are reduced in height
// * Navigation keys are repositioned in two columns
// * Leds are enlarged for better look
// * "BKSP" is aligned with "BKSL" and "RTRN"
// * Outline edges are slightly modified
//
xkb_geometry "elite" {
// Approximate layout for a Microsoft Natural(R) Keyboard Elite
description= "Microsoft Natural(r) Keyboard Elite";
width= 495;
height= 190;
shape.cornerRadius= 1;
shape "LDEF" { { [ 18,18] }, { [2,1], [15,15] } };
shape "FKEY" { { [ 18,13] }, { [2,1], [15,10] } };
shape "TABK" { { [ 26,18] }, { [2,1], [23,15] } };
shape "CAPS" { { [ 30,18] }, { [2,1], [23,15] } };
shape "LFSH" { { [ 41,18] }, { [2,1], [38,15] } };
shape "KEY6" { { [ 22,18] }, { [2,1], [15,15] } };
shape "KEYT" { { [ 33,18] }, { [2,1], [15,15] } };
shape "KEYG" { { [ 29,18] }, { [2,1], [15,15] } };
shape "LCTL" {
approx= { [ 32, 22 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 23 ], [ 0, 22 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 17 ], [ 2, 15 ] }
};
shape "LWIN" {
approx= { [ 32, 23 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 24 ], [ 0, 23 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 18 ], [ 2, 17 ] }
};
shape "LALT" {
approx= { [ 32, 24 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 25 ], [ 0, 24 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 20 ], [ 2, 19 ] }
};
shape "RDEF" { { [ 18,18 ] }, { [ 2, 1], [15, 15] } };
shape "KEY7" { { [ 28, 18 ] }, { [ 14, 1], [26, 15] } };
shape "KEYH" { { [ 24, 18 ] }, { [ 10, 1], [22, 15] } };
shape "KEYN" { { [ 32, 18 ] }, { [ 18, 1], [30, 15] } };
shape "BKSP" { { [ 32, 18 ] }, { [ 2, 1], [30, 15] } };
shape "BKSL" { { [ 24, 18 ] }, { [ 2, 1], [22, 15] } };
shape "RTRN" { { [ 37, 18 ] }, { [ 2, 1], [35, 15] } };
shape "RTSH" { { [ 43, 18 ] }, { [ 2, 1], [41, 15] } };
shape "RALT" {
approx= { [ 27, 24 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 24 ], [ 0, 25 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 19 ], [ 3, 20 ] }
};
shape "RWIN" {
approx= { [ 27, 23 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 23 ], [ 0, 24 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 18 ], [ 3, 19 ] }
};
shape "MENU" {
approx= { [ 27, 21 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 21 ], [ 0, 23 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 16 ], [ 3, 17 ] }
};
shape "RCTL" {
approx= { [ 27, 19 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 19 ], [ 0, 21 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 14 ], [ 3, 15 ] }
};
shape "KPAD" { { [ 18, 37 ] }, { [ 3, 1 ], [ 16, 34 ] } };
shape "KP0" { { [ 37, 18 ] }, { [ 3, 1 ], [ 35, 15 ] } };
shape "SPCE" {
{ [ 4, 3], [42,10], [44, 0], [88, 0], [90,10], [130, 3],
[134,26], [99,30], [67,33], [33,30], [ 0,26] },
{ [ 6, 4.5], [43,11], [45, 1], [87, 1], [89,11], [128, 4.5],
[131,23], [99,28], [67,32], [33,28], [ 3,23] }
};
shape "EDGE" {
cornerRadius= 3,
{ [ 32, 15 ], [140, 33],[ 220, 33 ], [ 329, 15 ], [ 493, 15 ],
[ 493, 150 ], [ 354, 150 ], [200, 180], [ 153, 180 ], [ 7, 150 ] }
};
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
row.left= 1;
key.shape= "FKEY";
key.gap= 1;
section "LeftFunction" {
top= 26;
left= 40;
angle= 10;
row {
top= 1;
keys { <ESC>, { <FK01>, 12 }, <FK02>, <FK03>, <FK04>, <FK05> };
};
}; // End of "LeftFunction" section
key.shape= "LDEF";
section "LeftAlpha" {
top= 47;
left= 30;
angle= 10;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, { <AE06>, "KEY6" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, { <AD05>, "KEYT" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, { <AC05>, "KEYG" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>
};
};
row {
top= 77;
keys { { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, { <LALT>, "LALT" } };
};
}; // End of "LeftAlpha" section
key.shape= "FKEY";
section "RightFunction" {
top= 48;
left= 195;
angle= -10;
row {
top= 1;
left= 1;
keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12> };
};
}; // End of "RightFunction" section
key.shape= "RDEF";
section "RightAlpha" {
top= 71;
left= 190;
angle= -10;
row.left= 1;
row {
top= 1;
keys { { <AE07>, "KEY7" },
<AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys {
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <AC06>, "KEYH" },
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 58;
keys { { <AB06>, "KEYN" },
<AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
left= 40;
keys { { <RALT>, "RALT" }, { <RWIN>, "RWIN" },
{ <MENU>, "MENU" }, { <RCTL>, "RCTL" }
};
};
}; // End of "RightAlpha" section
section "SpaceBar" {
top= 139;
left= 111;
key.shape= "SPCE";
row { keys { <SPCE> }; };
};
section "Editing" {
key.shape="FKEY";
top= 23;
left= 348;
row {
top= 0;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 22;
left=20;
keys { <HOME>, <PGUP> };
};
row {
top= 36;
left=20;
keys { <END>, <PGDN> };
};
row {
top= 50;
left=20;
keys { <DELE>, <INS> };
};
row {
top= 75;
left= 29;
keys { <UP> };
};
row {
top= 89;
left=20;
keys { <LEFT>, <RGHT> };
};
row {
top= 103;
left=29;
keys { <DOWN> };
};
}; // End of "Editing" section
shape "LED" {
cornerRadius= 1,
{ [ 7, 2 ] }
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.left= 177;
indicator.shape= "LED";
indicator "Num Lock" { top= 90; };
indicator "Caps Lock" { top= 107; };
indicator "Scroll Lock" { top= 127; };
section "Keypad" {
top= 44;
left= 412;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
+157
View File
@@ -0,0 +1,157 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
default xkb_geometry "pc98" {
description= "Generic PC98";
width= 405;
height= 172;
shape.cornerRadius= 1;
shape "NORM" { { [ 17,18] }, { [2,1], [ 15,17] } };
shape "RTRN" { { [ 20,37] }, { [2,1], [ 18,35] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 31,18] }, { [2,1], [ 29,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [115,18] }, { [2,1], [113,17] } };
shape "FUNC" { { [ 21,18] }, { [2,1], [ 19,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "TABK" { { [ 30,18] }, { [2,1], [ 28,17] } };
shape "ARRW" { { [ 35,18] }, { [2,1], [ 33,17] } };
section.left= 8;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 29;
row {
top= 1;
key.shape="FUNC";
keys { { <BRK>, "NORM" }, { <PRSC>, "NORM", 5 },
{ <FK01>, 6 }, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 6 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 6 }, <FK12>, <FK13>, <FK14>, <FK15>
};
};
}; // End of "Function" section
section "Alpha" {
top= 54;
row {
top= 1;
keys { { <ESC>, shape="BKSP"},
<AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, <BKSL>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN", 6 }
};
};
row {
top= 39;
keys { <LCTL>, <CAPS>,
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
keys { { <ALGR>, 35 } , <LALT>, { <NFER>, "FUNC" },
{ <SPCE>, "SPCE" }, { <XFER>, "FUNC" }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 54;
left= 281;
row {
top= 1;
keys { <INS>, <DELE> };
};
row {
top= 20;
keys { <PGDN>, <PGUP> };
};
row {
top= 39;
keys { { <UP>, "ARRW" } };
};
row {
top= 58;
keys { <LEFT>, <RGHT> };
};
row {
top= 77;
keys { { <DOWN>, "ARRW" } };
};
}; // End of "Editing" section
section "Keypad" {
top= 54;
left= 320;
row {
top= 1;
keys { <HOME>, <HELP>, <KPSU>, <KPDV> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPMU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, <KPEQ> };
};
row {
top= 77;
keys { <KP0>, <KPSP>, <KPDC>, <KPEN> };
};
}; // End of "Keypad" section
}; // End of "pc98" geometry
@@ -0,0 +1,53 @@
// Zoomed 3x because of text size
default xkb_geometry "nokiarx51" {
description= "Nokia RX-51";
width= 273; // 13x6mm + 2x1.5mm border + 2x5mm border
height= 54; // 3x5mm + 2x1.5mm border
shape.cornerRadius= 1.5;
shape "NORM" { { [18,15] } };
shape "SPCE" { { [36,15] } };
shape "FRAME" { cornerRadius= 2.5, { [243,54] } };
solid "FRAME" {
shape= "FRAME";
color= "white";
top= 0;
left= 15;
};
section.left= 15;
row.left= 4.5;
key.shape= "NORM";
key.gap= 0;
section "Keys" {
top= 0;
row {
top= 4.5;
keys { { <LCTL>, "NORM", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AB08>,
{ <BKSP>, "NORM", color="grey20" }
};
};
row {
top= 19.5;
keys { { <RALT>, "NORM", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AB09>, <UP>,
{ <RTRN>, "NORM", color="grey20" }
};
};
row {
top= 34.5;
keys { { <LFSH>, "NORM", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>, <AB07>,
{ <SPCE>, "SPCE", color="white" },
<LEFT>, <DOWN>, <RGHT>
};
};
}; // End of "Keys" section
}; // End of "rx51" geometry
@@ -0,0 +1,168 @@
default xkb_geometry "omnikey101" {
description= "North Gate Omnikey 101";
width= 470;
height= 175;
shape.cornerRadius= 1;
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [34,18] }, { [2,1], [32,17] } };
shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [15, 0], [40,37] },
{ [15, 0], [40, 0], [40,37],
[ 0,37], [ 0,19], [15,19] },
{ [17, 1], [38, 1], [38,36],
[ 2,36], [ 2,20], [17,20] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 41,18] }, { [2,1], [39,17] } };
shape "RTSH" { { [ 30,18] }, { [2,1], [28,17] } };
shape "MODK" { { [ 26,18] }, { [2,1], [24,17] } };
shape "SPCE" { { [129,18] }, { [2,1], [127,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 32;
left= 375;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 46.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 384; };
indicator "Caps Lock" { left= 409; };
indicator "Scroll Lock" { left= 434; };
text.top= 34;
text.color= "black";
text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 32;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 9 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 9 }, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 65;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", -14, color="grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }, <BKSL>
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LALT>,
{ <LCTL>, 23 },
{ <SPCE>, "SPCE", color="white" },
<RCTL>,
{ <RALT>, 23 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 32;
left= 308;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 65;
left= 374;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "default" geometry
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,150 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
default xkb_geometry "sanwaskbkg3" {
description= "Sanwa Supply SKB-KG3";
// SKB-KG3BK (black)
// http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3BK
// http://www.sanwa.co.jp/zooma/keybord/SKB-KG3BK/
// SKB-KG3W (white)
// http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3W
// http://www.sanwa.co.jp/zooma/keybord/SKB-KG3SW/
// SKB-KG3SV (silver)
// http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3SV
// http://www.sanwa.co.jp/zooma/keybord/SKB-KG3SV/
width= 304;
height= 127;
shape.cornerRadius= 1;
shape "TOP" { { [15.25,13] }, { [2,2], [13.25,11] } };
shape "NORM" { { [17,16] }, { [2,2], [15,14] } };
shape "TBBK" { { [24.5,16] }, { [2,2], [22.5,14] } };
shape "RTRN" { { [0,0], [36,0], [36,34], [8.5,34], [8.5,16], [0,16] },
{ [2,2], [34,2], [34,32], [10.5,32], [10.5,14], [2,14] } };
shape "CAPS" { { [33,16] }, { [28,16] }, { [2,2], [26,14] } };
shape "LFSH" { { [41,16] }, { [2,2], [39,14] } };
shape "CTSH" { { [19.5,16] }, { [2,2], [17.5,14] } };
shape "SPCE" { { [57.5,16] }, { [2,2], [55.5,14] } };
shape "LED" { cornerRadius= 0, { [5,1] } };
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 3;
indicator.shape= "LED";
indicator "Num Lock" { left= 247; };
indicator "Caps Lock" { left= 266; };
indicator "Scroll Lock" { left= 285; };
text.color= "black";
text.top= 1;
text "Vendor1" { left= 10; text="SANWA"; };
text.top= 4.5;
text "Vendor2" { left= 10; text="SUPPLY"; };
text "NumLockLabel" { left= 241; text="Num Lock"; };
text "CapsLockLabel" { left= 260; text="Caps Lock"; };
text "ScrollLockLabel" { left= 279; text="Scroll Lock"; };
section.left= 3;
row.left= 1;
key.shape= "NORM";
key.gap= 2;
section "Function" {
key.shape= "TOP";
top= 10;
row {
top= 1;
keys { <ESC>, <FK01>, <FK02>, <FK03>, <FK04>, <FK05>, <FK06>,
<FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12>, <PRSC>,
{<NMLK>, color="grey20"}, <PAUS>, {<DELE>, color="grey20"}
};
};
overlay "SCLK" {
<NMLK>=<SCLK>
};
overlay "FN" {
<DELE>=<INS>
};
}; // End of "Function" section
section "Alpha" {
top= 24;
row {
top= 2;
keys { <HZTG>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
{<AE07>, color="grey20"}, {<AE08>, color="grey20"},
{<AE09>, color="grey20"}, {<AE10>, color="grey20"},
<AE11>, <AE12>, <AE13>, { <BKSP>, "TBBK" }
};
};
row {
top= 20;
keys { { <TAB>, "TBBK" }, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, {<AD07>, color="grey20"}, {<AD08>, color="grey20"},
{<AD09>, color="grey20"}, {<AD10>, color="grey20"}, <AD11>,
<AD12>, { <RTRN>, "RTRN" }
};
};
row {
top= 38;
keys { { <CAPS>, "CAPS" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, {<AC07>, color="grey20"}, {<AC08>, color="grey20"},
{<AC09>, color="grey20"}, {<AC10>, color="grey20"}, <AC11>,
<AC12>
};
};
row {
top= 56;
keys { { <LFSH>, "LFSH" }, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, {<AB07>, color="grey20"}, <AB08>,
{<AB09>, color="grey20"}, {<AB10>, color="grey20"}, <AB11>,
{<UP>, color="grey20"}, {<RTSH>, key.shape= "CTSH" }
};
};
row {
top= 74;
keys { { <LCTL>, key.shape= "CTSH" }, {<FN>, color="grey20"},
<LWIN>, <LALT>, <NFER>, {<SPCE>, "SPCE" }, <XFER>, <HKTG>,
<RALT>, <MENU>, {<LEFT>, color="grey20"},
{<DOWN>, color="grey20"},
{<RGHT>, key.shape= "CTSH", color="grey20"}
};
};
overlay "SCLK" {
<AE07>=<KO7>, <AE08>=<KO8>, <AE09>=<KO9>, <AE10>=<KOMU>,
<AD07>=<KO4>, <AD08>=<KO5>, <AD09>=<KO6>, <AD10>=<KOSU>,
<AC07>=<KO1>, <AC08>=<KO2>, <AC09>=<KO3>, <AC10>=<KOAD>,
<AB07>=<KO0>, <AB09>=<KODL>, <AB10>=<KODV>
};
overlay "FN" {
<UP>=<PGUP>, <LEFT>=<HOME>, <DOWN>=<PGDN>, <RGHT>=<END>
};
}; // End of "Alpha" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "default" geometry
@@ -0,0 +1,614 @@
//
// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
//
// Permission to use, copy, modify, and distribute this
// software and its documentation for any purpose and without
// fee is hereby granted, provided that the above copyright
// notice appear in all copies and that both that copyright
// notice and this permission notice appear in supporting
// documentation, and that the name of Silicon Graphics not be
// used in advertising or publicity pertaining to distribution
// of the software without specific prior written permission.
// Silicon Graphics makes no representation about the suitability
// of this software for any purpose. It is provided "as is"
// without any express or implied warranty.
//
// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
// GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
// THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
default xkb_geometry "pc101" {
// This is an approximate layout for a 101-key (US/ASCII) SGI
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "101-key keyboard for Silicon Graphics O2";
width= 448;
height= 162;
shape "EDGE" {
cornerRadius= 2,
{ [ 15, 0 ], [ 433, 0 ], [ 433, 10 ], [ 448, 10 ],
[ 448, 162 ], [ 0, 162 ], [ 0, 10 ], [ 15, 10 ] }
};
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } };
shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } };
shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } };
shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 12,12] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 6;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 25;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 19}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 58;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },
{ <SPCE>, "SPCE",color="white" },
<RALT>, { <RCTL>, 20 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 25;
left= 299;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 3, 1.5] } };
solid "LedPanel" {
shape= "LEDS";
top= 25;
left= 364;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 40.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 372; };
indicator "Caps Lock" { left= 397; };
indicator "Scro llLock" { left= 422; };
text.font= "helvetica";
text.weight= "bold";
text.slant= "r";
text.fontWidth= "normal";
text.fontSize= 12;
text.top= 39.5;
text.color= "black";
text "NumLockLabel" { left= 376.5; text="1"; };
text "CapsLockLabel" { left= 401.5; text="A"; };
text "ScrollLockLabel" { left= 426.5; text="S"; };
logo "SGILogoImage" {
top= 26.5;
left= 396;
name= "SGI";
shape= "LOGO";
};
text.font= "helvetica";
text.weight= "bold";
text.slant= "o";
text.fontWidth= "narrow";
text.fontSize= 18;
text "SiliconLogoText" {
top= 27;
left= 375;
width= 20;
text= "Silicon";
};
text "GraphicsLogoText" {
top= 27;
left= 409;
width= 20;
text= "Graphics";
};
section "Keypad" {
top= 58;
left= 363;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "pc102" {
// This is an approximate layout for 102-key SGI international
// keyboards. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 102-key Keyboard";
width= 470;
height= 193;
shape.cornerRadius= 1;
shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } };
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [35,18] }, { [2,1], [33,17] } };
shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [26,37] },
{ [ 0, 0], [26, 0], [26,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [24, 1], [24,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } };
shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } };
shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 10}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 10}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color= "grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", color= "grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color= "grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color= "grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>,
{ <LALT>, 19 },
{ <SPCE>, "SPCE", color="white" },
<RALT>,
{ <RCTL>, 19 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 308;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 375;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 384; };
indicator "Caps Lock" { left= 409; };
indicator "Scroll Lock" { left= 434; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
setWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 374;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "jp106" {
description= "Silicon Graphics 106-key Japanese keyboard";
width= 442;
height= 167;
shape "EDGE" { cornerRadius= 2, { [ 442, 167 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" {
{ [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } ,
{ [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
logo "SGILogoImage" {
top= 5;
left= 6;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 9;
left= 25;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 24;
};
shape "LEDS" { cornerRadius= 0.1, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 25;
left= 362;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 40;
indicator.shape= "LED";
indicator "Num Lock" { left= 366; };
indicator "Caps Lock" { left= 391; };
indicator "Scroll Lock" { left= 416; };
text.top= 28;
text.color= "black";
text "NumLockLabel" { left= 366; text="Num\nLock"; };
text "CapsLockLabel" { left= 391; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 416; text="Scroll\nLock"; };
section.left= 5;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 25;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"},
{ <FK07>, color="grey20"}, {<FK08>,color="grey20"},
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>,
<AE03>, <AE04>, <AE05>, <AE06>, <AE07>,
<AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<AE13>, { <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },<NFER>,
{ <SPCE>, "SPCE", color="white" },
<XFER>,<HKTG>,<RALT>, { <RCTL>, 17 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 296;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 361;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "jp106" geometry
@@ -0,0 +1,410 @@
//
// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
//
// Permission to use, copy, modify, and distribute this
// software and its documentation for any purpose and without
// fee is hereby granted, provided that the above copyright
// notice appear in all copies and that both that copyright
// notice and this permission notice appear in supporting
// documentation, and that the name of Silicon Graphics not be
// used in advertising or publicity pertaining to distribution
// of the software without specific prior written permission.
// Silicon Graphics makes no representation about the suitability
// of this software for any purpose. It is provided "as is"
// without any express or implied warranty.
//
// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
// GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
// THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
default xkb_geometry "pc101" {
// This is an approximate layout for a 101-key (US/ASCII) SGI
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 101-key keyboard";
width= 472;
height= 193;
shape "EDGE" { cornerRadius= 2, { [ 472, 193 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } };
shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } };
shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } };
shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 19}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },
{ <SPCE>, "SPCE",color="white" },
<RALT>, { <RCTL>, 20 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 377;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 386; };
indicator "Caps Lock" { left= 411; };
indicator "Scroll Lock" { left= 436; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 382.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 407; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 432; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 376;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "pc102" {
// This is an approximate layout for 102-key SGI international
// keyboards. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 102-key Keyboard";
width= 470;
height= 193;
shape.cornerRadius= 1;
shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } };
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [35,18] }, { [2,1], [33,17] } };
shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [26,37] },
{ [ 0, 0], [26, 0], [26,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [24, 1], [24,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } };
shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } };
shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 10}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 10}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color= "grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", color= "grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color= "grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color= "grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>,
{ <LALT>, 19 },
{ <SPCE>, "SPCE", color="white" },
<RALT>,
{ <RCTL>, 19 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 308;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 375;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 384; };
indicator "Caps Lock" { left= 409; };
indicator "Scroll Lock" { left= 434; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
setWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 374;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
@@ -0,0 +1,598 @@
//
// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
//
// Permission to use, copy, modify, and distribute this
// software and its documentation for any purpose and without
// fee is hereby granted, provided that the above copyright
// notice appear in all copies and that both that copyright
// notice and this permission notice appear in supporting
// documentation, and that the name of Silicon Graphics not be
// used in advertising or publicity pertaining to distribution
// of the software without specific prior written permission.
// Silicon Graphics makes no representation about the suitability
// of this software for any purpose. It is provided "as is"
// without any express or implied warranty.
//
// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
// GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
// THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
default xkb_geometry "pc101" {
// This is an approximate layout for a 101-key (US/ASCII) SGI
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 101-key keyboard";
width= 472;
height= 193;
shape "EDGE" { cornerRadius= 2, { [ 472, 193 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } };
shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } };
shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } };
shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 19}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },
{ <SPCE>, "SPCE",color="white" },
<RALT>, { <RCTL>, 20 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 377;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 386; };
indicator "Caps Lock" { left= 411; };
indicator "Scroll Lock" { left= 436; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 382.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 407; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 432; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 376;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "pc102" {
// This is an approximate layout for 102-key SGI international
// keyboards. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 102-key Keyboard";
width= 470;
height= 193;
shape.cornerRadius= 1;
shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } };
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [35,18] }, { [2,1], [33,17] } };
shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [26,37] },
{ [ 0, 0], [26, 0], [26,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [24, 1], [24,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } };
shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } };
shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 10}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 10}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color= "grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", color= "grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color= "grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color= "grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>,
{ <LALT>, 19 },
{ <SPCE>, "SPCE", color="white" },
<RALT>,
{ <RCTL>, 19 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 308;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 375;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 384; };
indicator "Caps Lock" { left= 409; };
indicator "Scroll Lock" { left= 434; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
setWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 374;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "jp106" {
description= "Silicon Graphics 106-key Japanese keyboard";
width= 442;
height= 167;
shape "EDGE" { cornerRadius= 2, { [ 442, 167 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" {
{ [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } ,
{ [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
logo "SGILogoImage" {
top= 5;
left= 6;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 9;
left= 25;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 24;
};
shape "LEDS" { cornerRadius= 0.1, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 25;
left= 362;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 40;
indicator.shape= "LED";
indicator "Num Lock" { left= 366; };
indicator "Caps Lock" { left= 391; };
indicator "Scroll Lock" { left= 416; };
text.top= 28;
text.color= "black";
text "NumLockLabel" { left= 366; text="Num\nLock"; };
text "CapsLockLabel" { left= 391; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 416; text="Scroll\nLock"; };
section.left= 5;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 25;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"},
{ <FK07>, color="grey20"}, {<FK08>,color="grey20"},
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>,
<AE03>, <AE04>, <AE05>, <AE06>, <AE07>,
<AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<AE13>, { <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },<NFER>,
{ <SPCE>, "SPCE", color="white" },
<XFER>,<HKTG>,<RALT>, { <RCTL>, 17 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 296;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 361;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "jp106" geometry
+179
View File
@@ -0,0 +1,179 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
default xkb_geometry "nwp5461" {
description= "Sony NEWS NWS-5000 Keyboard";
width= 425;
height= 190;
shape.cornerRadius= 1;
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [28,18] }, { [2,1], [26,17] } };
shape "TABK" { { [28,18] }, { [2,1], [26,17] } };
shape "BKSL" { { [28,18] }, { [2,1], [26,17] } };
shape "RTRN" {
approx = { [15, 0], [33,37] },
{ [15, 0], [33, 0], [33,37],
[ 0,37], [ 0,19], [15,19] },
{ [17, 1], [31, 1], [31,36],
[ 2,36], [ 2,20], [17,20] }
};
shape "SHFT" { { [42,18] }, { [2,1], [40,17] } };
shape "MODK" { { [33,18] }, { [2,1], [31,17] } };
shape "SPCE" { { [85,18] }, { [2,1], [83,17] } };
shape "KPEN" { { [18,38] }, { [2,1], [16,37] } };
shape "STOP" { { [28,18] }, { [2,1], [26,17] } };
shape "CUT" { { [55,18] }, { [2,1], [53,17] } };
shape "EXEC" { { [32,18] }, { [2,1], [30,17] } };
shape "UNK" { { [18,18] }, { [2,1], [16,17] } };
shape "CAPS" { { [18,18] }, { [2,1], [16,17] } };
shape "FKEY" { { [23,18] }, { [2,1], [21,17] } };
section.left= 13;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 55;
row {
top= 1;
left= 37;
key.shape="FKEY";
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 5 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 5 }, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 80;
row {
top= 1;
keys { { <ESC>, color="grey20" } ,
<AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>,
<AE09>, <AE10>, <AE11>, <AE12>,
<BKSL>, { <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <DELE>, color="grey20" },
{ <RTRN>, "RTRN", -14, color="grey20" }
};
};
row {
top= 39;
keys { { <LCTL>, "MODK", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <TLDE>
};
};
row {
top= 58;
keys { { <LFSH>, "SHFT", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
{ <RTSH>, "SHFT", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LALT>, { <CAPS>, "CAPS" },
{ <STOP>, "STOP", color="white" },
{ <SPCE>, "SPCE", color="white" },
{ <CUT>, "CUT", color="white" },
{ <UNK0>, "UNK" }, { <UNK1>, "UNK" },
{ <EXEC>, "EXEC" }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 80;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <HELP> };
};
row {
top= 20;
keys { <INS> };
};
row {
top= 39;
keys { <CLR> };
};
row {
top= 58;
keys { <PGUP> };
};
row {
top= 77;
keys { <PGDN> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 334;
row {
top= 1;
key.color= "grey20";
keys { { <KPMU>, 19 }, <KPDV>, <KPAD> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPSU>, color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, { <KPSP>, color="grey20" } };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN", color="grey20" } };
};
row {
top= 77;
keys { <KP0>, { <KPDC>, color="grey20" }, <UP> };
};
row {
top= 96;
key.color= "grey20";
keys { <KPTB>, <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Keypad" section
}; // End of "default" geometry
@@ -0,0 +1,223 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
// modified from /usr/share/X11/xkb/geometry/pc(pc104)
//
// The Apex 300 (Apex RAW) has 21 additional keys and
// <RWIN> is replaced by a hardware <FN> key. These
// additions to the basic PC104 layout are shown in red.
//
// Currently the kernel doesn't initialize these keys; a userspace
// tool is needed (apexctl: https://github.com/tuxmark5/ApexCtl).
// With this tool or a proper driver, the extra keys (except FN)
// can be assigned keycodes via udev-hwdb.
//
// FIXME: Keycodes shown here should be changed to match
// kernel defaults when a driver is developed.
//
// The additional keys are in 4 groups:
// 1) L1-L2 left of Escape (column) <I156>,<I157>
// 2) M1-M12 above F1-F12 (row) <FK13>-<FK24>
// 3) MX1-MX5 left of alpha keys (column) <I171>-<I175>
// 4) LeftUp, RightUp with regular arrows <I160>,<I159>
//
// Known <FN> key functions:
// <FN>+<F5> = kbd backlight step dimmer (NoSymbol)
// <FN>+<F6> = kbd backlight step brighter (NoSymbol)
// <FN>+<F7> = <I173> (AudioPrev)
// <FN>+<F8> = <I172> (AudioPlay, AudioPause)
// <FN>+<F9> = <I171> (AudioNext)
// <FN>+<F10> = <MUTE> (AudioMute)
// <FN>+<F10> = <VOL+> (VolumeUp)
// <FN>+<F11> = <VOL-> (VolumeDown)
//
// And yes, the spacebar really is that ridiculous.
//
// 2017.April
//
default xkb_geometry "apex300" {
description= "SteelSeries Apex 300 (Apex RAW)";
width= 450;
height= 150;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } };
shape "SPCE" { { [113,37] }, { [2,1], [111,35] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
shape "MKEY" { { [ 18,8] }, { [2,1], [ 16,7] } };
shape "ESCA" { { [ 18,28] }, { [2,1], [ 16,27] } };
shape "LKEY" { { [ 18,14] }, { [2,1], [ 16,13] } };
shape "LEDS" { cornerRadius= 0, { [ 54, 6 ] } };
shape "LED" { cornerRadius= 0, { [ 4, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 2;
left= 315;
color= "grey10";
};
indicator.onColor= "red";
indicator.offColor= "red";
indicator.top= 7;
indicator.shape= "LED";
indicator "Num Lock" { left= 321; };
indicator "Caps Lock" { left= 340; };
indicator "Scroll Lock" { left= 359; };
text.top= 2;
text.color= "black";
text "NumLockLabel" { left= 322; text="N"; };
text "CapsLockLabel" { left= 341; text="C"; };
text "ScrollLockLabel" { left= 360; text="S"; };
text "SteelSeriesLogo" { top= 10; left= 400; text="SteelSeries"; };
text "FNLogoKeyLabel" { top= 130; left= 248; text="FN"; };
key.shape= "NORM";
key.gap= 1;
key.color= "grey10";
section "Lkeys" {
key.shape= "LKEY";
key.color= "red";
row { top= 1; keys { <I156> }; };
row { top= 15; keys { <I157> }; };
}; // end of "Lkeys" section
section "MXkeys" {
key.shape= "NORM";
key.color= "red";
row { top= 35; keys { <I171> }; }; // 40 59 78 97 116
row { top= 54; keys { <I172> }; }; // 35 54 73 92 111
row { top= 73; keys { <I173> }; };
row { top= 92; keys { <I174> }; };
row { top=111; keys { <I175> }; };
}; // end of "MXkeys" section
section "Escape" {
left= 23;
key.shape= "ESCA";
key.color= "grey30";
row { top= 1; keys { <ESC> }; };
}; // end of "Escape" section
section "Mkeys" {
left= 61;
key.color= "red";
key.shape= "MKEY";
row { top= 1;
keys { <FK13>, <FK14>, <FK15>, <FK16>,
{ <FK17>, 11 }, <FK18>, <FK19>, <FK20>,
{ <FK21>, 11 }, <FK22>, <FK23>, <FK24> }; };
}; // end of "Mkeys" section
section "Function" {
left= 61;
key.color= "grey30";
row { top= 10;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 5 }, <SCLK>, <PAUS> }; };
}; // end of "Function" section
section "Alpha" {
top= 35;
left= 23;
key.color= "grey10";
row { keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey30" } }; };
row { top= 19;
keys { { <TAB>, "TABK", color="grey30" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" } }; };
row { top= 38;
keys { { <CAPS>, "CAPS", color="grey30" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey30" } }; };
row { top= 57;
keys { { <LFSH>, "LFSH", color="grey30" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey30" } }; };
row { top= 76;
key.shape= "SMOD";
key.color= "grey30";
keys { { <LCTL>, "MODK" }, <LWIN>, <LALT>, { <SPCE>, "SPCE" },
<RALT>, { <I248>, color="red" }, <MENU>, <RCTL> }; };
}; // end of "Alpha" section
section "Editing" {
top= 35;
left= 313;
key.color= "grey30";
row { keys { <INS>, <HOME>, <PGUP> }; };
row { top= 19; keys { <DELE>, <END>, <PGDN> }; };
row { top= 57; keys { { <I160>, color="red" }, <UP>, { <I159>, color="red" } }; };
row { top= 76; keys { <LEFT>, <DOWN>, <RGHT> }; };
}; // end of "Editing" section
section "Keypad" {
top= 35;
left= 373;
key.color= "grey10";
row { keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> }; };
row { top= 19; keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } }; };
row { top= 38; keys { <KP4>, <KP5>, <KP6> }; };
row { top= 57; keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } }; };
row { top= 76; keys { { <KP0>, "KP0" }, <KPDL> }; };
}; // end of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // end of "apex300" geometry
+756
View File
@@ -0,0 +1,756 @@
// Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
xkb_geometry "t6" {
// This is an approximate layout for a (US/ASCII) Sun Type6
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes.
width= 515;
height= 170;
shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [136,18] }, { [2,1], [134,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "RMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 14;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 24;
row {
top= 1;
keys { { <HELP>, "HELP" }, { <ESC>, 9 },
{ <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 9 }, <SCLK>, <PAUS>,
{ <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { <STOP>, <AGAI>,
{ <TLDE>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 58;
keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
keys { <FIND>, <CUT>, { <LCTL>, 9, shape="LCTL" },
<LALT>, { <LMTA>, "LMTA" },
{ <SPCE>, "SPCE" },
{ <RMTA>, "RMTA" }, <COMP>, <ALGR>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 352;
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 420;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
shape "LED" { cornerRadius= 2, { [ 3, 6 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 1;
left= 218;
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 10;
indicator.shape= "LED";
indicator "CapsLock" { left= 243; };
indicator "Compose" { left= 281; };
indicator "ScrollLock" { left= 262; };
indicator "NumLock" { left= 224; };
text.top= 1;
text.color= "black";
text "CapsLockLabel" { left= 243; text="Caps\nLock"; };
text "ComposeLabel" { left= 281; text="Compose"; };
text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; };
text "NumLockLabel" { left= 224; text="Num\nLock"; };
};
xkb_geometry "t6tuv" {
// This is an approximate layout for a (US/ASCII) Sun Type6
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes.
width= 515;
height= 170;
shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [28,37] },
{ [ 0, 0], [28, 0], [28,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [26, 1], [26,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 24,18] }, { [2,1], [22,17] } };
shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [137,18] }, { [2,1], [135,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "RMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 14;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 24;
row {
top= 1;
keys { { <HELP>, "HELP" }, { <ESC>, 9 },
{ <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 9 }, <SCLK>, <PAUS>,
{ <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { <STOP>, <AGAI>,
{ <TLDE>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 39;
keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
keys { <FIND>, <CUT>, { <LCTL>, 9, shape="LCTL" },
<LALT>, { <LMTA>, "LMTA" },
{ <SPCE>, "SPCE" },
{ <RMTA>, "RMTA" }, <COMP>, <ALGR>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 352;
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 420;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
shape "LED" { cornerRadius= 2, { [ 3, 6 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 1;
left= 218;
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 10;
indicator.shape= "LED";
indicator "CapsLock" { left= 243; };
indicator "Compose" { left= 281; };
indicator "ScrollLock" { left= 262; };
indicator "NumLock" { left= 224; };
text.top= 1;
text.color= "black";
text "CapsLockLabel" { left= 243; text="Caps\nLock"; };
text "ComposeLabel" { left= 281; text="Compose"; };
text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; };
text "NumLockLabel" { left= 224; text="Num\nLock"; };
};
xkb_geometry "t6jp" {
// This is an approximate layout for a (US/ASCII) Sun Type6
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes.
width= 515;
height= 170;
shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
shape "KANJ" { { [ 27,18] }, { [2,1], [25,17] } };
shape "EXEC" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [28,37] },
{ [ 0, 0], [28, 0], [28,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [26, 1], [26,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
shape "RTSH" { { [ 33,18] }, { [2,1], [31,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [ 96,18] }, { [2,1], [94,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 14;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 24;
row {
top= 1;
keys { { <HELP>, "HELP" }, { <ESC>, 9 },
{ <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 9 }, <SCLK>, <PAUS>,
{ <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { <STOP>, <AGAI>,
{ <TLDE>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 39;
keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <UNDR>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
keys { <FIND>, <CUT>, { <LCTL>, 9 },
<LALT>, <LMTA>, { <EXEC>, "EXEC" },
{ <SPCE>, "SPCE" }, { <KANJ>, "KANJ" }, <HENK>,
<RMTA>, <COMP>, <ALGR>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 352;
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 420;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
shape "LED" { cornerRadius= 2, { [ 3, 6 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 1;
left= 218;
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 10;
indicator.shape= "LED";
indicator "CapsLock" { left= 243; };
indicator "Compose" { left= 281; };
indicator "ScrollLock" { left= 262; };
indicator "NumLock" { left= 224; };
text.top= 1;
text.color= "black";
text "CapsLockLabel" { left= 243; text="Caps\nLock"; };
text "ComposeLabel" { left= 281; text="Compose"; };
text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; };
text "NumLockLabel" { left= 224; text="Num\nLock"; };
};
xkb_geometry "t6unix" {
// This is an approximate layout for a (US/ASCII) Sun Type6
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes.
width= 515;
height= 170;
shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 28,18] }, { [2,1], [26,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [136,18] }, { [2,1], [134,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "RMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 14;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 24;
row {
top= 1;
keys { { <HELP>, "HELP" }, { <NONE>, 9 },
{ <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 9 }, <SCLK>, <PAUS>,
{ <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { <STOP>, <AGAI>,
{ <ESC>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
<BKSL>, <TLDE>
};
};
row {
top= 20;
keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 39;
keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 58;
keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
keys { <FIND>, <CUT>, { <LCTL>, 9, shape="LCTL" },
<LALT>, {<LMTA>, "LMTA"},
{ <SPCE>, "SPCE" },
{<RMTA>, "RMTA"}, <COMP>, <ALGR>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 352;
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 420;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
shape "LED" { cornerRadius= 2, { [ 3, 6 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 1;
left= 218;
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 10;
indicator.shape= "LED";
indicator "CapsLock" { left= 243; };
indicator "Compose" { left= 281; };
indicator "ScrollLock" { left= 262; };
indicator "NumLock" { left= 224; };
text.top= 1;
text.color= "black";
text "CapsLockLabel" { left= 243; text="Caps\nLock"; };
text "ComposeLabel" { left= 281; text="Compose"; };
text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; };
text "NumLockLabel" { left= 224; text="Num\nLock"; };
};
default xkb_geometry "type6" {
include "sun(t6)"
description= "Sun Type6 keyboard (US, Korea, Taiwan)";
};
xkb_geometry "type6jp" {
include "sun(t6jp)"
description= "Sun Type6 Japanese keyboard";
};
xkb_geometry "type6tuv" {
include "sun(t6tuv)"
description= "Sun Type6 TUV keyboard";
};
xkb_geometry "type6unix" {
include "sun(t6unix)"
description= "Sun Type6 Unix keyboard";
};
xkb_geometry "type7" {
include "sun(t6)"
description= "Sun Type7 keyboard (US, Korea, Taiwan)";
};
xkb_geometry "type7jp" {
include "sun(t6jp)"
description= "Sun Type7 Japanese keyboard";
};
xkb_geometry "type7tuv" {
include "sun(t6tuv)"
description= "Sun Type7 TUV keyboard";
};
xkb_geometry "type7unix" {
include "sun(t6unix)"
description= "Sun Type7 Unix keyboard";
};
+627
View File
@@ -0,0 +1,627 @@
default xkb_geometry "teck227" {
description="Truly Ergonomic Computer Keyboard Model 227 with wide Alt. (Standard US layout)";
width=296;
height=155;
shape.cornerRadius=1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "DBL" { { [36, 18] }, { [2,1], [ 34,16] } };
shape "RSUP" {
{ [ 2, 0], [ 12, 1] , [ 22, 0], [24, 18], [ 12, 19 ], [0, 18] },
{ [ 4, 1], [ 12, 2] , [ 20, 1], [22, 16], [ 12, 17 ], [2, 16] }
};
shape "DEL" {
{ [ 2, 0], [ 14, 1] , [ 26, 0], [28, 18], [ 14, 19 ], [0, 18] },
{ [ 4, 1], [ 14, 2] , [ 24, 1], [26, 16], [ 14, 17 ], [2, 16] }
};
shape "AE11" {
{ [ 2, 0], [ 16, 1] , [ 30, 0], [32, 18], [ 16, 19 ], [0, 18] },
{ [ 4, 1], [ 16, 2] , [ 28, 1], [30, 16], [ 16, 17 ], [2, 16] }
};
shape "BKSP" {
{ [ 2, 0], [ 18, 1] , [ 34, 0], [36, 18], [ 18, 19 ], [0, 18] },
{ [ 4, 1], [ 18, 2] , [ 32, 1], [34, 16], [ 18, 17 ], [2, 16] }
};
shape "RTRN" {
{ [ 2, 0], [ 20, 1] , [ 38, 0], [40, 18], [ 20, 19 ], [0, 18] },
{ [ 4, 1], [ 20, 2] , [ 36, 1], [38, 16], [ 20, 17 ], [2, 16] }
};
section "Function" {
left=17;
top=3;
row {
keys { <ESC>,
{ <FK01>, 3 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 3 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 3 }, <FK10>, <FK11>, <FK12>,
{ <DELE>, 3 }
};
};
overlay "FN" {
<ESC>=<HIRA>,
<FK01>=<I180>,
<FK02>=<I163>,
<FK03>=<I225>,
<FK04>=<I152>,
<FK05>=<I148>,
<FK06>=<I179>,
<FK07>=<I173>,
<FK08>=<I172>,
<FK09>=<I171>,
<FK10>=<I121>,
<FK11>=<I122>,
<FK12>=<I123>,
<DELE>=<I169>
};
};
section "Special Keys" {
top=22;
left=122;
row {
keys {
<CAPS>, <FN>, <NMLK>
};
};
overlay "MISC" {
<CAPS>=<INS>,
<NMLK>=<PRSC>
};
};
section "LeftNumbers" {
top=32;
left=12;
angle=6;
row {
keys {
<TAB>, <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05>
};
};
};
section "CenterNumbers" {
top=45;
left=136;
row {
keys {
{ <RSUP>, "RSUP" }
};
};
};
section "RightNumbers" {
top=45;
left=159;
angle=-6;
row {
keys {
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE12>, <RBSP>
};
};
overlay "KPAD" {
<AE07>=<KP7>,
<AE08>=<KP8>,
<AE09>=<KP9>
};
};
section "LeftAlphaQWER" {
top=51;
left=10;
angle=6;
row {
keys {
<AD11>, <AD12>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>
};
};
};
section "CenterAlphaQWER" {
top=64;
left=134;
row {
keys {
{ <DELE>, "DEL" }
};
};
};
section "RightAlphaQWER" {
top=64;
left=161;
angle=-6;
row {
keys {
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AC11>, <BKSL>
};
};
overlay "KPAD" {
<AD07>=<KP4>,
<AD08>=<KP5>,
<AD09>=<KP6>,
<AD10>=<KPSU>,
<AC11>=<KPAD>
};
};
section "LeftAlphaASDF" {
top=52;
left=10;
angle=6;
row {
top=18;
keys {
{ <LCTL>, "DBL" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05>
};
};
};
section "CenterAlphaASDF" {
top=83;
left=132;
row {
keys {
{ <AE11>, "AE11" }
};
};
};
section "RightAlphaASDF" {
top=65;
left=161;
angle=-6;
row {
top=18;
keys {
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>, { <RCTL>, "DBL" }
};
};
overlay "KPAD" {
<AC07>=<KP1>,
<AC08>=<KP2>,
<AC09>=<KP3>,
<AC10>=<KPMU>
};
};
section "LeftAlphaZXCV" {
top=89;
left=6;
angle=6;
row {
keys {
{ <LFSH>, "DBL" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>
};
};
};
section "CenterAlphaZXCV" {
top=102;
left=130;
row {
keys {
{ <BKSP>, "BKSP" }
};
};
};
section "RightAlphaZXCV" {
top=102;
left=165;
angle=-6;
row {
keys {
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "DBL" }
};
};
overlay "KPAD" {
<AB07>=<KP0>,
<AB09>=<KPDL>,
<AB10>=<KPDV>
};
};
section "LeftSpecial" {
top=108;
left=4;
angle=6;
row {
keys {
{ <LALT>, "DBL" },
{ <SPCE>, "DBL", 54 }
};
};
};
section "CenterSpecial" {
top=121;
left=128;
row {
keys {
{ <RTRN>, "RTRN" }
};
};
};
section "RightSpecial" {
top=121;
left=167;
angle=-6;
row {
keys {
{ <SPCE>, "DBL" },
{ <RALT>, "DBL", 54 }
};
};
};
section "pgup, pgdown, home and end" {
top=112;
left=40;
angle=6;
row {
left=18;
keys {
<PGUP>
};
};
row {
top=9;
keys {
<HOME>, { <END>, 18 }
};
};
row {
top=18;
left=18;
keys {
<PGDN>
};
};
};
section "Arrows" {
top=117;
left=203;
angle=-6;
row {
left=18;
keys {
<UP>
};
};
row {
top=9;
keys {
<LEFT>, { <RGHT>, 18 }
};
};
row {
top=18;
left=18;
keys {
<DOWN>
};
};
};
};
xkb_geometry "teck229" {
description="Truly Ergonomic Computer Keyboard Model 229 with standard sized Alt and an additional Menu and Super key. (Standard US layout)";
width=296;
height=155;
shape.cornerRadius=1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "DBL" { { [36, 18] }, { [2,1], [ 34,16] } };
shape "RSUP" {
{ [ 2, 0], [ 12, 1] , [ 22, 0], [24, 18], [ 12, 19 ], [0, 18] },
{ [ 4, 1], [ 12, 2] , [ 20, 1], [22, 16], [ 12, 17 ], [2, 16] }
};
shape "DEL" {
{ [ 2, 0], [ 14, 1] , [ 26, 0], [28, 18], [ 14, 19 ], [0, 18] },
{ [ 4, 1], [ 14, 2] , [ 24, 1], [26, 16], [ 14, 17 ], [2, 16] }
};
shape "AE11" {
{ [ 2, 0], [ 16, 1] , [ 30, 0], [32, 18], [ 16, 19 ], [0, 18] },
{ [ 4, 1], [ 16, 2] , [ 28, 1], [30, 16], [ 16, 17 ], [2, 16] }
};
shape "BKSP" {
{ [ 2, 0], [ 18, 1] , [ 34, 0], [36, 18], [ 18, 19 ], [0, 18] },
{ [ 4, 1], [ 18, 2] , [ 32, 1], [34, 16], [ 18, 17 ], [2, 16] }
};
shape "RTRN" {
{ [ 2, 0], [ 20, 1] , [ 38, 0], [40, 18], [ 20, 19 ], [0, 18] },
{ [ 4, 1], [ 20, 2] , [ 36, 1], [38, 16], [ 20, 17 ], [2, 16] }
};
section "Function" {
left=17;
top=3;
row {
keys { <ESC>,
{ <FK01>, 3 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 3 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 3 }, <FK10>, <FK11>, <FK12>,
{ <DELE>, 3 }
};
};
overlay "FN" {
<ESC>=<HIRA>,
<FK01>=<I180>,
<FK02>=<I163>,
<FK03>=<I225>,
<FK04>=<I152>,
<FK05>=<I148>,
<FK06>=<I179>,
<FK07>=<I173>,
<FK08>=<I172>,
<FK09>=<I171>,
<FK10>=<I121>,
<FK11>=<I122>,
<FK12>=<I123>,
<DELE>=<I169>
};
};
section "Special Keys" {
top=22;
left=122;
row {
keys {
<CAPS>, <FN>, <NMLK>
};
};
overlay "MISC" {
<CAPS>=<INS>,
<NMLK>=<PRSC>
};
};
section "LeftNumbers" {
top=32;
left=12;
angle=6;
row {
keys {
<TAB>, <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05>
};
};
};
section "CenterNumbers" {
top=45;
left=136;
row {
keys {
{ <RSUP>, "RSUP" }
};
};
};
section "RightNumbers" {
top=45;
left=159;
angle=-6;
row {
keys {
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE12>, <RBSP>
};
};
overlay "KPAD" {
<AE07>=<KP7>,
<AE08>=<KP8>,
<AE09>=<KP9>
};
};
section "LeftAlphaQWER" {
top=51;
left=10;
angle=6;
row {
keys {
<AD11>, <AD12>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>
};
};
};
section "CenterAlphaQWER" {
top=64;
left=134;
row {
keys {
{ <DELE>, "DEL" }
};
};
};
section "RightAlphaQWER" {
top=64;
left=161;
angle=-6;
row {
keys {
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AC11>, <BKSL>
};
};
overlay "KPAD" {
<AD07>=<KP4>,
<AD08>=<KP5>,
<AD09>=<KP6>,
<AD10>=<KPSU>,
<AC11>=<KPAD>
};
};
section "LeftAlphaASDF" {
top=52;
left=10;
angle=6;
row {
top=18;
keys {
{ <LCTL>, "DBL" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05>
};
};
};
section "CenterAlphaASDF" {
top=83;
left=132;
row {
keys {
{ <AE11>, "AE11" }
};
};
};
section "RightAlphaASDF" {
top=65;
left=161;
angle=-6;
row {
top=18;
keys {
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>, { <RCTL>, "DBL" }
};
};
overlay "KPAD" {
<AC07>=<KP1>,
<AC08>=<KP2>,
<AC09>=<KP3>,
<AC10>=<KPMU>
};
};
section "LeftAlphaZXCV" {
top=89;
left=6;
angle=6;
row {
keys {
{ <LFSH>, "DBL" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>
};
};
};
section "CenterAlphaZXCV" {
top=102;
left=130;
row {
keys {
{ <BKSP>, "BKSP" }
};
};
};
section "RightAlphaZXCV" {
top=102;
left=165;
angle=-6;
row {
keys {
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "DBL" }
};
};
overlay "KPAD" {
<AB07>=<KP0>,
<AB09>=<KPDL>,
<AB10>=<KPDV>
};
};
section "LeftSpecial" {
top=108;
left=4;
angle=6;
row {
keys {
<LSUP>, <LALT>,
{ <SPCE>, "DBL", 54 }
};
};
};
section "CenterSpecial" {
top=121;
left=128;
row {
keys {
{ <RTRN>, "RTRN" }
};
};
};
section "RightSpecial" {
top=121;
left=167;
angle=-6;
row {
keys {
{ <SPCE>, "DBL" },
{ <RALT>, 54 }, <MENU>
};
};
};
section "pgup, pgdown, home and end" {
top=112;
left=40;
angle=6;
row {
left=18;
keys {
<PGUP>
};
};
row {
top=9;
keys {
<HOME>, { <END>, 18 }
};
};
row {
top=18;
left=18;
keys {
<PGDN>
};
};
};
section "Arrows" {
top=117;
left=203;
angle=-6;
row {
left=18;
keys {
<UP>
};
};
row {
top=9;
keys {
<LEFT>, { <RGHT>, 18 }
};
};
row {
top=18;
left=18;
keys {
<DOWN>
};
};
};
};
@@ -0,0 +1,470 @@
// -*- indent-tabs-mode: nil -*-
// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
// Geometry specification for IBM ThinkPad keyboard.
// Compatible Models: THINKPAD 560Z 2640-90U, THINKPAD 560Z 2640-91U,
// THINKPAD 560Z 2640-B0U, THINKPAD 560Z 2640-B1U, THINKPAD 560Z 2640-RR3,
// THINKPAD 600 2645-31U, THINKPAD 600 2645-35U, THINKPAD 600 2645-41U,
// THINKPAD 600 2645-42U, THINKPAD 600 2645-45U, THINKPAD 600 2645-48U,
// THINKPAD 600 2645-51U, THINKPAD 600 2645-85U, THINKPAD 600 2645-A1U,
// THINKPAD 600 2645-RR1, THINKPAD 600 2645-RR2, THINKPAD 600E 2645-3AU,
// THINKPAD 600E 2645-4AU, THINKPAD 600E 2645-4BU, THINKPAD 600E 2645-55U,
// THINKPAD 600E 2645-5AU, THINKPAD 600E 2645-5BU, THINKPAD 600E 2645-5JU,
// THINKPAD 600E 2645-8AO, THINKPAD 600E 2645-8AU, THINKPAD 600E 2645-8BU,
// THINKPAD 600E 2645-AAU, THINKPAD 600E 2645-RRB, THINKPAD 600E 2645-RRD,
// THINKPAD 600E 2645-RRF, THINKPAD 600E 2645-RRS, THINKPAD A22E 2645-45U
xkb_geometry "common" {
width = 290;
height = 150;
baseColor = "grey80";
labelColor = "white";
shape "FN0" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 10] } };
shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2.5, 0], [15.5, 14] } };
shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2.5, 0], [34.5, 14] } };
shape "TABK" { cornerRadius = 1, { [27, 18] }, { [2.5, 0], [24.5, 14] } };
shape "CAPS" { cornerRadius = 1, { [31, 18] }, { [1, 0], [30, 16] },
{ [1, 0], [26, 16] },
{ [2.5, 0], [24.5, 14] } };
shape "RTSH" { cornerRadius = 1, { [50, 18] }, { [2.5, 0], [46.5, 14] } };
shape "MODK" { cornerRadius = 1, { [27.5, 18] }, { [2.5, 0], [25, 14] } };
shape "SPCE" { cornerRadius = 1, { [100, 18] }, { [2.5, 0], [97.5, 14] } };
shape "ARRS" { cornerRadius = 1, { [16, 13] }, { [1.5, 0], [14.5, 11] } };
shape "LED" { cornerRadius = 2, { [3, 3] } };
shape "KEYS" { cornerRadius = 2,
{ [0, 0], [19, 0], [19, 13], [172, 13],
[172, 0], [286, 0], [286, 138], [216, 138],
[216, 124], [0, 124] } };
solid "KeyPanel" {
shape = "KEYS";
left = 2;
top = 5;
color = "black";
};
shape "NULL1" { cornerRadius = 1,
{ [0, 0], [50, 0], [50, 18], [34, 18], [34, 4],
[16, 4], [16, 18], [0, 18] } };
solid "NullPanel1" {
shape = "NULL1";
left = 237;
top = 110;
color = "grey80";
};
shape "NULL2" { cornerRadius = 1, { [17, 13] } };
solid "NullPanel2" {
shape = "NULL2";
left = 219;
top = 129;
color = "grey80";
};
shape "NULL3" { cornerRadius = 1,
{ [0, 26],
[72, 26], [72, 13], [76, 13], [76, 26],
[149, 26], [149, 13], [153, 13], [153, 26],
[226, 26], [226, 0], [230, 0], [230, 26],
[284, 26], [285, 27],
[0, 27] } };
solid "NullPanel3" {
shape = "NULL3";
left = 3;
top = 6;
color = "grey80";
};
indicator.onColor = "green";
indicator.offColor = "grey10";
indicator.top = 4;
indicator.shape = "LED";
indicator "HDDActivity" { onColor = "red"; left = 100; };
indicator "Num Lock" { left = 108; };
indicator "Caps Lock" { left = 114; };
indicator "Scroll Lock" { left = 120; };
indicator "Power" { left = 128; };
key.gap = 1;
key.color = "grey60";
section "Function" {
left = 2;
top = 5;
key.shape = "FN0";
row {
top = 1;
keys { <ESC>, { <PRSC>, 155 }, <SCLK>, <PAUS> };
};
row {
top = 14;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
{ <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 6 }, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Control" {
left= 2;
top = 109;
key.shape = "MODK";
row {
top = 1;
keys { { <FN>, "NORM" }, <LCTL>, <LALT>,
{ <SPCE>, "SPCE" }, <RALT>, <RCTL>
};
};
}; // End of "Control" section
section "Editing" {
top = 5;
left = 233;
key.shape = "FN0";
row {
top = 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top = 14;
keys { <DELE>, <END>, <PGDN> };
};
}; // End of "Editing" section
section "Navigation" {
top = 114;
left = 236;
key.shape = "ARRS";
row {
top = 1;
left = 17;
keys { <UP> };
};
row {
top = 15;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Navigation" section
shape "STIK" { cornerRadius = 4, { [7, 7] } };
solid "STIK" {
priority = 255;
color = "red";
shape = "STIK";
top = 85;
left = 126;
};
};
// 85 keys
// US/English (FRU 02K4785).
xkb_geometry "us" {
include "thinkpad(common)"
description = "IBM ThinkPad 560Z/600/600E/A22E, US";
shape "RTRN" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
shape "LFSH" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
shape "BKSL" { cornerRadius = 1, { [28, 18] }, { [2.5, 0], [25.5, 14] } };
section "Alpha" {
left = 2;
top = 33;
key.gap = 1;
key.color = "grey60";
key.shape = "NORM";
row {
top = 1;
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN" }
};
};
row {
top = 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
};
// 86 keys
// Tested on: DE/German, UK/English (FRU 02K4787).
xkb_geometry "intl" {
include "thinkpad(common)"
description = "IBM ThinkPad 560Z/600/600E/A22E, Intl";
shape "RTRN" { cornerRadius = 1, { [28, 0], [28, 37], [4, 37], [4, 18],
[0, 18], [0, 0] },
{ [25.5, 0], [25.5, 33], [6.5, 33],
[6.5, 14], [2.5, 14], [2.5, 0] } };
shape "LFSH" { cornerRadius = 1, { [24, 18] }, { [2.5, 0], [21.5, 14] } };
section "Alpha" {
left = 2;
top = 33;
key.gap = 1;
key.color = "grey60";
key.shape = "NORM";
row {
top = 1;
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" }
};
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top = 58;
keys { { <LFSH>, "LFSH" }, <AB00>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
};
xkb_geometry "60" {
width = 290;
height = 140;
baseColor = "grey80";
labelColor = "white";
shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2, 0], [16, 16] } };
shape "ESC" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
shape "FN0" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2, 0], [35, 16] } };
shape "TABK" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
shape "BKSL" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
shape "CAPS" { cornerRadius = 1, { [30.5, 18] }, { [2, 0], [28.5, 16] } };
shape "RTRN" { cornerRadius = 1, { [43.5, 18] }, { [2, 0], [41.5, 16] } };
shape "LFSH" { cornerRadius = 1, { [40, 18] }, { [2, 0], [38, 16] } };
shape "RTSH" { cornerRadius = 1, { [53, 18] }, { [2, 0], [51, 16] } };
shape "LCTL" { cornerRadius = 1, { [21, 18] }, { [2, 0], [19, 16] } };
shape "LWIN" { cornerRadius = 1, { [15, 18] }, { [1.5, 0], [13.5, 16] } };
shape "SPCE" { cornerRadius = 1, { [97, 18] }, { [2, 0], [95, 16] } };
shape "ARR1" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
shape "ARR2" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
shape "VOL" { cornerRadius = 2.5, { [5, 5] } };
shape "TVTG" { cornerRadius = 0.5, { [0, 1], [17, 1], [17, 4], [0, 4] } };
shape "KEYS" { cornerRadius = 2,
{ [0, 0], [19, 0], [19, 16], [172, 16],
[172, 4], [286, 4], [286, 133], [231, 133],
[231, 126], [0, 126] } };
solid "KeyPanel" {
shape = "KEYS";
left = 2;
top = 3;
color = "black";
};
shape "NULL0" { cornerRadius = 0.5,
{ [0, 26],
[72, 26], [72, 14], [76, 14], [76, 26],
[149, 26], [149, 14], [153, 14], [153, 26],
[226, 26], [226, 2], [230, 2], [230, 26],
[284, 26], [284, 27],
[0, 27] } };
solid "NullPanel0" {
shape = "NULL0";
left = 3;
top = 6;
color = "grey80";
};
shape "NULL1" { cornerRadius = 0.5, { [0, 12], [17, 12], [17, 13], [0, 13] } };
solid "NullPanel1" {
shape = "NULL1";
left = 3;
top = 6;
color = "grey80";
};
shape "MEDIA" { cornerRadius = 0.5, { [0, 0], [55, 0], [55, 10], [0, 10] } };
solid "MediaPanel" {
shape = "MEDIA";
left = 25.5;
top = 6;
color = "black";
};
section "Volume" {
left = 22;
top = 8.5;
key.shape = "VOL";
key.gap = 6;
key.color = "grey20";
row {
keys { <MUTE>, <VOL->, <VOL+>, {<I1F>, "TVTG", color = "blue"} };
};
};
key.gap = 1;
key.color = "grey60";
section "Function" {
left = 2;
top = 3;
key.shape = "FN0";
row {
key.shape = "ESC";
top = 1;
keys { <ESC> };
};
row {
top = 5;
keys { { <PRSC>, 173 }, <SCLK>, <PAUS> };
};
row {
top = 17;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
{ <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 6 }, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Control" {
left = 2;
top = 109;
key.shape = "NORM";
row {
top = 1;
keys { <FN>, { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, <LALT>,
{ <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
};
};
}; // End of "Control" section
section "Editing" {
top = 7;
left = 233;
key.shape = "FN0";
row {
top = 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top = 13;
keys { <DELE>, <END>, <PGDN> };
};
}; // End of "Editing" section
section "Navigation" {
top = 109;
left = 233;
row {
key.shape = "ARR1";
top = 1;
keys { <I6A>, <UP>, <I69> };
};
row {
key.shape = "ARR2";
top = 15;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Navigation" section
shape "STIK" { cornerRadius = 3.5, { [7, 7] } };
solid "STIK" {
priority = 255;
color = "red";
shape = "STIK";
top = 85.5;
left = 125.5;
};
section "Alpha" {
left = 2;
top = 33;
key.shape = "NORM";
row {
top = 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color = "blue" }
};
};
row {
top = 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
};
@@ -0,0 +1,733 @@
// -*- indent-tabs-mode: nil -*-
// Created by Frédéric Boiteux <fboiteux (at) free (dot) fr>
// and Gildas Cotomale <gildas (dot) cotomale (at) gmail (dot) com>
// Note : the special/multimedia keys (Calc, WWW, Desktop…) have a keycode
// <I[XX]>, found in definition file /usr/share/X11/xkb/keycodes/evdev.
// Fn = <I120>;
// Calc = <I148>;
// WWW = <I158>;
// CycleWindows = <I162>;
// Mail = <I163>;
// PlayPause = <I172>;
// Desktop = <I243>;
xkb_geometry "tm2020" {
description = "TypeMatrix EZ-Reach 2020";
// Keyboard total size :
width = 308;
height = 152;
// Background / foreground colours
baseColor = "white";
labelColor = "black";
// Key shapes: base key = 16 mm each side
shape "NORM" { cornerRadius=1, { [16, 16] }, { [1, 1], [15, 15] }};
shape "ALPL" { cornerRadius=1, { [24.25, 16] }, { [1, 1], [23, 15] }};
shape "DHAL" { cornerRadius=1, { [24.25, 32.5] }, { [1, 1], [23, 31.5] }};
shape "FUNC" { cornerRadius=1, { [16, 12] }, { [2.5, 0], [13.5, 10] }};
shape "FUNL" { cornerRadius=1, { [24.25, 12] }, { [2.5, 0], [21.5, 10] }};
shape "SPCE" { cornerRadius=1, { [57, 26] }, { [2.5, 1], [54.5, 24] }};
shape "DBLA" { cornerRadius=1, { [32.5, 16] }, { [1, 1], [31, 15] }};
shape "LED" { cornerRadius=2, { [4, 4] }};
shape "DECO" { cornerRadius=1, { [3, 18] }};
section "Function" {
left = 4;
top = 24;
key.gap = 0.5;
key.color = "grey10";
key.shape = "FUNC";
row {
keys { { <ESC>, "FUNL" },
<FK01>, <FK02>, <FK03>, <FK04>, <FK05> };
key.color = "grey20";
keys { { <NMLK>, "FUNL" } };
};
row {
left = 150;
key.color = "red";
keys { { <DELE>, "FUNL" } };
key.color = "grey10";
keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>,
{ <FK12>, "FUNL" } };
};
};
section "Alpha" {
left = 4;
top = 36.5;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 0;
keys { { <TLDE>, "ALPL" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
{ <BKSP>, "DHAL" } };
};
row {
top = 16.5;
keys { { <TAB>, "ALPL" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
};
row {
top = 33;
keys { { <LFSH>, "DHAL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
{ <TAB>, "DHAL" } };
};
row {
top = 49.5;
left = 24.5;
keys { <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
};
row {
top = 0;
left = 150;
keys { { <BKSP>, "DHAL" },
<AE06>, <AE07>, <AE08> };
key.color = "grey20";
keys { <AE09>, <AE10>, <AE11>, { <AE12>, "ALPL" } };
};
row {
top = 16.5;
left = 174.5;
keys { <AD06>, <AD07>, <AD08> };
key.color = "grey20";
keys { <AD09>, <AD10>, <AD11>, { <AD12>, "ALPL" } };
};
row {
top = 33;
left = 150;
keys { { <RTRN>, "DHAL" },
<AC06>, <AC07>, <AC08> };
key.color = "grey20";
keys { <AC09>, <AC10>, <AC11>, { <RTSH>, "DHAL" } };
};
row {
top = 49.5;
left = 174.5;
keys { <AB06>, <AB07>, <AB08> };
key.color = "grey20";
keys { <AB09>, <AB10>, <BKSL> };
};
};
section "Control" {
left = 4;
top = 102.5;
key.gap = 0.5;
key.color = "grey10";
key.shape = "ALPL";
row {
top = 0;
keys { <LCTL>, <LALT>, <CAPS> };
keys { { <SPCE>, "SPCE"} };
};
row {
top = 16.5;
keys { <I120>, <LWIN>, <MENU> };
};
row {
top = 0;
left = 150;
key.shape = "NORM";
keys { { <SPCE>, "SPCE"}, <RALT> };
key.color = "grey20";
keys { <RCTL>, <UP>, <I162>, { <KPEN>, "DHAL" } };
};
row {
top = 16.5;
left = 207.5;
key.shape = "NORM";
key.color = "grey20";
keys { { <LEFT>, "DBLA" }, <DOWN>, <RGHT> };
};
};
// Leds
indicator.top = 12;
indicator.onColor = "green";
indicator.offColor = "grey10";
indicator.shape = "LED";
indicator "Num Lock" { left = 252; };
indicator "Caps Lock" { left = 266; };
indicator "Misc" { left = 280; };
text.top= 5;
text.color= "black";
text "NumLockLabel" { left= 252; text="1"; };
text "CapsLockLabel" { left= 266; text="A"; };
text "MiscLabel" { left= 280; text="D"; };
text "Logo" { left = 29; top = 10; text="TypeMatrix™"; };
// Other decorations: drawings
solid "rainure1" { shape = "DECO"; top = 1; left = 110; color = "grey10";};
solid "rainure2" { shape = "DECO"; top = 1; left = 115; color = "grey10";};
solid "rainure3" { shape = "DECO"; top = 1; left = 120; color = "grey10";};
solid "rainure4" { shape = "DECO"; top = 1; left = 125; color = "grey10";};
solid "rainure5" { shape = "DECO"; top = 1; left = 130; color = "grey10";};
solid "rainure6" { shape = "DECO"; top = 1; left = 135; color = "grey10";};
solid "rainure7" { shape = "DECO"; top = 1; left = 140; color = "grey10";};
solid "rainure8" { shape = "DECO"; top = 1; left = 145; color = "grey10";};
solid "rainure9" { shape = "DECO"; top = 1; left = 150; color = "grey10";};
solid "rainure10" { shape = "DECO"; top = 1; left = 155; color = "grey10";};
solid "rainure11" { shape = "DECO"; top = 1; left = 160; color = "grey10";};
solid "rainure12" { shape = "DECO"; top = 1; left = 165; color = "grey10";};
solid "rainure13" { shape = "DECO"; top = 1; left = 170; color = "grey10";};
}; // geometry tm2020
xkb_geometry "tm2030_shape" {
// Keyboard total size
width = 320;
height = 130;
// Background / foreground colours
baseColor = "white";
labelColor = "black";
// Key shapes: base key = 20 mm each side
shape "NORM" { cornerRadius=1, { [18, 18] }, { [1.5, 1.5], [16.5, 14] } };
shape "FUNC" { cornerRadius=1, { [18, 12] }, { [2.5, 0], [15.5, 10] } };
shape "LFSH" { cornerRadius=1, { [18, 36.5] }, { [2.5, 0], [15.5, 30] } };
shape "ALT1" { cornerRadius=1, { [27.5, 18] }, { [2.5, 0], [23.5, 14] } };
shape "BKSP" { cornerRadius=1, { [18, 30.5] }, { [1.5, 1.5], [16.5, 29] } };
shape "SPCE" { cornerRadius=1, { [92, 25] }, { [1.5, 1.5], [90.5, 22] } };
shape "LED" { cornerRadius=2, { [4, 4] } };
shape "PAN1" { cornerRadius=1, { [27, 126.5] } };
shape "PAN2" { cornerRadius=1, { [92, 13] } };
// Other decorations: panels
solid "panneau1" {
shape = "PAN1";
left = 0;
top = 0;
color = "grey40";
};
solid "panneau2" {
shape = "PAN2";
left = 101.5;
top = 113.5;
color = "grey40";
};
// Leds: they must be put after panels, otherwise the panels overwrite them
indicator.left = 6;
indicator.onColor = "green";
indicator.offColor = "grey10";
indicator.shape = "LED";
indicator "Num Lock" { top = 11 ; };
indicator "Caps Lock" { top = 27.5; };
indicator "Scroll Lock" { top = 44 ; };
text.left = 12;
text.color = "black";
text "NumLockLabel" { top = 11; text="num"; };
text "CapsLockLabel" { top = 27.5; text="caps"; };
text "SrollLockLabel" { top = 44; text="scroll"; };
}; // geometry tm2030_shape
xkb_geometry "tm2030_MiscDiod_dvk" {
text "ModeLabel" { left = 12; top = 58; color = "black"; text="Dvorak"; };
};
xkb_geometry "tm2030_MiscDiod_102" {
text "ModeLabel" { left = 12; top = 58; color = "black"; text="102"; };
};
xkb_geometry "tm2030_MiscDiod_106" {
text "ModeLabel" { left = 12; top = 58; color = "black"; text="106"; };
};
xkb_geometry "tm2030_MiscDiod_off" {
indicator "Misc" { left = 6; top = 60.5; shape = "LED";
offColor = "grey10"; onColor = "grey10"; };
};
xkb_geometry "tm2030_MiscDiod_on" {
indicator "Misc" { left = 6; top = 60.5; shape = "LED";
offColor = "green"; onColor = "green"; };
};
xkb_geometry "tm2030USB_func" {
section "Function" {
left = 27;
top = 1.5;
key.gap = 0.5;
key.color = "grey30";
key.shape = "FUNC";
row {
keys { <ESC>, <FK01>, <FK02>, <FK03>, <FK04>, <FK05> };
};
row {
left = 129.5;
keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>,
<FK12>, <NMLK> };
};
};
}; // geometry tm2030USB_func
xkb_geometry "tm2030USB_alpha" {
section "Alpha" {
left = 27;
top = 14;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 0;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05> };
};
row {
top = 18.5;
keys { <TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
};
row {
top = 37;
keys { { <LFSH>, "LFSH" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
};
row {
top = 55.5;
left = 18.5;
keys { <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
};
row {
top = 0;
left = 129.5;
keys { <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, <I148> };
};
row {
top = 18.5;
left = 129.5;
keys { <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>, <I163> };
};
row {
top = 37;
left = 129.5;
keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, { <RTSH>, "LFSH" }, <CAPS> };
};
row {
top = 55.5;
left = 129.5;
keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <BKSL> };
};
row {
top = 55.5;
left = 259;
keys { <I158> };
};
row {
top = 74;
left = 74;
keys { { <SPCE>, "SPCE" } };
};
};
}; // geometry tm2030USB_alpha
xkb_geometry "tm2030USB_ctrl" {
section "Control" {
left = 27;
top = 0;
key.gap = 0.5;
key.color = "grey30";
key.shape = "NORM";
row {
top = 88;
keys { <LCTL>, <I172>, <MENU>, <I162> };
};
row {
top = 106.5;
keys { <I120>, { <LWIN>, "ALT1" }, { <LALT>, "ALT1" } };
};
row {
top = 88;
left = 166.5;
keys { <I243>, <HOME>, <UP>, <END>, { <RCTL>, "LFSH"}, <PGUP> };
};
row {
top = 106.5;
left = 166.5;
keys { <RALT>, <LEFT>, <DOWN>, <RGHT> };
};
row {
top = 106.5;
left = 259;
keys { <PGDN> };
};
row {
top = 1;
left = 111.5;
vertical = true;
keys { <DELE>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
};
};
}; // geometry tm2030USB_ctrl
xkb_geometry "tm2030PS2" {
include "typematrix(tm2030_shape)"
include "typematrix(tm2030_MiscDiod_dvk)"
include "typematrix(tm2030_MiscDiod_off)"
description = "TypeMatrix EZ-Reach 2030 PS2";
section "Function" {
left = 27;
top = 1.5;
key.gap = 0.5;
key.color = "grey10";
key.shape = "FUNC";
row {
key.color = "grey30";
keys { <ESC> };
};
row {
left = 18.5;
keys { <FK01>, <FK02>, <FK03>, <FK04> };
};
row {
left = 92.5;
key.color = "grey30";
keys { <FK05> };
};
row {
left = 129.5;
key.color = "grey30";
keys { <FK06>, <FK07>, <FK08> };
};
row {
left = 185;
keys { <FK09>, <FK10>, <FK11>, <FK12> };
};
row {
left = 259;
key.color = "grey30";
keys { <NMLK> };
};
};
section "Alpha" {
left = 27;
top = 14;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 0;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05> };
};
row {
top = 18.5;
keys { <TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
};
row {
top = 37;
keys { { <LFSH>, "LFSH" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
};
row {
top = 55.5;
left = 18.5;
keys { <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
};
row {
top = 0;
left = 129.5;
keys { <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, <I120> };
};
row {
top = 18.5;
left = 129.5;
keys { <AD06>, <AD07>, <AD08> };
};
row {
top = 18.5;
left = 185;
key.color = "grey30";
keys { <AD09>, <AD10>, <AD11>, <AD12>};
};
row {
top = 18.5;
left = 259;
keys { <BKSP> };
};
row {
top = 37;
left = 129.5;
keys { <AC06>, <AC07>, <AC08> };
};
row {
top = 37;
left = 185;
key.color = "grey30";
keys { <AC09>, <AC10>, <AC11>, { <RTSH>, "LFSH" },
{<DELE>, key.color="red"} };
};
row {
top = 55.5;
left = 129.5;
keys { <AB06>, <AB07>, <AB08> };
};
row {
top = 55.5;
left = 185;
key.color = "grey30";
keys { <AB09>, <AB10>, <BKSL> };
};
row {
top = 55.5;
left = 259;
keys { <INS> };
};
row {
top = 74;
left = 74;
keys { { <SPCE>, "SPCE" } };
};
};
section "Control" {
left = 27;
top = 0;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 88;
keys { <I120>, <LWIN>, <MENU>, <I162> };
};
row {
top = 106.5;
keys { <LCTL>, { <LALT>, "ALT1" }, { <LTSH>, "ALT1" } };
};
row {
top = 88;
left = 166.5;
keys { <PGUP> };
};
row {
top = 88;
left = 185;
key.color = "grey30";
keys { <HOME>, <UP>, <END>, { <KPEN>, "LFSH"} };
};
row {
top = 88;
left = 259;
keys { <RCTL> };
};
row {
top = 106.5;
left = 166.5;
keys { <PGDN> };
};
row {
top = 106.5;
left = 185;
key.color = "grey30";
keys { <LEFT>, <DOWN>, <RGHT> };
};
row {
top = 106.5;
left = 259;
keys { <RALT> };
};
row {
top = 1;
left = 111.5;
key.color = "grey10";
vertical = true;
keys { <CAPS>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
};
};
}; // geometry tm2030PS2
xkb_geometry "tm2030USB" {
include "typematrix(tm2030_shape)"
include "typematrix(tm2030_MiscDiod_102)"
include "typematrix(tm2030_MiscDiod_off)"
description = "TypeMatrix EZ-Reach 2030 USB";
include "typematrix(tm2030USB_func)"
include "typematrix(tm2030USB_alpha)"
include "typematrix(tm2030USB_ctrl)"
}; // geometry tm2030USB
// European 102/105 keys mode.
// Same as the standard keyboard, except for one key: Play becomes LSGT.
xkb_geometry "tm2030USB-102" {
include "typematrix(tm2030_shape)"
include "typematrix(tm2030_MiscDiod_102)"
include "typematrix(tm2030_MiscDiod_on)"
description = "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)";
include "typematrix(tm2030USB_func)"
include "typematrix(tm2030USB_alpha)"
section "Control" {
left = 27;
top = 0;
key.gap = 0.5;
key.color = "grey30";
key.shape = "NORM";
row {
top = 88;
keys { <LCTL>, <LSGT>, <MENU>, <I162> };
};
row {
top = 106.5;
keys { <I120>, { <LWIN>, "ALT1" }, { <LALT>, "ALT1" } };
};
row {
top = 88;
left = 166.5;
keys { <I243>, <HOME>, <UP>, <END>, { <RCTL>, "LFSH"}, <PGUP> };
};
row {
top = 106.5;
left = 166.5;
keys { <RALT>, <LEFT>, <DOWN>, <RGHT> };
};
row {
top = 106.5;
left = 259;
keys { <PGDN> };
};
row {
top = 1;
left = 111.5;
vertical = true;
keys { <DELE>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
};
};
}; // geometry tm2030USB-102
// Japan / Korean 106 keys mode.
// Same as the standard keyboard, except for the following keys:
// <TLDE> is replaced by <HZTG>
// WWW key becomes <HKTG>
// — Calc key becomes <AE13>
// — <BKSL> key becomes <AB11>
// — and Mail key becomes <BKSL>
// About control keys:
// NFER/MEHU and XFER/KANJ: TMx keeps LWIN (and RWIN if it happens to exist).
// HKTG/HIRA: TMx keeps MENU/COMP, but locates this key in alpha section (see above).
xkb_geometry "tm2030USB-106" {
include "typematrix(tm2030_shape)"
include "typematrix(tm2030_MiscDiod_106)"
include "typematrix(tm2030_MiscDiod_on)"
description = "TypeMatrix EZ-Reach 2030 USB (106:JP mode)";
include "typematrix(tm2030USB_func)"
section "Alpha" {
left = 27;
top = 14;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 0;
keys { <HZTG>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05> };
};
row {
top = 18.5;
keys { <TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
};
row {
top = 37;
keys { { <LFSH>, "LFSH" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
};
row {
top = 55.5;
left = 18.5;
keys { <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
};
row {
top = 0;
left = 129.5;
keys { <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, <AE13> };
};
row {
top = 18.5;
left = 129.5;
keys { <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>, <BKSL> };
};
row {
top = 37;
left = 129.5;
keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, { <RTSH>, "LFSH" }, <CAPS> };
};
row {
top = 55.5;
left = 129.5;
keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11> };
};
row {
top = 55.5;
left = 259;
keys { <HKTG> };
};
row {
top = 74;
left = 74;
keys { { <SPCE>, "SPCE" } };
};
};
section "Control" {
left = 27;
top = 0;
key.gap = 0.5;
key.color = "grey30";
key.shape = "NORM";
row {
top = 88;
keys { <LCTL>, <I172>, <MENU>, <I162> };
};
row {
top = 106.5;
keys { <I120>, { <LWIN>, "ALT1" }, { <LALT>, "ALT1" } };
};
row {
top = 88;
left = 166.5;
keys { <I243>, <HOME>, <UP>, <END>, { <RCTL>, "LFSH"}, <PGUP> };
};
row {
top = 106.5;
left = 166.5;
keys { <RALT>, <LEFT>, <DOWN>, <RGHT> };
};
row {
top = 106.5;
left = 259;
keys { <PGDN> };
};
row {
top = 1;
left = 111.5;
vertical = true;
keys { <DELE>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
};
};
}; // geometry tm2030USB-106
@@ -0,0 +1,143 @@
default xkb_geometry "XP5" {
description= "WinBook XP5";
width= 281;
height= 180;
shape.cornerRadius= 1;
shape "NORM" {
{ [17,17] },
{ [ 2, 1], [ 15, 15 ] }
};
shape "FKEY" {
{ [ 15, 10 ] },
{ [ 1, 0 ], [ 14, 9.5 ] }
};
shape "ONE" {
{ [ 28, 17 ] },
{ [ 11, 0 ], [ 28, 17 ] },
{ [ 13, 1 ], [ 26, 15 ] }
};
shape "WIDE" { // backspace, caps lock, ctrl alt ?
{ [ 24.5, 17 ] },
{ [ 2, 1 ], [ 22.5, 15 ] }
};
shape "WIDR" { // backslash, left shift
{ [ 35, 17 ] },
{ [ 2, 1 ], [ 33, 15 ] }
};
shape "RTRN" {
{ [ 45, 17 ] },
{ [ 2, 1 ], [ 43, 15 ] }
};
shape "SPCE" {
{ [ 90, 17 ] },
{ [ 2, 1 ], [ 88, 15 ] }
};
shape "STIK" {
cornerRadius= 4,
{ [ 8, 8 ] }
};
shape "BTN" {
{ [ 31, 6 ] }
};
section.left= 2;
row.left= 1;
key.shape= "NORM";
key.gap= 0.5;
key.color= "grey10";
labelColor= "white";
baseColor= "grey20";
section "Whole" {
top= 10;
row {
top= 11;
key.shape= "FKEY";
keys {
<ESC>,
<FK01>, <FK02>, <FK03>, <FK04>, <FK05>, <FK06>,
<FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12>,
<PAUS>, <HOME>, <END>, <PGUP>
};
};
row {
top= 22;
keys {
{ <AEO1>, "ONE" },
<AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, shape="WIDE" },
<PGDN>
};
};
row {
top= 40;
keys {
<TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "WIDR" }
};
};
row {
top= 58;
keys { { <CAPS>, shape="WIDE" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, shape="RTRN" }
};
};
row {
top= 76;
keys {
{ <LFSH>, shape="WIDR" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<RTSH>, <UP>, <NMLK>
};
};
row {
top= 94;
keys {
{ <LCTL>, "WIDE" }, <FUNC>, { <LALT>, "WIDE" },
<TLDE>, { <SPCE>, shape="SPCE" }, <INS>, <DELE>,
<LEFT>, <DOWN>, <RGHT>
};
};
overlay "KPAD" {
<AE07>=<KP7>, <AE08>=<KP8>, <AE09>=<KP9>, <AE10>=<KPMU>,
<AD07>=<KP4>, <AD08>=<KP5>, <AD09>=<KP6>, <AD10>=<KPSU>,
<AC07>=<KP1>, <AC08>=<KP2>, <AC09>=<KP3>, <AC10>=<KPAD>,
<AB07>=<KP0>, <AB09>=<KPDL>, <AB10>=<KPSL>
};
}; // End of "Whole" section
solid "STIK" {
color= "red";
shape= "STIK";
top= 81;
left= 112;
};
solid "BTN1" {
color= "red";
shape= "BTN";
top= 137;
left= 93;
};
solid "BTN2" {
color= "red";
shape= "BTN";
top= 137;
left= 127;
};
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
@@ -0,0 +1,6 @@
The keycodes component of a keyboard mapping specifies the range and
interpretation of the raw keycodes reported by the device. It sets the keycodes
symbolic name, the minimum and maximum legal codes for the keyboard, and the
symbolic name for each key. The keycodes component might also contain aliases
for some keys, symbolic names for some indicators and a description of which
indicators are physically present.
@@ -0,0 +1,99 @@
// keycode aliases for phonetic keyboard maps
default
xkb_keycodes "qwerty" {
alias <LatQ> = <AD01>;
alias <LatW> = <AD02>;
alias <LatE> = <AD03>;
alias <LatR> = <AD04>;
alias <LatT> = <AD05>;
alias <LatY> = <AD06>;
alias <LatU> = <AD07>;
alias <LatI> = <AD08>;
alias <LatO> = <AD09>;
alias <LatP> = <AD10>;
alias <LatA> = <AC01>;
alias <LatS> = <AC02>;
alias <LatD> = <AC03>;
alias <LatF> = <AC04>;
alias <LatG> = <AC05>;
alias <LatH> = <AC06>;
alias <LatJ> = <AC07>;
alias <LatK> = <AC08>;
alias <LatL> = <AC09>;
alias <LatZ> = <AB01>;
alias <LatX> = <AB02>;
alias <LatC> = <AB03>;
alias <LatV> = <AB04>;
alias <LatB> = <AB05>;
alias <LatN> = <AB06>;
alias <LatM> = <AB07>;
};
xkb_keycodes "azerty" {
alias <LatA> = <AD01>;
alias <LatZ> = <AD02>;
alias <LatE> = <AD03>;
alias <LatR> = <AD04>;
alias <LatT> = <AD05>;
alias <LatY> = <AD06>;
alias <LatU> = <AD07>;
alias <LatI> = <AD08>;
alias <LatO> = <AD09>;
alias <LatP> = <AD10>;
alias <LatQ> = <AC01>;
alias <LatS> = <AC02>;
alias <LatD> = <AC03>;
alias <LatF> = <AC04>;
alias <LatG> = <AC05>;
alias <LatH> = <AC06>;
alias <LatJ> = <AC07>;
alias <LatK> = <AC08>;
alias <LatL> = <AC09>;
alias <LatM> = <AC10>;
alias <LatW> = <AB01>;
alias <LatX> = <AB02>;
alias <LatC> = <AB03>;
alias <LatV> = <AB04>;
alias <LatB> = <AB05>;
alias <LatN> = <AB06>;
};
xkb_keycodes "qwertz" {
alias <LatQ> = <AD01>;
alias <LatW> = <AD02>;
alias <LatE> = <AD03>;
alias <LatR> = <AD04>;
alias <LatT> = <AD05>;
alias <LatZ> = <AD06>;
alias <LatU> = <AD07>;
alias <LatI> = <AD08>;
alias <LatO> = <AD09>;
alias <LatP> = <AD10>;
alias <LatA> = <AC01>;
alias <LatS> = <AC02>;
alias <LatD> = <AC03>;
alias <LatF> = <AC04>;
alias <LatG> = <AC05>;
alias <LatH> = <AC06>;
alias <LatJ> = <AC07>;
alias <LatK> = <AC08>;
alias <LatL> = <AC09>;
alias <LatY> = <AB01>;
alias <LatX> = <AB02>;
alias <LatC> = <AB03>;
alias <LatV> = <AB04>;
alias <LatB> = <AB05>;
alias <LatN> = <AB06>;
alias <LatM> = <AB07>;
};
@@ -0,0 +1,225 @@
default xkb_keycodes "usa1" {
minimum= 8;
maximum= 255;
<ESC> = 77;
<FK01> = 88;
<FK02> = 89;
<FK03> = 90;
<FK04> = 91;
<FK05> = 92;
<FK06> = 93;
<FK07> = 94;
<FK08> = 95;
<FK09> = 96;
<FK10> = 97;
<TLDE> = 8;
<AE01> = 9;
<AE02> = 10;
<AE03> = 11;
<AE04> = 12;
<AE05> = 13;
<AE06> = 14;
<AE07> = 15;
<AE08> = 16;
<AE09> = 17;
<AE10> = 18;
<AE11> = 19;
<AE12> = 20;
<BKSL> = 21;
<BKSP> = 73;
<TAB> = 74;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 76;
<LCTL> = 107;
<CAPS> = 106;
<AC01> = 40;
<AC02> = 41;
<AC03> = 42;
<AC04> = 43;
<AC05> = 44;
<AC06> = 45;
<AC07> = 46;
<AC08> = 47;
<AC09> = 48;
<AC10> = 49;
<AC11> = 50;
<LFSH> = 104;
<AB01> = 57;
<AB02> = 58;
<AB03> = 59;
<AB04> = 60;
<AB05> = 61;
<AB06> = 62;
<AB07> = 63;
<AB08> = 64;
<AB09> = 65;
<AB10> = 66;
<RTSH> = 105;
<LALT> = 108;
<LAMI> = 110;
<SPCE> = 72;
<RAMI> = 111;
<RALT> = 109;
<DELE> = 78;
<HELP> = 103;
<UP> = 84;
<LEFT> = 87;
<DOWN> = 85;
<RGHT> = 86;
<KPLP> = 98;
<KPRP> = 99;
<KPDV> = 100;
<KPMU> = 101;
<KP7> = 69;
<KP8> = 70;
<KP9> = 71;
<KPSU> = 82;
<KP4> = 53;
<KP5> = 54;
<KP6> = 55;
<KPAD> = 102;
<KP1> = 37;
<KP2> = 38;
<KP3> = 39;
<KP0> = 23;
<KPDC> = 68;
<KPEN> = 75;
};
xkb_keycodes "de" {
minimum= 8;
maximum= 255;
<ESC> = 77;
<FK01> = 88;
<FK02> = 89;
<FK03> = 90;
<FK04> = 91;
<FK05> = 92;
<FK06> = 93;
<FK07> = 94;
<FK08> = 95;
<FK09> = 96;
<FK10> = 97;
<TLDE> = 8;
<AE01> = 9;
<AE02> = 10;
<AE03> = 11;
<AE04> = 12;
<AE05> = 13;
<AE06> = 14;
<AE07> = 15;
<AE08> = 16;
<AE09> = 17;
<AE10> = 18;
<AE11> = 19;
<AE12> = 20;
<BKSL> = 21;
<BKSP> = 73;
<TAB> = 74;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 76;
<LCTL> = 107;
<CAPS> = 106;
<AC01> = 40;
<AC02> = 41;
<AC03> = 42;
<AC04> = 43;
<AC05> = 44;
<AC06> = 45;
<AC07> = 46;
<AC08> = 47;
<AC09> = 48;
<AC10> = 49;
<AC11> = 50;
<AC12> = 51;
<LFSH> = 104;
<LSGT> = 56;
<AB01> = 57;
<AB02> = 58;
<AB03> = 59;
<AB04> = 60;
<AB05> = 61;
<AB06> = 62;
<AB07> = 63;
<AB08> = 64;
<AB09> = 65;
<AB10> = 66;
<RTSH> = 105;
<LALT> = 108;
<LAMI> = 110;
<SPCE> = 72;
<RAMI> = 111;
<RALT> = 109;
<DELE> = 78;
<HELP> = 103;
<UP> = 84;
<LEFT> = 87;
<DOWN> = 85;
<RGHT> = 86;
<KPLP> = 98;
<KPRP> = 99;
<KPDV> = 100;
<KPMU> = 101;
<KP7> = 69;
<KP8> = 70;
<KP9> = 71;
<KPSU> = 82;
<KP4> = 53;
<KP5> = 54;
<KP6> = 55;
<KPAD> = 102;
<KP1> = 37;
<KP2> = 38;
<KP3> = 39;
<KP0> = 23;
<KPDC> = 68;
<KPEN> = 75;
};
@@ -0,0 +1,117 @@
default xkb_keycodes "us" {
minimum= 8;
maximum= 255;
<ESC> = 9;
<AE01> = 10;
<AE02> = 11;
<AE03> = 12;
<AE04> = 13;
<AE05> = 14;
<AE06> = 15;
<AE07> = 16;
<AE08> = 17;
<AE09> = 18;
<AE10> = 19;
<AE11> = 20;
<AE12> = 21;
<TLDE> = 49;
<BKSP> = 22;
<TAB> = 23;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 36;
<DELE> = 91;
<LCTL> = 37;
<AC01> = 38;
<AC02> = 39;
<AC03> = 40;
<AC04> = 41;
<AC05> = 42;
<AC06> = 43;
<AC07> = 44;
<AC08> = 45;
<AC09> = 46;
<AC10> = 47;
<AC11> = 48;
<BKSL> = 51;
<LFSH> = 50;
<AB01> = 52;
<AB02> = 53;
<AB03> = 54;
<AB04> = 55;
<AB05> = 56;
<AB06> = 57;
<AB07> = 58;
<AB08> = 59;
<AB09> = 60;
<AB10> = 61;
<RTSH> = 62;
<ALT> = 64;
<SPCE> = 65;
<CAPS> = 66;
<FK01> = 67;
<FK02> = 68;
<FK03> = 69;
<FK04> = 70;
<FK05> = 71;
<FK06> = 72;
<FK07> = 73;
<FK08> = 74;
<FK09> = 75;
<FK10> = 76;
<HELP> = 106;
<UNDO> = 105;
<INS> = 90;
<HOME> = 79;
<UP> = 80;
<LEFT> = 83;
<DOWN> = 88;
<RGHT> = 85;
<KPLP> = 107;
<KPRP> = 108;
<KPDV> = 109;
<KPMU> = 110;
<KP7> = 111;
<KP8> = 112;
<KP9> = 113;
<KPSU> = 82;
<KP4> = 114;
<KP5> = 115;
<KP6> = 116;
<KPAD> = 86;
<KP1> = 117;
<KP2> = 118;
<KP3> = 119;
<KP0> = 120;
<KPDC> = 121;
<KPEN> = 122;
};
xkb_keycodes "de" {
include "ataritt(us)"
<LSGT> = 104;
};
@@ -0,0 +1,270 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//Permission is hereby granted, free of charge, to any person obtaining
//a copy of this software and associated documentation files (the
//"Software"), to deal in the Software without restriction, including
//without limitation the rights to use, copy, modify, merge, publish,
//distribute, sublicense, and sell copies of the Software, and to
//permit persons to whom the Software is furnished to do so, subject to
//the following conditions:
//
//The above copyright notice and this permission notice shall be included
//in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of the Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log
// Revision 1.2 1996/06/18 09:13:22 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.6.2 1995/08/07 17:40:34 William_Walker
// Upgrade XKB to protocol 0.62 (dual submit from decx11)
// [1995/08/06 14:06:25 William_Walker]
//
// Revision 1.1.2.4 1995/08/05 15:25:55 William_Walker
// Upgrade to XKB protocol 0.62
// [1995/08/05 14:39:58 William_Walker]
//
// Revision 1.1.2.3 1995/06/27 12:17:31 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:24:04 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:28 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:07:29 William_Walker]
//
// EndLog
//
// @(#)RCSfile: lk Revision: /main/3 (DEC) Date: 1996/01/24 12:13:31
//
xkb_keycodes "lk_common" {
// "Function" keys
<FK01> = 86;
<FK02> = 87;
<FK03> = 88;
<FK04> = 89;
<FK05> = 90;
<FK06> = 100;
<FK07> = 101;
<FK08> = 102;
<FK09> = 103;
<FK10> = 104;
<FK11> = 113;
<FK12> = 114;
<UP> = 170;
<LEFT> = 167;
<DOWN> = 169;
<RGHT> = 168;
// "Keypad" keys
<KP7> = 157;
<KP8> = 158;
<KP9> = 159;
<KP4> = 153;
<KP5> = 154;
<KP6> = 155;
<KP1> = 150;
<KP2> = 151;
<KP3> = 152;
<KPEN> = 149;
<KP0> = 146;
<KPDL> = 148;
// "Alphanumeric" keys
<AE00> = 191;
<AE01> = 192;
<AE02> = 197;
<AE03> = 203;
<AE04> = 208;
<AE05> = 214;
<AE06> = 219;
<AE07> = 224;
<AE08> = 229;
<AE09> = 234;
<AE10> = 239;
<AE11> = 249;
<AE12> = 245;
<BKSP> = 188;
<TAB> = 190;
<AD01> = 193;
<AD02> = 198;
<AD03> = 204;
<AD04> = 209;
<AD05> = 215;
<AD06> = 220;
<AD07> = 225;
<AD08> = 230;
<AD09> = 235;
<AD10> = 240;
<AD11> = 250;
<AD12> = 246;
<RTRN> = 189;
<LCTL> = 175;
<CAPS> = 176;
<AC01> = 194;
<AC02> = 199;
<AC03> = 205;
<AC04> = 210;
<AC05> = 216;
<AC06> = 221;
<AC07> = 226;
<AC08> = 231;
<AC09> = 236;
<AC10> = 242;
<AC11> = 251;
<LFSH> = 174;
<AB01> = 195;
<AB02> = 200;
<AB03> = 206;
<AB04> = 211;
<AB05> = 217;
<AB06> = 222;
<AB07> = 227;
<AB08> = 232;
<AB09> = 237;
<AB10> = 243;
<RTSH> = 171;
<SPCE> = 212;
<LDM> = 255; // Support R5 Lock Down Modifiers
alias <TLDE> = <AE00>;
};
xkb_keycodes "lkx01" {
include "digital_vndr/lk(lk_common)"
<AB00> = 201;
<FK13> = 115;
<FK14> = 116;
<FK17> = 128;
<FK18> = 129;
<FK19> = 130;
<FK20> = 131;
<HELP> = 124;
<DO> = 125;
<FIND> = 138;
<INS> = 139;
<DELE> = 140;
<SELE> = 141;
<PGUP> = 142;
<PGDN> = 143;
<KPF1> = 161;
<KPF2> = 162;
<KPF3> = 163;
<KPF4> = 164;
<KPSU> = 160;
<KPCO> = 156;
<BKSL> = 247;
<LCMP> = 177;
};
xkb_keycodes "lk201" {
include "digital_vndr/lk(lkx01)"
indicator 4 = "Scroll Lock";
indicator 3 = "Caps Lock";
indicator 2 = "Compose";
indicator 1 = "Wait";
};
xkb_keycodes "lk421" {
include "digital_vndr/lk(lkx01)"
<LALT> = 172;
<RALT> = 178;
<RCMP> = 173;
};
xkb_keycodes "lk401" {
include "digital_vndr/lk(lk421)"
indicator 4 = "Scroll Lock";
indicator 3 = "Caps Lock";
};
xkb_keycodes "lk44x" {
include "digital_vndr/lk(lk_common)"
<ESC> = 85;
<PRSC> = 115;
<SCLK> = 116;
<PAUS> = 124;
<INS> = 138;
<HOME> = 139;
<PGUP> = 140;
<DELE> = 141;
<END> = 142;
<PGDN> = 143;
<NMLK> = 161;
<KPDV> = 162;
<KPMU> = 163;
<KPSU> = 164;
<KPAD> = 156;
<LALT> = 172;
<RALT> = 178;
<RCTL> = 173;
};
xkb_keycodes "lk443" {
include "digital_vndr/lk(lk44x)"
<BKSL> = 247;
indicator 3 = "Caps Lock";
indicator 4 = "Scroll Lock";
indicator 5 = "Num Lock";
};
xkb_keycodes "lk444" {
include "digital_vndr/lk(lk44x)"
<BKSL> = 201;
<AC12> = 247;
indicator 3 = "Caps Lock";
indicator 4 = "Scroll Lock";
indicator 5 = "Num Lock";
};
// LK201-LT = lk201
// LK421-AJ = lk421 +AB11
// LK421-JJ = lk421aj+MUHE+KANJ+HIRA
// LK401-AJ = lk401
// LK401-BJ = lk401 +MUHE+KANJ+HIRA
// LK401-JJ = lk401bj+AB11
// LK401-LT = lk401
// LK441-LT = lk443
xkb_keycodes "lk421aj" {
include "digital_vndr/lk(lk421)"
<AB11> = 252;
};
xkb_keycodes "lk421jj" {
include "digital_vndr/lk(lk421aj)"
<MUHE> = 94;
<KANJ> = 95;
<HIRA> = 97;
};
xkb_keycodes "lk401bj" {
include "digital_vndr/lk(lk401)"
<MUHE> = 94;
<KANJ> = 95;
<HIRA> = 97;
};
xkb_keycodes "lk401jj" {
include "digital_vndr/lk(lk401bj)"
<AB11> = 252;
};
@@ -0,0 +1,277 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//Permission is hereby granted, free of charge, to any person obtaining
//a copy of this software and associated documentation files (the
//"Software"), to deal in the Software without restriction, including
//without limitation the rights to use, copy, modify, merge, publish,
//distribute, sublicense, and sell copies of the Software, and to
//permit persons to whom the Software is furnished to do so, subject to
//the following conditions:
//
//The above copyright notice and this permission notice shall be included
//in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of the Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log
// Revision 1.2 1996/06/18 09:13:25 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.6.3 1995/10/25 21:00:14 William_Walker
// Add pc104-key support
// [1995/10/23 15:46:21 William_Walker]
//
// Revision 1.1.6.2 1995/08/07 17:40:37 William_Walker
// Upgrade XKB to protocol 0.62 (dual submit from decx11)
// [1995/08/06 14:06:28 William_Walker]
//
// Revision 1.1.2.4 1995/08/05 15:25:56 William_Walker
// Upgrade to XKB protocol 0.62
// [1995/08/05 14:40:02 William_Walker]
//
// Revision 1.1.2.3 1995/06/27 12:17:32 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:24:07 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:31 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:07:34 William_Walker]
//
// EndLog
//
// @(#)RCSfile: pc Revision: /main/3 (DEC) Date: 1996/01/24 12:13:36
//
xkb_keycodes "pc_common" {
// "Function" keys
<FK01> = 9;
<FK02> = 15;
<FK03> = 23;
<FK04> = 31;
<FK05> = 39;
<FK06> = 47;
<FK07> = 55;
<FK08> = 63;
<FK09> = 71;
<FK10> = 79;
<FK11> = 86;
<FK12> = 94;
// "Editing" keys
<UP> = 99;
<LEFT> = 97;
<DOWN> = 96;
<RGHT> = 106;
// "Keypad" keys
<KP7> = 108;
<KP8> = 117;
<KP9> = 125;
<KP4> = 107;
<KP5> = 115;
<KP6> = 116;
<KP1> = 105;
<KP2> = 114;
<KP3> = 122;
<KPEN> = 121;
<KP0> = 112;
<KPDL> = 113;
// "Alphanumeric" keys
<AE01> = 22;
<AE02> = 30;
<AE03> = 38;
<AE04> = 37;
<AE05> = 46;
<AE06> = 54;
<AE07> = 61;
<AE08> = 62;
<AE09> = 70;
<AE10> = 69;
<AE11> = 78;
<AE12> = 85;
<BKSP> = 102;
<TAB> = 13;
<AD01> = 21;
<AD02> = 29;
<AD03> = 36;
<AD04> = 45;
<AD05> = 44;
<AD06> = 53;
<AD07> = 60;
<AD08> = 67;
<AD09> = 68;
<AD10> = 77;
<AD11> = 84;
<AD12> = 91;
<CAPS> = 20;
<AC01> = 28;
<AC02> = 27;
<AC03> = 35;
<AC04> = 43;
<AC05> = 52;
<AC06> = 51;
<AC07> = 59;
<AC08> = 66;
<AC09> = 75;
<AC10> = 76;
<AC11> = 82;
<RTRN> = 90;
<LFSH> = 18;
<AB01> = 26;
<AB02> = 34;
<AB03> = 33;
<AB04> = 42;
<AB05> = 50;
<AB06> = 49;
<AB07> = 58;
<AB08> = 65;
<AB09> = 73;
<AB10> = 74;
<RTSH> = 89;
<LCTL> = 17;
<LALT> = 25;
<SPCE> = 41;
<RALT> = 57;
<LDM> = 255; // Support R5 Lock Down Modifiers
};
xkb_keycodes "pc10x" {
include "digital_vndr/pc(pc_common)"
<ESC> = 8;
<AE00> = 14;
<PRSC> = 87;
<SCLK> = 95;
<PAUS> = 98;
<INS> = 103;
<HOME> = 110;
<PGUP> = 111;
<DELE> = 100;
<END> = 101;
<PGDN> = 109;
<NMLK> = 118;
<KPDV> = 119;
<KPMU> = 126;
<KPSU> = 132;
<KPAD> = 124;
<RCTL> = 88;
alias <TLDE> = <AE00>;
indicator 3 = "Caps Lock";
indicator 4 = "Scroll Lock";
};
xkb_keycodes "pc101" {
include "digital_vndr/pc(pc10x)"
<BKSL> = 92;
indicator 5 = "Num Lock";
};
xkb_keycodes "pc102" {
include "digital_vndr/pc(pc10x)"
<BKSL> = 19;
<AC12> = 83;
indicator 5 = "Num Lock";
};
xkb_keycodes "pc104" {
include "digital_vndr/pc(pc101)"
<LWIN> = 139;
<RWIN> = 140;
<MENU> = 141;
};
xkb_keycodes "lk411_common" {
include "digital_vndr/pc(pc_common)"
<AE00> = 8;
<AB00> = 14;
<FK13> = 24;
<FK14> = 10;
<FK17> = 16;
<FK18> = 87;
<FK19> = 95;
<FK20> = 98;
<HELP> = 11;
<DO> = 12;
<FIND> = 110;
<INS> = 103;
<DELE> = 100;
<SELE> = 101;
<PGUP> = 111;
<PGDN> = 109;
<KPF1> = 118;
<KPF2> = 119;
<KPF3> = 126;
<KPF4> = 132;
<KPSU> = 19;
<KPCO> = 124;
<LCMP> = 40;
<RCMP> = 88;
alias <TLDE> = <AE00>;
indicator 3 = "Caps Lock";
indicator 4 = "Scroll Lock";
};
xkb_keycodes "lk411" {
include "digital_vndr/pc(lk411_common)"
<BKSL> = 92;
};
xkb_keycodes "lk450" {
include "digital_vndr/pc(lk411)"
indicator 2 = "Compose";
indicator 1 = "Wait";
};
// Japanese variants
//
// PCXAJ-AA = pc+BKSL+AC12+AB11+MUHE+KANJ+HIRA+indicator
// LK411-AJ = lk411+MUHE+KANJ+HIRA
// LK411-JJ = lk411+BKSL+AZ01+MUHE+KANJ+HIRA
// LK411-LT = lk411
xkb_keycodes "pcxajaa" {
include "digital_vndr/pc(pc10x)"
<BKSL> = 93;
<AC12> = 83;
<AB11> = 81;
<MUHE> = 133;
<KANJ> = 134;
<HIRA> = 135;
indicator 5 = "Group 2";
};
xkb_keycodes "lk411jj" {
include "digital_vndr/pc(lk411_common)"
<AB11> = 81;
<BKSL> = 83;
<MUHE> = 133;
<KANJ> = 134;
<HIRA> = 135;
};
@@ -0,0 +1,4 @@
default xkb_keycodes "empty" {
minimum= 8;
maximum= 255;
};
@@ -0,0 +1,316 @@
// translation from evdev scancodes to something resembling xfree86 keycodes.
default xkb_keycodes "evdev" {
minimum = 8;
maximum = 255;
# Added for pc105 compatibility
<LSGT> = 94;
<TLDE> = 49;
<AE01> = 10;
<AE02> = 11;
<AE03> = 12;
<AE04> = 13;
<AE05> = 14;
<AE06> = 15;
<AE07> = 16;
<AE08> = 17;
<AE09> = 18;
<AE10> = 19;
<AE11> = 20;
<AE12> = 21;
<BKSP> = 22;
<TAB> = 23;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<BKSL> = 51;
alias <AC12> = <BKSL>;
<RTRN> = 36;
<CAPS> = 66;
<AC01> = 38;
<AC02> = 39;
<AC03> = 40;
<AC04> = 41;
<AC05> = 42;
<AC06> = 43;
<AC07> = 44;
<AC08> = 45;
<AC09> = 46;
<AC10> = 47;
<AC11> = 48;
<LFSH> = 50;
<AB01> = 52;
<AB02> = 53;
<AB03> = 54;
<AB04> = 55;
<AB05> = 56;
<AB06> = 57;
<AB07> = 58;
<AB08> = 59;
<AB09> = 60;
<AB10> = 61;
<RTSH> = 62;
<LALT> = 64;
<LCTL> = 37;
<SPCE> = 65;
<RCTL> = 105;
<RALT> = 108;
// Microsoft keyboard extra keys
<LWIN> = 133;
<RWIN> = 134;
<COMP> = 135;
alias <MENU> = <COMP>;
<ESC> = 9;
<FK01> = 67;
<FK02> = 68;
<FK03> = 69;
<FK04> = 70;
<FK05> = 71;
<FK06> = 72;
<FK07> = 73;
<FK08> = 74;
<FK09> = 75;
<FK10> = 76;
<FK11> = 95;
<FK12> = 96;
<PRSC> = 107;
// <SYRQ> = 107;
<SCLK> = 78;
<PAUS> = 127;
// <BRK> = 419;
<INS> = 118;
<HOME> = 110;
<PGUP> = 112;
<DELE> = 119;
<END> = 115;
<PGDN> = 117;
<UP> = 111;
<LEFT> = 113;
<DOWN> = 116;
<RGHT> = 114;
<NMLK> = 77;
<KPDV> = 106;
<KPMU> = 63;
<KPSU> = 82;
<KP7> = 79;
<KP8> = 80;
<KP9> = 81;
<KPAD> = 86;
<KP4> = 83;
<KP5> = 84;
<KP6> = 85;
<KP1> = 87;
<KP2> = 88;
<KP3> = 89;
<KPEN> = 104;
<KP0> = 90;
<KPDL> = 91;
<KPEQ> = 125;
<FK13> = 191;
<FK14> = 192;
<FK15> = 193;
<FK16> = 194;
<FK17> = 195;
<FK18> = 196;
<FK19> = 197;
<FK20> = 198;
<FK21> = 199;
<FK22> = 200;
<FK23> = 201;
<FK24> = 202;
// Keys that are generated on Japanese keyboards
//<HZTG> = 93; // Hankaku/Zenkakau toggle - not actually used
alias <HZTG> = <TLDE>;
<HKTG> = 101; // Hiragana/Katakana toggle
<AB11> = 97; // backslash/underscore
<HENK> = 100; // Henkan
<MUHE> = 102; // Muhenkan
<AE13> = 132; // Yen
<KATA> = 98; // Katakana
<HIRA> = 99; // Hiragana
<JPCM> = 103; // KPJPComma
//<RO> = 97; // Romaji
// Keys that are generated on Korean keyboards
<HNGL> = 130; // Hangul Latin toggle
<HJCV> = 131; // Hangul to Hanja conversion
// Solaris compatibility
alias <LMTA> = <LWIN>;
alias <RMTA> = <RWIN>;
<MUTE> = 121;
<VOL-> = 122;
<VOL+> = 123;
<POWR> = 124;
<STOP> = 136;
<AGAI> = 137;
<PROP> = 138;
<UNDO> = 139;
<FRNT> = 140;
<COPY> = 141;
<OPEN> = 142;
<PAST> = 143;
<FIND> = 144;
<CUT> = 145;
<HELP> = 146;
// Extended keys that may be generated on "Internet" keyboards.
// evdev has standardize names for these.
<LNFD> = 109; // #define KEY_LINEFEED 101
<I120> = 120; // #define KEY_MACRO 112
<I126> = 126; // #define KEY_KPPLUSMINUS 118
<I128> = 128; // #define KEY_SCALE 120
<I129> = 129; // #define KEY_KPCOMMA 121
<I147> = 147; // #define KEY_MENU 139
<I148> = 148; // #define KEY_CALC 140
<I149> = 149; // #define KEY_SETUP 141
<I150> = 150; // #define KEY_SLEEP 142
<I151> = 151; // #define KEY_WAKEUP 143
<I152> = 152; // #define KEY_FILE 144
<I153> = 153; // #define KEY_SENDFILE 145
<I154> = 154; // #define KEY_DELETEFILE 146
<I155> = 155; // #define KEY_XFER 147
<I156> = 156; // #define KEY_PROG1 148
<I157> = 157; // #define KEY_PROG2 149
<I158> = 158; // #define KEY_WWW 150
<I159> = 159; // #define KEY_MSDOS 151
<I160> = 160; // #define KEY_COFFEE 152
<I161> = 161; // #define KEY_DIRECTION 153
<I162> = 162; // #define KEY_CYCLEWINDOWS 154
<I163> = 163; // #define KEY_MAIL 155
<I164> = 164; // #define KEY_BOOKMARKS 156
<I165> = 165; // #define KEY_COMPUTER 157
<I166> = 166; // #define KEY_BACK 158
<I167> = 167; // #define KEY_FORWARD 159
<I168> = 168; // #define KEY_CLOSECD 160
<I169> = 169; // #define KEY_EJECTCD 161
<I170> = 170; // #define KEY_EJECTCLOSECD 162
<I171> = 171; // #define KEY_NEXTSONG 163
<I172> = 172; // #define KEY_PLAYPAUSE 164
<I173> = 173; // #define KEY_PREVIOUSSONG 165
<I174> = 174; // #define KEY_STOPCD 166
<I175> = 175; // #define KEY_RECORD 167
<I176> = 176; // #define KEY_REWIND 168
<I177> = 177; // #define KEY_PHONE 169
<I178> = 178; // #define KEY_ISO 170
<I179> = 179; // #define KEY_CONFIG 171
<I180> = 180; // #define KEY_HOMEPAGE 172
<I181> = 181; // #define KEY_REFRESH 173
<I182> = 182; // #define KEY_EXIT 174
<I183> = 183; // #define KEY_MOVE 175
<I184> = 184; // #define KEY_EDIT 176
<I185> = 185; // #define KEY_SCROLLUP 177
<I186> = 186; // #define KEY_SCROLLDOWN 178
<I187> = 187; // #define KEY_KPLEFTPAREN 179
<I188> = 188; // #define KEY_KPRIGHTPAREN 180
<I189> = 189; // #define KEY_NEW 181
<I190> = 190; // #define KEY_REDO 182
<I208> = 208; // #define KEY_PLAYCD 200
<I209> = 209; // #define KEY_PAUSECD 201
<I210> = 210; // #define KEY_PROG3 202
<I211> = 211; // #define KEY_PROG4 203 conflicts with AB11
<I212> = 212; // #define KEY_DASHBOARD 204
<I213> = 213; // #define KEY_SUSPEND 205
<I214> = 214; // #define KEY_CLOSE 206
<I215> = 215; // #define KEY_PLAY 207
<I216> = 216; // #define KEY_FASTFORWARD 208
<I217> = 217; // #define KEY_BASSBOOST 209
<I218> = 218; // #define KEY_PRINT 210
<I219> = 219; // #define KEY_HP 211
<I220> = 220; // #define KEY_CAMERA 212
<I221> = 221; // #define KEY_SOUND 213
<I222> = 222; // #define KEY_QUESTION 214
<I223> = 223; // #define KEY_EMAIL 215
<I224> = 224; // #define KEY_CHAT 216
<I225> = 225; // #define KEY_SEARCH 217
<I226> = 226; // #define KEY_CONNECT 218
<I227> = 227; // #define KEY_FINANCE 219
<I228> = 228; // #define KEY_SPORT 220
<I229> = 229; // #define KEY_SHOP 221
<I230> = 230; // #define KEY_ALTERASE 222
<I231> = 231; // #define KEY_CANCEL 223
<I232> = 232; // #define KEY_BRIGHTNESSDOWN 224
<I233> = 233; // #define KEY_BRIGHTNESSUP 225
<I234> = 234; // #define KEY_MEDIA 226
<I235> = 235; // #define KEY_SWITCHVIDEOMODE 227
<I236> = 236; // #define KEY_KBDILLUMTOGGLE 228
<I237> = 237; // #define KEY_KBDILLUMDOWN 229
<I238> = 238; // #define KEY_KBDILLUMUP 230
<I239> = 239; // #define KEY_SEND 231
<I240> = 240; // #define KEY_REPLY 232
<I241> = 241; // #define KEY_FORWARDMAIL 233
<I242> = 242; // #define KEY_SAVE 234
<I243> = 243; // #define KEY_DOCUMENTS 235
<I244> = 244; // #define KEY_BATTERY 236
<I245> = 245; // #define KEY_BLUETOOTH 237
<I246> = 246; // #define KEY_WLAN 238
<I247> = 247; // #define KEY_UWB 239
<I248> = 248; // #define KEY_UNKNOWN 240
<I249> = 249; // #define KEY_VIDEO_NEXT 241
<I250> = 250; // #define KEY_VIDEO_PREV 242
<I251> = 251; // #define KEY_BRIGHTNESS_CYCLE 243
<I252> = 252; // #define KEY_BRIGHTNESS_ZERO 244
<I253> = 253; // #define KEY_DISPLAY_OFF 245
<I254> = 254; // #define KEY_WWAN 246
<I255> = 255; // #define KEY_RFKILL 247
<I372> = 372; // #define KEY_FAVORITES 364
<I382> = 382; // #define KEY_KEYBOARD 374
<I569> = 569; // #define KEY_ROTATE_LOCK_TOGGLE 561
<I380> = 380; // #define KEY_FULL_SCREEN 372
// Fake keycodes for virtual keys
<LVL3> = 92;
<MDSW> = 203;
<ALT> = 204;
<META> = 205;
<SUPR> = 206;
<HYPR> = 207;
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
indicator 4 = "Compose";
indicator 5 = "Kana";
indicator 6 = "Sleep";
indicator 7 = "Suspend";
indicator 8 = "Mute";
indicator 9 = "Misc";
indicator 10 = "Mail";
indicator 11 = "Charging";
alias <ALGR> = <RALT>;
// For Brazilian ABNT2
alias <KPPT> = <I129>;
};
@@ -0,0 +1,186 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
default xkb_keycodes "138" {
minimum= 8;
maximum= 255;
<ESC> = 37;
<AE01> = 38;
<AE02> = 39;
<AE03> = 40;
<AE04> = 41;
<AE05> = 42;
<AE06> = 43;
<AE07> = 44;
<AE08> = 45;
<AE09> = 46;
<AE10> = 47;
<AE11> = 48;
<AE12> = 49;
<TLDE> = 50;
<BKSP> = 51;
<TAB> = 61;
<AD01> = 62;
<AD02> = 63;
<AD03> = 64;
<AD04> = 65;
<AD05> = 66;
<AD06> = 67;
<AD07> = 68;
<AD08> = 69;
<AD09> = 70;
<AD10> = 71;
<AD11> = 72;
<AD12> = 73;
<LCTL> = 84;
<AC01> = 85;
<AC02> = 86;
<AC03> = 87;
<AC04> = 88;
<AC05> = 89;
<AC06> = 90;
<AC07> = 91;
<AC08> = 92;
<AC09> = 93;
<AC10> = 94;
<AC11> = 95;
<BKSL> = 96;
<RTRN> = 97;
<LFSH> = 107;
<AB01> = 108;
<AB02> = 109;
<AB03> = 110;
<AB04> = 111;
<AB05> = 112;
<AB06> = 113;
<AB07> = 114;
<AB08> = 115;
<AB09> = 116;
<AB10> = 117;
<AB11> = 52;
<RTSH> = 118;
<CAPS> = 127;
<LALT> = 27;
<LMTA> = 128;
<UNK4> = 125;
<SPCE> = 129;
<UNK5> = 10;
<RMTA> = 130;
<RALT> = 23;
<COMP> = 75;
<LNFD> = 119;
<UNK6> = 56;
<FK01> = 13;
<FK02> = 14;
<FK03> = 16;
<FK04> = 18;
<FK05> = 20;
<FK06> = 22;
<FK07> = 24;
<FK08> = 25;
<FK09> = 26;
<FK10> = 15;
<FK11> = 17;
<FK12> = 19;
<FK13> = 137;
<FK14> = 138;
<FK15> = 139;
<FK16> = 140;
<FK17> = 141;
<FK18> = 142;
<FK19> = 143;
<FK20> = 144;
<FK21> = 145;
<FK22> = 146;
<FK23> = 147;
<FK24> = 148;
<FK25> = 153;
<FK26> = 154;
<FK27> = 155;
<FK28> = 156;
<FK29> = 149;
<FK30> = 150;
<FK31> = 151;
<FK32> = 152;
<UNDO> = 34;
<COPY> = 59;
<PAST> = 81;
<CUT> = 105;
<HELP> = 126;
<BREA> = 9;
<PRSC> = 30;
<KNJI> = 21;
<PAUS> = 29;
<UNK0> = 82;
<UNK1> = 83;
<UNK2> = 12;
<PGUP> = 35;
<HOME> = 32;
<PGDN> = 36;
<UNK3> = 28;
<DEL> = 74;
<INS> = 60;
<UP> = 33;
<DOWN> = 103;
<LEFT> = 57;
<RGHT> = 80;
<EXEC> = 11;
<KPMU> = 55;
<KPDV> = 54;
<KPAD> = 133;
<KPSU> = 79;
<KP7> = 76;
<KP8> = 77;
<KP9> = 78;
<KPEQ> = 53;
<KP4> = 99;
<KP5> = 100;
<KP6> = 101;
<KPDC> = 58;
<KP1> = 120;
<KP2> = 121;
<KP3> = 122;
<KPEN> = 98;
<KP0> = 102;
<KP00> = 31;
<UNK7> = 123;
<UNK8> = 124;
};
+270
View File
@@ -0,0 +1,270 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
default xkb_keycodes "hp-101" {
<TLDE> = 23;
<AE01> = 31;
<AE02> = 39;
<AE03> = 47;
<AE04> = 46;
<AE05> = 55;
<AE06> = 63;
<AE07> = 70;
<AE08> = 71;
<AE09> = 79;
<AE10> = 78;
<AE11> = 87;
<AE12> = 94;
<BKSP> = 111;
<TAB> = 22;
<AD01> = 30;
<AD02> = 38;
<AD03> = 45;
<AD04> = 54;
<AD05> = 53;
<AD06> = 62;
<AD07> = 69;
<AD08> = 76;
<AD09> = 77;
<AD10> = 86;
<AD11> = 93;
<AD12> = 100;
<BKSL> = 101;
<CAPS> = 29;
<AC01> = 37;
<AC02> = 36;
<AC03> = 44;
<AC04> = 52;
<AC05> = 61;
<AC06> = 60;
<AC07> = 68;
<AC08> = 75;
<AC09> = 84;
<AC10> = 85;
<AC11> = 91;
<RTRN> = 99;
<LFSH> = 27;
<AB01> = 35;
<AB02> = 43;
<AB03> = 42;
<AB04> = 51;
<AB05> = 59;
<AB06> = 58;
<AB07> = 67;
<AB08> = 74;
<AB09> = 82;
<AB10> = 83;
<RTSH> = 98;
<LCTL> = 26;
<LALT> = 34;
<SPCE> = 50;
<RALT> = 66;
<RCTL> = 97;
<ESC> = 17;
<FK01> = 16;
<FK02> = 24;
<FK03> = 32;
<FK04> = 40;
<FK05> = 48;
<FK06> = 56;
<FK07> = 64;
<FK08> = 72;
<FK09> = 80;
<FK10> = 88;
<FK11> = 95;
<FK12> = 103;
<PRSC> = 96;
<SCLK> = 104;
<PAUS> = 107;
<INS> = 112;
<HOME> = 119;
<PGUP> = 120;
<DELE> = 109;
<END> = 110;
<PGDN> = 118;
<UP> = 108;
<LEFT> = 106;
<DOWN> = 105;
<RGHT> = 115;
<NMLK> = 127;
<KPDV> = 128;
<KPMU> = 135;
<KPSU> = 141;
<KP7> = 117;
<KP8> = 126;
<KP9> = 134;
<KPAD> = 133;
<KP4> = 116;
<KP5> = 124;
<KP6> = 125;
<KP1> = 114;
<KP2> = 123;
<KP3> = 131;
<KPEN> = 130;
<KP0> = 121;
<KPDL> = 122;
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
};
xkb_keycodes "hil" {
<TLDE> = 71;
<AE01> = 70;
<AE02> = 69;
<AE03> = 68;
<AE04> = 67;
<AE05> = 66;
<AE06> = 65;
<AE07> = 64;
<AE08> = 96;
<AE09> = 97;
<AE10> = 98;
<AE11> = 99;
<AE12> = 100;
<BKSP> = 101;
<TAB> = 63;
<AD01> = 62;
<AD02> = 61;
<AD03> = 60;
<AD04> = 59;
<AD05> = 58;
<AD06> = 57;
<AD07> = 56;
<AD08> = 104;
<AD09> = 105;
<AD10> = 106;
<AD11> = 107;
<AD12> = 108;
<BKSL> = 109;
<CAPS> = 55;
<AC01> = 53;
<AC02> = 52;
<AC03> = 51;
<AC04> = 50;
<AC05> = 49;
<AC06> = 48;
<AC07> = 112;
<AC08> = 113;
<AC09> = 114;
<AC10> = 115;
<AC11> = 116;
<RTRN> = 117;
<LFSH> = 13;
<AB01> = 36;
<AB02> = 35;
<AB03> = 34;
<AB04> = 33;
<AB05> = 32;
<AB06> = 128;
<AB07> = 120;
<AB08> = 121;
<AB09> = 122;
<AB10> = 123;
<RTSH> = 12;
<LCTL> = 14;
<LALT> = 11;
<SPCE> = 129;
<RALT> = 10;
<PRSC> = 87;
<ESC> = 39;
<BRK> = 15;
<STOP> = 86;
<FK01> = 84;
<FK02> = 83;
<FK03> = 82;
<FK04> = 81;
<MENU> = 80;
<SYST> = 88;
<FK05> = 89;
<FK06> = 90;
<FK07> = 91;
<FK08> = 92;
<FK09> = 45;
<FK10> = 41;
<FK11> = 43;
<FK12> = 47;
<CLRL> = 94;
<CLR> = 95;
<INSL> = 102;
<DELL> = 103;
<INSC> = 110;
<DELC> = 111;
<HOME> = 118;
<PGUP> = 119;
<PGDN> = 127;
<SELE> = 125;
<UP> = 134;
<LEFT> = 132;
<DOWN> = 133;
<RGHT> = 135;
<KPDV> = 25;
<KPMU> = 29;
<KPAD> = 27;
<KPSU> = 31;
<KP7> = 21;
<KP8> = 17;
<KP9> = 19;
<KPEN> = 23;
<KP4> = 16;
<KP5> = 18;
<KP6> = 20;
<KPSP> = 22;
<KP1> = 24;
<KP2> = 26;
<KP3> = 28;
<KPTB> = 46;
<KP0> = 30;
<KPDL> = 44;
};
+150
View File
@@ -0,0 +1,150 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
xkb_keycodes "rs6k-101" {
<TLDE> = 9;
<AE01> = 10;
<AE02> = 11;
<AE03> = 12;
<AE04> = 13;
<AE05> = 14;
<AE06> = 15;
<AE07> = 16;
<AE08> = 17;
<AE09> = 18;
<AE10> = 19;
<AE11> = 20;
<AE12> = 21;
<BKSP> = 23;
<TAB> = 24;
<AD01> = 25;
<AD02> = 26;
<AD03> = 27;
<AD04> = 28;
<AD05> = 29;
<AD06> = 30;
<AD07> = 31;
<AD08> = 32;
<AD09> = 33;
<AD10> = 34;
<AD11> = 35;
<AD12> = 36;
<BKSL> = 37;
<CAPS> = 38;
<AC01> = 39;
<AC02> = 40;
<AC03> = 41;
<AC04> = 42;
<AC05> = 43;
<AC06> = 44;
<AC07> = 45;
<AC08> = 46;
<AC09> = 47;
<AC10> = 48;
<AC11> = 49;
<RTRN> = 51;
<LFSH> = 52;
<AB01> = 54;
<AB02> = 55;
<AB03> = 56;
<AB04> = 57;
<AB05> = 58;
<AB06> = 59;
<AB07> = 60;
<AB08> = 61;
<AB09> = 62;
<AB10> = 63;
<RTSH> = 65;
<LCTL> = 66;
<LALT> = 68;
<SPCE> = 69;
<RALT> = 70;
<RCTL> = 72;
<ESC> = 118;
<FK01> = 120;
<FK02> = 121;
<FK03> = 122;
<FK04> = 123;
<FK05> = 124;
<FK06> = 125;
<FK07> = 126;
<FK08> = 127;
<FK09> = 128;
<FK10> = 129;
<FK11> = 130;
<FK12> = 131;
<PRSC> = 132;
<SCLK> = 133;
<PAUS> = 134;
<INS> = 83;
<HOME> = 88;
<PGUP> = 93;
<DELE> = 84;
<END> = 89;
<PGDN> = 94;
<UP> = 91;
<LEFT> = 87;
<DOWN> = 92;
<RGHT> = 97;
<NMLK> = 98;
<KPDV> = 103;
<KPMU> = 108;
<KPSU> = 113;
<KP7> = 99;
<KP8> = 104;
<KP9> = 109;
<KPAD> = 114;
<KP4> = 100;
<KP5> = 105;
<KP6> = 110;
<KP1> = 101;
<KP2> = 106;
<KP3> = 111;
<KPEN> = 116;
<KP0> = 107;
<KPDL> = 112;
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
};
xkb_keycodes "rs6k-102" {
include "ibm(rs6k-101)"
<LSGT> = 53;
};
@@ -0,0 +1,10 @@
default
xkb_keycodes "jolla" {
// These keycodes are beyond the X11 255 limit value so it would
// only be valid for the use with SW which supports extended keycodes,
// like xkbcommon.
<I264> = 264; // Jolla phone has the wired headset button sending this keycode
};
@@ -0,0 +1,208 @@
//
//Copyright (c) 1996 X Consortium
//
//Permission is hereby granted, free of charge, to any person obtaining
//a copy of this software and associated documentation files (the
//"Software"), to deal in the Software without restriction, including
//without limitation the rights to use, copy, modify, merge, publish,
//distribute, sublicense, and/or sell copies of the Software, and to
//permit persons to whom the Software is furnished to do so, subject to
//the following conditions:
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of the X Consortium shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from the X Consortium.
//
//
default xkb_keycodes "macintosh" {
include "xfree86"
<FK13> = 182;
<FK14> = 183;
<FK15> = 184;
<KPEQ> = 157;
};
xkb_keycodes "old" {
minimum= 8;
maximum= 255;
<ESC> = 61;
<TLDE> = 58;
<AE01> = 26;
<AE02> = 27;
<AE03> = 28;
<AE04> = 29;
<AE05> = 31;
<AE06> = 30;
<AE07> = 34;
<AE08> = 36;
<AE09> = 33;
<AE10> = 37;
<AE11> = 35;
<AE12> = 32;
<BKSP> = 59;
<TAB> = 56;
<AD01> = 20;
<AD02> = 21;
<AD03> = 22;
<AD04> = 23;
<AD05> = 25;
<AD06> = 24;
<AD07> = 40;
<AD08> = 42;
<AD09> = 39;
<AD10> = 43;
<AD11> = 41;
<AD12> = 38;
<BKSL> = 50;
<CAPS> = 65;
<AC01> = 8;
<AC02> = 9;
<AC03> = 10;
<AC04> = 11;
<AC05> = 13;
<AC06> = 12;
<AC07> = 46;
<AC08> = 48;
<AC09> = 45;
<AC10> = 49;
<AC11> = 47;
<RTRN> = 44;
<LSGT> = 18;
<AB01> = 14;
<AB02> = 15;
<AB03> = 16;
<AB04> = 17;
<AB05> = 19;
<AB06> = 53;
<AB07> = 54;
<AB08> = 51;
<AB09> = 55;
<AB10> = 52;
<SPCE> = 57;
<LCTL> = 62; // Left Control
<LALT> = 63; // Left Option
<LFSH> = 64; // Left Shift
<RALT> = 66; // Left Command
// <RTSH> = 131; // Right Shift
// <RALT> = 132; // Right Command
// <RCTL> = 133; // Right Control
// <RMTA> = 134; // Right Option
<FK01> = 130;
<FK02> = 128;
<FK03> = 107;
<FK04> = 126;
<FK05> = 104;
<FK06> = 105;
<FK07> = 106;
<FK08> = 108;
<FK09> = 109;
<FK10> = 117;
<FK11> = 111;
<FK12> = 119;
<PRSC> = 113;
<SCLK> = 115;
<PAUS> = 121;
<INS> = 122;
<HOME> = 123;
<PGUP> = 124;
<DELE> = 125;
<END> = 127;
<PGDN> = 129;
<UP> = 70;
<LEFT> = 67;
<DOWN> = 69;
<RGHT> = 68;
<NMLK> = 79;
<KPEQ> = 89;
<KPDV> = 83;
<KPMU> = 75;
<KP7> = 97;
<KP8> = 99;
<KP9> = 100;
<KPSU> = 86;
<KP4> = 94;
<KP5> = 95;
<KP6> = 96;
<KPAD> = 77;
<KP1> = 91;
<KP2> = 92;
<KP3> = 93;
<KPEN> = 84;
<KP0> = 90;
<KPDL> = 73;
indicator 3 = "Scroll Lock";
indicator 2 = "Num Lock";
indicator 1 = "Caps Lock";
alias <ALGR> = <RALT>;
};
xkb_keycodes "hhk" {
include "macintosh"
<AC12> = 51;
<LWIN> = 49;
<EISU> = 131;
<KANA> = 129;
<RWIN> = 208;
<FK13> = 111;
<FK14> = 78;
<FK15> = 110;
};
// Aluminium Keyboards
xkb_keycodes "alukbd" {
include "xfree86"
// Fkeys missing in xfree86 keycodes
<FK18> = 129;
<FK19> = 130;
// Eject key that matches the geometry definition
alias <I169> = <K6C>;
// Japanese keypad separator (KPSP in base, JPCM in evdev)
alias <JPCM> = <KPDC>;
};
// Aluminium Keyboards JIS
// As of HID Usage Table v1.11, it seems there are no usages
// for keys EISU or KANA. JIS Aluminium Keyboards overcome
// this by outputting usages of keys Hanja and Hangul
xkb_keycodes "jisevdev" {
alias <KANA> = <HJCV>; // Switch to kana mode
alias <EISU> = <HNGL>; // Switch to alphanumeric mode
};
@@ -0,0 +1,24 @@
// OLPC's mechanical keyboard moves several keys to the AA row. make
// them easier to write symbol files naturally.
// see http://wiki.laptop.org/go/OLPC_English_Non-membrane_Keyboard
// and http://wiki.laptop.org/go/OLPC_Spanish_Non-membrane_Keyboard
default
xkb_keycodes "olpc" {
alias <AE00> = <TLDE>; // many OLPC keyboards don't put tilde there
alias <AC12> = <BKSL>; // on model olpc, physical position of BKSL
};
default
xkb_keycodes "olpcm" {
alias <AE00> = <TLDE>; // many OLPC keyboards don't put tilde there
alias <AA02> = <BKSL>; // on model olpcm, new physical position of BKSL
alias <AA06> = <AE12>; // on model olpcm, new physical position of =+
alias <AA07> = <AC11>; // on model olpcm, new physical position of '"
};
@@ -0,0 +1,139 @@
default xkb_keycodes "pc101" {
minimum= 8;
maximum= 255;
<TLDE> = 62;
<AE01> = 15;
<AE02> = 21;
<AE03> = 22;
<AE04> = 29;
<AE05> = 30;
<AE06> = 37;
<AE07> = 38;
<AE08> = 45;
<AE09> = 46;
<AE10> = 53;
<AE11> = 54;
<AE12> = 61;
<BKSP> = 68;
<TAB> = 16;
<AD01> = 17;
<AD02> = 23;
<AD03> = 24;
<AD04> = 31;
<AD05> = 32;
<AD06> = 39;
<AD07> = 40;
<AD08> = 47;
<AD09> = 48;
<AD10> = 55;
<AD11> = 56;
<AD12> = 63;
<RTRN> = 58;
<CAPS> = 11;
<AC01> = 18;
<AC02> = 19;
<AC03> = 25;
<AC04> = 26;
<AC05> = 33;
<AC06> = 34;
<AC07> = 41;
<AC08> = 42;
<AC09> = 49;
<AC10> = 50;
<AC11> = 57;
<LFSH> = 13;
<AB01> = 27;
<AB02> = 28;
<AB03> = 35;
<AB04> = 36;
<AB05> = 43;
<AB06> = 44;
<AB07> = 51;
<AB08> = 52;
<AB09> = 59;
<AB10> = 60;
<RTSH> = 12;
<BKSL> = 64;
<LALT> = 91;
<LCTL> = 10;
<SPCE> = 90;
<RCTL> = 93;
<RALT> = 92;
<ESC> = 14;
<FK01> = 94;
<FK02> = 95;
<FK03> = 96;
<FK04> = 97;
<FK05> = 98;
<FK06> = 99;
<FK07> = 100;
<FK08> = 101;
<FK09> = 102;
<FK10> = 103;
<FK11> = 104;
<FK12> = 105;
<PRSC> = 106;
<SCLK> = 107;
<PAUS> = 108;
<INS> = 109;
<HOME> = 110;
<PGUP> = 111;
<DELE> = 69;
<END> = 112;
<PGDN> = 113;
<UP> = 88;
<LEFT> = 80;
<DOWN> = 81;
<RGHT> = 87;
<NMLK> = 114;
<KPDV> = 115;
<KPMU> = 116;
<KPSU> = 83;
<KP7> = 74;
<KP8> = 75;
<KP9> = 82;
<KPAD> = 117;
<KP4> = 70;
<KP5> = 76;
<KP6> = 77;
<KP1> = 65;
<KP2> = 71;
<KP3> = 72;
<KPEN> = 89;
<KP0> = 66;
<KPDL> = 73;
alias <AE00> = <TLDE>;
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
alias <AA01> = <LALT>;
alias <AA09> = <RALT>;
alias <ALGR> = <RALT>;
alias <AA12> = <RCTL>;
virtual indicator 1 = "L1";
virtual indicator 2 = "L2";
virtual indicator 3 = "L3";
virtual indicator 4 = "L4";
indicator 5 = "Caps Lock";
indicator 6 = "Num Lock";
indicator 7 = "Scroll Lock";
};
xkb_keycodes "pc102" {
include "sgi_vndr/indigo(pc101)"
<LSGT> = 118;
};
@@ -0,0 +1,202 @@
default xkb_keycodes "universal" {
minimum= 8;
maximum= 255;
include "sgi_vndr/indy(pc105)"
alternate <BKSL> = 91;
alternate <BKSL> = 100;
alternate <BKSL> = 101;
};
xkb_keycodes "pc101" {
minimum= 8;
maximum= 255;
<TLDE> = 22;
<AE01> = 30;
<AE02> = 38;
<AE03> = 46;
<AE04> = 45;
<AE05> = 54;
<AE06> = 62;
<AE07> = 69;
<AE08> = 70;
<AE09> = 78;
<AE10> = 77;
<AE11> = 86;
<AE12> = 93;
<BKSP> = 110;
<TAB> = 21;
<AD01> = 29;
<AD02> = 37;
<AD03> = 44;
<AD04> = 53;
<AD05> = 52;
<AD06> = 61;
<AD07> = 68;
<AD08> = 75;
<AD09> = 76;
<AD10> = 85;
<AD11> = 92;
<AD12> = 99;
<RTRN> = 98;
<CAPS> = 28;
<AC01> = 36;
<AC02> = 35;
<AC03> = 43;
<AC04> = 51;
<AC05> = 60;
<AC06> = 59;
<AC07> = 67;
<AC08> = 74;
<AC09> = 83;
<AC10> = 84;
<AC11> = 90;
<LFSH> = 26;
<AB01> = 34;
<AB02> = 42;
<AB03> = 41;
<AB04> = 50;
<AB05> = 58;
<AB06> = 57;
<AB07> = 66;
<AB08> = 73;
<AB09> = 81;
<AB10> = 82;
<RTSH> = 97;
<BKSL> = 100;
<LALT> = 33;
<LCTL> = 25;
<SPCE> = 49;
<RCTL> = 96;
<RALT> = 65;
<ESC> = 16;
<FK01> = 15;
<FK02> = 23;
<FK03> = 31;
<FK04> = 39;
<FK05> = 47;
<FK06> = 55;
<FK07> = 63;
<FK08> = 71;
<FK09> = 79;
<FK10> = 87;
<FK11> = 94;
<FK12> = 102;
<PRSC> = 95;
<SCLK> = 103;
<PAUS> = 106;
<INS> = 111;
<HOME> = 118;
<PGUP> = 119;
<DELE> = 108;
<END> = 109;
<PGDN> = 117;
<UP> = 107;
<LEFT> = 105;
<DOWN> = 104;
<RGHT> = 114;
<NMLK> = 126;
<KPDV> = 127;
<KPMU> = 134;
<KPSU> = 140;
<KP7> = 116;
<KP8> = 125;
<KP9> = 133;
<KPAD> = 132;
<KP4> = 115;
<KP5> = 123;
<KP6> = 124;
<KP1> = 113;
<KP2> = 122;
<KP3> = 130;
<KPEN> = 129;
<KP0> = 120;
<KPDL> = 121;
alias <AE00> = <TLDE>;
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
alias <AA01> = <LALT>;
alias <AA09> = <RALT>;
alias <ALGR> = <RALT>;
alias <AA12> = <RCTL>;
virtual indicator 1 = "L1";
virtual indicator 2 = "L2";
virtual indicator 3 = "L3";
virtual indicator 4 = "L4";
indicator 5 = "Caps Lock";
indicator 6 = "Num Lock";
indicator 7 = "Scroll Lock";
};
xkb_keycodes "pc102" {
<BKSL> = 91;
<LSGT> = 27;
augment "sgi_vndr/indy(pc101)"
maximum= 255;
minimum= 8;
};
xkb_keycodes "pc104" {
include "sgi_vndr/indy(pc101)"
minimum= 8;
maximum= 255;
// These key names are here to support so-called "Windows95"
// keyboards like the Microsoft Natural keyboard.
<LWIN> = 147;
<RWIN> = 148;
<MENU> = 149;
};
xkb_keycodes "pc105" {
<LSGT> = 27;
augment "sgi_vndr/indy(pc104)"
minimum= 8;
maximum= 255;
};
xkb_keycodes "jp106" {
<HZTG> = 22;
<AB11> = 89;
<AC12> = 91;
<NFER> = 141;
<XFER> = 142;
<HKTG> = 143;
alias <TLDE> = <HZTG>;
alias <AE00> = <HZTG>;
alias <AE13> = <BKSL>;
augment "sgi_vndr/indy(pc101)"
minimum= 8;
maximum= 255;
};
// can be combined with any other "indy" keycode
// description to add virtual keys which can be
// used to implement an overlay-based numeric
// keypad.
partial hidden xkb_keycodes "overlayKeypad" {
<KO7> = 17;
<KO8> = 18;
<KO9> = 19;
<KO6> = 146;
<KO5> = 145;
<KO4> = 144;
<KO1> = 136;
<KO2> = 137;
<KO3> = 138;
<KO0> = 135;
<KODL> = 139;
};
partial hidden xkb_keycodes "shiftLock" {
indicator 5 = "Shift Lock";
};
@@ -0,0 +1,10 @@
default xkb_keycodes "iris" {
include "sgi_vndr/indigo(pc101)"
indicator 1 = "L1";
indicator 2 = "L2";
indicator 3 = "L3";
indicator 4 = "L4";
indicator 5 = "Caps Lock";
indicator 6 = "Num Lock";
indicator 7 = "Scroll Lock";
};
+141
View File
@@ -0,0 +1,141 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
xkb_keycodes "nwp5461" {
<ESC> = 18;
<AE01> = 19;
<AE02> = 20;
<AE03> = 21;
<AE04> = 22;
<AE05> = 23;
<AE06> = 24;
<AE07> = 25;
<AE08> = 26;
<AE09> = 27;
<AE10> = 28;
<AE11> = 29;
<AE12> = 30;
<BKSL> = 31;
<BKSP> = 32;
<TAB> = 33;
<AD01> = 34;
<AD02> = 35;
<AD03> = 36;
<AD04> = 37;
<AD05> = 38;
<AD06> = 39;
<AD07> = 40;
<AD08> = 41;
<AD09> = 42;
<AD10> = 43;
<AD11> = 44;
<AD12> = 45;
<DELE> = 46;
<LCTL> = 47;
<AC01> = 48;
<AC02> = 49;
<AC03> = 50;
<AC04> = 51;
<AC05> = 52;
<AC06> = 53;
<AC07> = 54;
<AC08> = 55;
<AC09> = 56;
<AC10> = 57;
<AC11> = 58;
<TLDE> = 59;
<RTRN> = 60;
<LFSH> = 61;
<AB01> = 62;
<AB02> = 63;
<AB03> = 64;
<AB04> = 65;
<AB05> = 66;
<AB06> = 67;
<AB07> = 68;
<AB08> = 69;
<AB09> = 70;
<AB10> = 71;
<AB11> = 72;
<RTSH> = 73;
<LALT> = 74;
<CAPS> = 75;
<STOP> = 76;
<SPCE> = 77;
<CUT> = 78;
<EXEC> = 81;
<FK01> = 8;
<FK02> = 9;
<FK03> = 10;
<FK04> = 11;
<FK05> = 12;
<FK06> = 13;
<FK07> = 14;
<FK08> = 15;
<FK09> = 16;
<FK10> = 17;
<FK11> = 111;
<FK12> = 112;
<HELP> = 113;
<INS> = 114;
<CLR> = 115;
<PGUP> = 116;
<PGDN> = 117;
<KPTB> = 109;
<UP> = 95;
<LEFT> = 98;
<DOWN> = 99;
<RGHT> = 100;
<KPMU> = 107;
<KPDV> = 108;
<KPAD> = 89;
<KP7> = 82;
<KP8> = 83;
<KP9> = 84;
<KPSU> = 85;
<KP4> = 86;
<KP5> = 87;
<KP6> = 88;
<KPSP> = 93;
<KP1> = 90;
<KP2> = 91;
<KP3> = 92;
<KPEN> = 97;
<KP0> = 94;
<KPDC> = 96;
};
+246
View File
@@ -0,0 +1,246 @@
// Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
xkb_keycodes "type6" {
minimum= 8;
maximum= 132;
<ESC> = 36;
<AE01> = 37;
<AE02> = 38;
<AE03> = 39;
<AE04> = 40;
<AE05> = 41;
<AE06> = 42;
<AE07> = 43;
<AE08> = 44;
<AE09> = 45;
<AE10> = 46;
<AE11> = 47;
<AE12> = 48;
<TLDE> = 49;
<BKSP> = 50;
<TAB> = 60;
<AD01> = 61;
<AD02> = 62;
<AD03> = 63;
<AD04> = 64;
<AD05> = 65;
<AD06> = 66;
<AD07> = 67;
<AD08> = 68;
<AD09> = 69;
<AD10> = 70;
<AD11> = 71;
<AD12> = 72;
<DELE> = 73;
<COMP> = 74;
<ALGR> = 20;
alias <RALT> = <ALGR>;
<LCTL> = 83;
<AC01> = 84;
<AC02> = 85;
<AC03> = 86;
<AC04> = 87;
<AC05> = 88;
<AC06> = 89;
<AC07> = 90;
<AC08> = 91;
<AC09> = 92;
<AC10> = 93;
<AC11> = 94;
<BKSL> = 95;
<RTRN> = 96;
<LFSH> = 106;
<AB01> = 107;
<AB02> = 108;
<AB03> = 109;
<AB04> = 110;
<AB05> = 111;
<AB06> = 112;
<AB07> = 113;
<AB08> = 114;
<AB09> = 115;
<AB10> = 116;
<RTSH> = 117;
<LALT> = 26;
<CAPS> = 126;
<LMTA> = 127;
<SPCE> = 128;
<RMTA> = 129;
<FK01> = 12;
<FK02> = 13;
<FK03> = 15;
<FK04> = 17;
<FK05> = 19;
<FK06> = 21;
<FK07> = 23;
<FK08> = 24;
<FK09> = 25;
<FK10> = 14;
<FK11> = 16;
<FK12> = 18;
<STOP> = 8;
<AGAI> = 10;
<PROP> = 32;
<UNDO> = 33;
<FRNT> = 56;
<COPY> = 58;
<OPEN> = 79;
<PAST> = 80;
<FIND> = 102;
<CUT> = 104;
<PRSC> = 29;
<SCLK> = 30;
<PAUS> = 28;
<NMLK> = 105;
<KPDV> = 53;
<KPMU> = 54;
<KPSU> = 78;
<KP7> = 75;
<KP8> = 76;
<KP9> = 77;
<KPAD> = 132;
<KP4> = 98;
<KP5> = 99;
<KP6> = 100;
<KP1> = 119;
<KP2> = 120;
<KP3> = 121;
<KPEN> = 97;
<KP0> = 101;
<KPDL> = 57;
<UP> = 27;
<LEFT> = 31;
<DOWN> = 34;
<RGHT> = 35;
<INS> = 51;
<HOME> = 59;
<END> = 81;
<PGUP> = 103;
<PGDN> = 130;
<HELP> = 125;
<MUTE> = 52;
<VOL-> = 9;
<VOL+> = 11;
<POWR> = 55;
indicator 4 = "Caps Lock";
indicator 3 = "Compose";
indicator 2 = "Scroll Lock";
indicator 1 = "Num Lock";
};
xkb_keycodes "type6tuv" {
include "sun(type6)"
<LSGT> = 131;
};
xkb_keycodes "type6_jp" {
include "sun(type6)"
<EXEC> = 122;
<KANJ> = 123;
<HENK> = 124;
<UNDR> = 118;
};
xkb_keycodes "type6_euro" {
include "sun(type6)"
<LSGT> = 131;
};
xkb_keycodes "type6unix" {
include "sun(type6)"
};
// Even though this is labeled as _usb, I verified these keycodes as accurate
// on my type5 serial and type6 serial keyboards as well on linux-2.6 boxes.
// I'm not sure where the "type6" keycodes above are coming from...
default xkb_keycodes "type6_usb" {
include "xfree86"
// <STOP> = 232;
// <AGAI> = 133;
// <PROP> = 134;
// <UNDO> = 135;
// <FRNT> = 140;
// <COPY> = 248;
// <OPEN> = 191;
// <PAST> = 192;
// <FIND> = 122;
// <CUT> = 188;
// <HELP> = 245;
// The blank has keycode 239 on my type6 serial kb, but 134 on
// my type6 usb keyboard (same as <PROP>)
// <BLNK> = 239;
// AltGr + PrScr actually sends a different keycode
// <SYRQ> = 92;
// <MUTE> = 160;
// <VOL-> = 174;
// <VOL+> = 176;
// <POWR> = 222;
<I150> = 155;
<I160> = 160;
<I235> = 235;
indicator 4 = "Compose";
};
xkb_keycodes "type6tuv_usb" {
include "sun(type6_usb)"
// <LSGT> = 94;
// <BKSL> = 51;
};
xkb_keycodes "type6_jp_usb" {
include "sun(type6_usb)"
alias <UNDR> = <KPDC>; // 123
alias <EXEC> = <NFER>; // 131
alias <KANJ> = <XFER>; // 129
alias <HENK> = <HKTG>; // 208
indicator 5 = "Kana";
};
@@ -0,0 +1,410 @@
// "standard" XFree86 codes
// It seems that the "default" must be the first entry in the file.
default xkb_keycodes "xfree86" {
include "xfree86(basic)"
<BKSL> = 51;
alias <AC12> = <BKSL>;
<LSGT> = 94;
};
xkb_keycodes "basic" {
minimum= 8;
maximum= 255;
<TLDE> = 49;
alias <AE00> = <TLDE>; // Some geometries use AE00
<AE01> = 10;
<AE02> = 11;
<AE03> = 12;
<AE04> = 13;
<AE05> = 14;
<AE06> = 15;
<AE07> = 16;
<AE08> = 17;
<AE09> = 18;
<AE10> = 19;
<AE11> = 20;
<AE12> = 21;
<BKSP> = 22;
<TAB> = 23;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 36;
<CAPS> = 66;
<AC01> = 38;
<AC02> = 39;
<AC03> = 40;
<AC04> = 41;
<AC05> = 42;
<AC06> = 43;
<AC07> = 44;
<AC08> = 45;
<AC09> = 46;
<AC10> = 47;
<AC11> = 48;
<LFSH> = 50;
<AB01> = 52;
<AB02> = 53;
<AB03> = 54;
<AB04> = 55;
<AB05> = 56;
<AB06> = 57;
<AB07> = 58;
<AB08> = 59;
<AB09> = 60;
<AB10> = 61;
<RTSH> = 62;
<LALT> = 64;
<LCTL> = 37;
<SPCE> = 65;
<RCTL> = 109;
<RALT> = 113;
// Microsoft keyboard extra keys
<LWIN> = 115;
<RWIN> = 116;
<MENU> = 117;
<ESC> = 9;
<FK01> = 67;
<FK02> = 68;
<FK03> = 69;
<FK04> = 70;
<FK05> = 71;
<FK06> = 72;
<FK07> = 73;
<FK08> = 74;
<FK09> = 75;
<FK10> = 76;
<FK11> = 95;
<FK12> = 96;
<PRSC> = 111;
<SYRQ> = 92;
<SCLK> = 78;
<PAUS> = 110;
<BRK> = 114;
<INS> = 106;
<HOME> = 97;
<PGUP> = 99;
<DELE> = 107;
<END> = 103;
<PGDN> = 105;
<UP> = 98;
<LEFT> = 100;
<DOWN> = 104;
<RGHT> = 102;
<NMLK> = 77;
<KPDV> = 112;
<KPMU> = 63;
<KPSU> = 82;
<KP7> = 79;
<KP8> = 80;
<KP9> = 81;
<KPAD> = 86;
<KP4> = 83;
<KP5> = 84;
<KP6> = 85;
<KP1> = 87;
<KP2> = 88;
<KP3> = 89;
<KPEN> = 108;
<KP0> = 90;
<KPDL> = 91;
<KPEQ> = 126;
<FK13> = 118;
<FK14> = 119;
<FK15> = 120;
<FK16> = 121;
<FK17> = 122;
<KPDC> = 123;
// Keys that are generated on Japanese keyboards
alias <HZTG> = <TLDE>; // Hankaku_Zenkaku toggle
<HKTG> = 208; // Hiragana_Katakana toggle
<AB11> = 211; // backslash/underscore
<XFER> = 129; // Henkan
<NFER> = 131; // Muhenkan
<AE13> = 133; // Yen
<EISU> = 210; // Alphanumeric mode on macintosh
<KANA> = 209; // Kana mode on macintosh
// Keys that are generated on Korean keyboards
alias <HNGL> = <FK16>; // Hangul Latin toggle
alias <HJCV> = <FK17>; // Hangul to Hanja conversion
// Extended keys that may be generated on "Internet" keyboards.
// These are not standardised, hence the meaningless names.
// The entries commented out are never generated because the raw codes
// in those positions are already used for well-defined keys.
<I02> = 130;
<I04> = 132;
alias <I05> = <AE13>;
<I06> = 134;
<I07> = 135;
<I08> = 136;
<I09> = 137;
<I0A> = 138;
<I0B> = 139;
<I0C> = 140;
<I0D> = 141;
<I0E> = 142;
<I0F> = 143;
<I10> = 144;
<I11> = 145;
<I12> = 146;
<I13> = 147;
<I14> = 148;
<I15> = 149;
<I16> = 150;
<I17> = 151;
<I18> = 152;
<I19> = 153;
<I1A> = 154;
<I1B> = 155;
// <I1C> = 156; <META>
// <I1D> = 157; <K59>
<I1E> = 158;
<I1F> = 159;
<I20> = 160;
<I21> = 161;
<I22> = 162;
<I23> = 163;
<I24> = 164;
<I25> = 165;
<I26> = 166;
<I27> = 167;
<I28> = 168;
<I29> = 169;
// <I2A> = 170; <K5A>
<I2B> = 171;
<I2C> = 172;
<I2D> = 173;
<I2E> = 174;
<I2F> = 175;
<I30> = 176;
<I31> = 177;
<I32> = 178;
<I33> = 179;
<I34> = 180;
// <I35> = 181; <K5B>
// <I36> = 182; <K5D>
// <I37> = 183; <K5E>
// <I38> = 184; <K5F>
<I39> = 185;
<I3A> = 186;
<I3B> = 187;
<I3C> = 188;
// <I3D> = 189; <K62>
// <I3E> = 190; <K63>
// <I3F> = 191; <K64>
// <I40> = 192; <K65>
// <I41> = 193; <K66>
<I42> = 194;
<I43> = 195;
<I44> = 196;
<I45> = 197;
// <I46> = 198; <K67>
// <I47> = 199; <K68>
// <I48> = 200; <K69>
// <I49> = 201; <K6A>
<I4A> = 202;
// <I4B> = 203; <K6B>
// <I4C> = 204; <K6C>
// <I4D> = 205; <K6D>
// <I4E> = 206; <K6E>
// <I4F> = 207; <K6F>
// <I50> = 208; <K70>
// <I51> = 209; <K71>
// <I52> = 210; <K72>
// <I53> = 211; <K73>
<I54> = 212;
<I55> = 213;
<I56> = 214;
<I57> = 215;
<I58> = 216;
<I59> = 217;
<I5A> = 218;
// <I5B> = 219; <K74>
// <I5C> = 220; <K75>
// <I5D> = 221; <K76>
<I5E> = 222;
<I5F> = 223;
<I60> = 224;
<I61> = 225;
<I62> = 226;
<I63> = 227;
<I64> = 228;
<I65> = 229;
<I66> = 230;
<I67> = 231;
<I68> = 232;
<I69> = 233;
<I6A> = 234;
<I6B> = 235;
<I6C> = 236;
<I6D> = 237;
<I6E> = 238;
<I6F> = 239;
<I70> = 240;
<I71> = 241;
<I72> = 242;
<I73> = 243;
<I74> = 244;
<I75> = 245;
<I76> = 246;
<I77> = 247;
<I78> = 248;
<I79> = 249;
<I7A> = 250;
<I7B> = 251;
<I7C> = 252;
alias <IR7C> = <I7C>;
<I7D> = 253;
alias <IR7D> = <I7D>;
<I7E> = 254;
<I7F> = 255;
// MacBooks generate 0x65 for the lower brightness key
<II65> = 101;
// Required for apple/logitech_g15 keyboard
<II5D> = 93;
// Codes generated for scancodes 0x59-0x5f, 0x62-0x76
<K59> = 157; // <I1D>
<K5A> = 170; // <I2A>
<K5B> = 181; // <I35>
alias <K5C> = <KPEQ>;
<K5D> = 182; // <I36>
<K5E> = 183; // <I37>
<K5F> = 184; // <I38>
<K62> = 189; // <I3D>
<K63> = 190; // <I3E>
<K64> = 191; // <I3F>
<K65> = 192; // <I40>
<K66> = 193; // <I41>
<K67> = 198; // <I46>
<K68> = 199; // <I47>
<K69> = 200; // <I48>
<K6A> = 201; // <I49>
<K6B> = 203; // <I4B>
<K6C> = 204; // <I4C>
<K6D> = 205; // <I4D>
<K6E> = 206; // <I4E>
<K6F> = 207; // <I4F>
alias <K70> = <HKTG>; // <I50>
alias <K71> = <KANA>; // <I51>
alias <K72> = <EISU>; // <I52>
alias <K73> = <AB11>; // <I53>
<K74> = 219; // <I5B>
<K75> = 220; // <I5C>
<K76> = 221; // <I5D>
// Solaris compatibility
alias <LMTA> = <LWIN>;
alias <RMTA> = <RWIN>;
alias <COMP> = <MENU>;
alias <POWR> = <I0C>;
alias <MUTE> = <I0D>;
alias <VOL-> = <I0E>;
alias <VOL+> = <I0F>;
alias <HELP> = <I10>;
alias <STOP> = <I11>;
alias <AGAI> = <I12>;
alias <PROP> = <I13>;
alias <UNDO> = <I14>;
alias <FRNT> = <I15>;
alias <COPY> = <I16>;
alias <OPEN> = <I17>;
alias <PAST> = <I18>;
alias <FIND> = <I19>;
alias <CUT> = <I1A>;
alias <OUTP> = <I56>;
alias <KITG> = <I57>;
alias <KIDN> = <I58>;
alias <KIUP> = <I59>;
// Other codes never generated. The XFree86 ddx never generates
// these codes.
// Thus we can use them as fake keys
<MDSW> = 8;
<LVL3> = 124; // <U7C>
<ALT> = 125; // <U7D>
<META> = 156; // <I1C>
<SUPR> = 127; // <U7F>
<HYPR> = 128; // <U80>
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
alias <ALGR> = <RALT>;
// For Brazilian ABNT2
alias <KPPT> = <I06>;
};
// What keyboard is this?
xkb_keycodes "102" {
include "xfree86(xfree86)"
// There will be warnings from xkbcomp because of multiple definitions.
<RALT> = 122;
<RCTL> = 123;
<PRSC> = 121;
<PAUS> = 118;
<INS> = 131;
<HOME> = 135;
<PGUP> = 119;
<DELE> = 129;
<END> = 130;
<PGDN> = 134;
<UP> = 128;
<LEFT> = 132;
<DOWN> = 120;
<RGHT> = 133;
<KPDV> = 125;
<KPEN> = 124;
};
// IBM ThinkPad Z60m/Z60t/Z61m/Z61t
xkb_keycodes "thinkpadz60" {
include "xfree86(xfree86)"
<MENU> = 227;
};
@@ -0,0 +1,152 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
//
default xkb_keycodes "pc98" {
minimum= 8;
maximum= 255;
<ESC> = 8;
<AE01> = 9;
<AE02> = 10;
<AE03> = 11;
<AE04> = 12;
<AE05> = 13;
<AE06> = 14;
<AE07> = 15;
<AE08> = 16;
<AE09> = 17;
<AE10> = 18;
<AE11> = 19;
<AE12> = 20;
<BKSL> = 21;
<BKSP> = 22;
<TAB> = 23;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 36;
<LCTL> = 124;
<CAPS> = 121;
<AC01> = 37;
<AC02> = 38;
<AC03> = 39;
<AC04> = 40;
<AC05> = 41;
<AC06> = 42;
<AC07> = 43;
<AC08> = 44;
<AC09> = 45;
<AC10> = 46;
<AC11> = 47;
<AC12> = 48;
<LFSH> = 120;
<AB01> = 49;
<AB02> = 50;
<AB03> = 51;
<AB04> = 52;
<AB05> = 53;
<AB06> = 54;
<AB07> = 55;
<AB08> = 56;
<AB09> = 57;
<AB10> = 58;
<AB11> = 59;
<ALGR> = 122;
<LALT> = 123;
<NFER> = 89;
<SPCE> = 60;
<XFER> = 61;
<BRK> = 104;
<PRSC> = 105;
<FK01> = 106;
<FK02> = 107;
<FK03> = 108;
<FK04> = 109;
<FK05> = 110;
<FK06> = 111;
<FK07> = 112;
<FK08> = 113;
<FK09> = 114;
<FK10> = 115;
<FK11> = 90;
<FK12> = 91;
<FK13> = 92;
<FK14> = 93;
<FK15> = 94;
<INS> = 64;
<DELE> = 65;
<PGUP> = 63;
<PGDN> = 62;
<UP> = 66;
<LEFT> = 67;
<RGHT> = 68;
<DOWN> = 69;
<HOME> = 70;
<HELP> = 71;
<KPSU> = 72;
<KPDV> = 73;
<KP7> = 74;
<KP8> = 75;
<KP9> = 76;
<KPMU> = 77;
<KP4> = 78;
<KP5> = 79;
<KP6> = 80;
<KPAD> = 81;
<KP1> = 82;
<KP2> = 83;
<KP3> = 84;
<KPEQ> = 85;
<KP0> = 86;
<KPSP> = 87;
<KPDC> = 88;
indicator 1 = "Caps Lock";
indicator 2 = "Kana";
};
@@ -0,0 +1,2 @@
This directory lists sets of rules which can be used to obtain an exact XKB
configuration.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,985 @@
! model
pc86 Generic 86-key PC
pc101 Generic 101-key PC
pc102 Generic 102-key PC
pc104 Generic 104-key PC
pc104alt Generic 104-key PC with L-shaped Enter key
pc105 Generic 105-key PC
dell101 Dell 101-key PC
latitude Dell Latitude laptop
dellm65 Dell Precision M65 laptop
everex Everex STEPnote
flexpro Keytronic FlexPro
microsoft Microsoft Natural
omnikey101 Northgate OmniKey 101
winbook Winbook Model XP5
pc98 PC-98
a4techKB21 A4Tech KB-21
a4techKBS8 A4Tech KBS-8
a4_rfkb23 A4Tech Wireless Desktop RFKB-23
airkey Acer AirKey V
azonaRF2300 Azona RF2300 wireless Internet
scorpius Advance Scorpius KI
brother Brother Internet
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
btc9116u BTC 9116U Mini Wireless Internet and Gaming
cherryblue Cherry Blue Line CyBo@rd
cherryblueb Cherry CyMotion Master XPress
cherrybluea Cherry Blue Line CyBo@rd (alt.)
cherrycyboard Cherry CyBo@rd USB-Hub
cherrycmexpert Cherry CyMotion Expert
cherrybunlim Cherry B.UNLIMITED
chicony Chicony Internet
chicony0108 Chicony KU-0108
chicony0420 Chicony KU-0420
chicony9885 Chicony KB-9885
compaqeak8 Compaq Easy Access
compaqik7 Compaq Internet (7 keys)
compaqik13 Compaq Internet (13 keys)
compaqik18 Compaq Internet (18 keys)
cymotionlinux Cherry CyMotion Master Linux
armada Compaq Armada laptop
presario Compaq Presario laptop
ipaq Compaq iPaq
dell Dell
dellsk8125 Dell SK-8125
dellsk8135 Dell SK-8135
dellusbmm Dell USB Multimedia
inspiron Dell Inspiron 6000/8000 laptop
precision_m Dell Precision M laptop
dexxa Dexxa Wireless Desktop
diamond Diamond 9801/9802
dtk2000 DTK2000
ennyah_dkb1008 Ennyah DKB-1008
fscaa1667g Fujitsu-Siemens Amilo laptop
genius Genius Comfy KB-16M/Multimedia KWD-910
geniuscomfy Genius Comfy KB-12e
geniuscomfy2 Genius Comfy KB-21e-Scroll
geniuskb19e Genius KB-19e NB
geniuskkb2050hs Genius KKB-2050HS
gyration Gyration
kinesis Kinesis
logitech_base Logitech
logitech_g15 Logitech G15 extra keys via G15daemon
hpi6 Hewlett-Packard Internet
hp250x Hewlett-Packard NEC SK-2500 Multimedia
hpxe3gc Hewlett-Packard Omnibook XE3 GC
hpxe3gf Hewlett-Packard Omnibook XE3 GF
hpxt1000 Hewlett-Packard Omnibook XT1000
hpdv5 Hewlett-Packard Pavilion dv5
hpzt11xx Hewlett-Packard Pavilion ZT1100
hp500fa Hewlett-Packard Omnibook 500 FA
hp5xx Hewlett-Packard Omnibook 500
hpnx9020 Hewlett-Packard nx9020
hp6000 Hewlett-Packard Omnibook 6000/6100
honeywell_euroboard Honeywell Euroboard
hpmini110 Hewlett-Packard Mini 110 laptop
rapidaccess IBM Rapid Access
rapidaccess2 IBM Rapid Access II
thinkpad IBM ThinkPad 560Z/600/600E/A22E
thinkpad60 IBM ThinkPad R60/T60/R61/T61
thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t
ibm_spacesaver IBM Space Saver
logiaccess Logitech Access
logiclx300 Logitech Cordless Desktop LX-300
logii350 Logitech Internet 350
logimel Logitech Internet 350
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 (alt.)
logicdpa2 Logitech Cordless Desktop Pro (2nd alt.)
logicfn Logitech Cordless Freedom/Desktop Navigator
logicdn Logitech Cordless Desktop Navigator
logiitc Logitech iTouch Cordless Y-RB6
logiik Logitech Internet
itouch Logitech iTouch
logicink Logitech Internet Navigator
logiex110 Logitech Cordless Desktop EX110
logiinkse Logitech iTouch Internet Navigator SE
logiinkseusb Logitech iTouch Internet Navigator SE USB
logiultrax Logitech Ultra-X
logiultraxc Logitech Ultra-X Cordless Media Desktop
logidinovo Logitech diNovo
logidinovoedge Logitech diNovo Edge
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access
mx2750 Memorex MX2750
microsoft4000 Microsoft Natural Ergonomic 4000
microsoft7000 Microsoft Natural Wireless Ergonomic 7000
microsoftinet Microsoft Internet
microsoftpro Microsoft Natural Pro/Internet Pro
microsoftprousb Microsoft Natural Pro USB/Internet Pro
microsoftprooem Microsoft Natural Pro OEM
vsonku306 ViewSonic KU-306 Internet
microsoftprose Microsoft Internet Pro (Swedish)
microsoftoffice Microsoft Office Keyboard
microsoftmult Microsoft Wireless Multimedia 1.0A
microsoftsurface Microsoft Surface
microsoftelite Microsoft Natural Elite
microsoftccurve2k Microsoft Comfort Curve 2000
oretec Ortek Multimedia/Internet MCK-800
propeller Propeller Voyager KTEZ-1000
qtronix QTronix Scorpius 98N+
samsung4500 Samsung SDM 4500P
samsung4510 Samsung SDM 4510P
sanwaskbkg3 Sanwa Supply SKB-KG3
sk1300 NEC SK-1300
sk2500 NEC SK-2500
sk6200 NEC SK-6200
sk7100 NEC SK-7100
sp_inet Super Power Multimedia
sven SVEN Ergonomic 2500
sven303 SVEN Slim 303
symplon Symplon PaceBook tablet
toshiba_s3000 Toshiba Satellite S3000
trust Trust Wireless Classic
trustda Trust Direct Access
trust_slimline Trust Slimline
tm2020 TypeMatrix EZ-Reach 2020
tm2030PS2 TypeMatrix EZ-Reach 2030 PS2
tm2030USB TypeMatrix EZ-Reach 2030 USB
tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)
tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode)
yahoo Yahoo! Internet
macbook78 MacBook/MacBook Pro
macbook79 MacBook/MacBook Pro (intl.)
macintosh Macintosh
macintosh_old Macintosh Old
macintosh_hhk Happy Hacking 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
applealu_ansi Apple Aluminium (ANSI)
applealu_iso Apple Aluminium (ISO)
applealu_jis Apple Aluminium (JIS)
silvercrest Silvercrest Multimedia Wireless
emachines eMachines m6800 laptop
benqx BenQ X-Touch
benqx730 BenQ X-Touch 730
benqx800 BenQ X-Touch 800
hhk Happy Hacking
classmate Classmate PC
olpc OLPC
sun_type7_usb Sun Type 7 USB
sun_type7_euro_usb Sun Type 7 USB (European)
sun_type7_unix_usb Sun Type 7 USB (Unix)
sun_type7_jp_usb Sun Type 7 USB (Japanese)/Japanese 106-key
sun_type6_usb Sun Type 6/7 USB
sun_type6_euro_usb Sun Type 6/7 USB (European)
sun_type6_unix_usb Sun Type 6 USB (Unix)
sun_type6_jp_usb Sun Type 6 USB (Japanese)
sun_type6_jp Sun Type 6 (Japanese)
targa_v811 Targa Visionary 811
unitekkb1925 Unitek KB-1925
compalfl90 FL90
creativedw7000 Creative Desktop Wireless 7000
teck227 Truly Ergonomic 227
teck229 Truly Ergonomic 229
apex300 SteelSeries Apex 300 (Apex RAW)
chromebook Chromebook
teck227 Truly Ergonomic Computer Keyboard Model 227 (Wide Alt keys)
teck229 Truly Ergonomic Computer Keyboard Model 229 (Standard sized Alt keys, additional Super and Menu key)
! layout
us English (US)
af Afghani
ara Arabic
al Albanian
am Armenian
at German (Austria)
au English (Australian)
az Azerbaijani
by Belarusian
be Belgian
bd Bangla
in Indian
ba Bosnian
br Portuguese (Brazil)
bg Bulgarian
dz Kabylian (azerty layout, no dead keys)
ma Arabic (Morocco)
cm English (Cameroon)
mm Burmese
ca French (Canada)
cd French (Democratic Republic of the Congo)
cn Chinese
hr Croatian
cz Czech
dk Danish
nl Dutch
bt Dzongkha
ee Estonian
ir Persian
iq Iraqi
fo Faroese
fi Finnish
fr French
gh English (Ghana)
gn French (Guinea)
ge Georgian
de German
gr Greek
hu Hungarian
is Icelandic
il Hebrew
it Italian
jp Japanese
kg Kyrgyz
kh Khmer (Cambodia)
kz Kazakh
la Lao
latam Spanish (Latin American)
lt Lithuanian
lv Latvian
mao Maori
me Montenegrin
mk Macedonian
mt Maltese
mn Mongolian
no Norwegian
pl Polish
pt Portuguese
ro Romanian
ru Russian
rs Serbian
si Slovenian
sk Slovak
es Spanish
se Swedish
ch German (Switzerland)
sy Arabic (Syria)
tj Tajik
lk Sinhala (phonetic)
th Thai
tr Turkish
tw Taiwanese
ua Ukrainian
gb English (UK)
uz Uzbek
vn Vietnamese
kr Korean
nec_vndr/jp Japanese (PC-98)
ie Irish
pk Urdu (Pakistan)
mv Dhivehi
za English (South Africa)
epo Esperanto
np Nepali
ng English (Nigeria)
et Amharic
sn Wolof
brai Braille
tm Turkmen
ml Bambara
tz Swahili (Tanzania)
tg French (Togo)
ke Swahili (Kenya)
bw Tswana
ph Filipino
md Moldavian
id Indonesian (Arab Melayu, phonetic)
jv Indonesian (Javanese)
my Malay (Jawi, Arabic Keyboard)
! variant
chr us: Cherokee
haw us: Hawaiian
euro us: English (US, euro on 5)
intl us: English (US, intl., with dead keys)
alt-intl us: English (US, alt. intl.)
colemak us: English (Colemak)
dvorak us: English (Dvorak)
dvorak-intl us: English (Dvorak, intl., with dead keys)
dvorak-alt-intl us: English (Dvorak, alt. intl.)
dvorak-l us: English (Dvorak, left-handed)
dvorak-r us: English (Dvorak, right-handed)
dvorak-classic us: English (classic Dvorak)
dvp us: English (programmer Dvorak)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (intl., with AltGr dead keys)
olpc2 us: English (the divide/multiply toggle the layout)
hbs us: Serbo-Croatian (US)
norman us: English (Norman)
workman us: English (Workman)
workman-intl us: English (Workman, intl., with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
olpc-ps af: Pashto (Afghanistan, OLPC)
fa-olpc af: Persian (Afghanistan, Dari OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (AZERTY)
azerty_digits ara: Arabic (AZERTY, Eastern Arabic numerals)
digits ara: Arabic (Eastern Arabic numerals)
qwerty ara: Arabic (QWERTY)
qwerty_digits ara: Arabic (QWERTY, Eastern Arabic numerals)
buckwalter ara: Arabic (Buckwalter)
olpc ara: Arabic (OLPC)
mac ara: Arabic (Macintosh)
plisi al: Albanian (Plisi)
veqilharxhi al: Albanian (Veqilharxhi)
phonetic am: Armenian (phonetic)
phonetic-alt am: Armenian (alt. phonetic)
eastern am: Armenian (eastern)
western am: Armenian (western)
eastern-alt am: Armenian (alt. eastern)
nodeadkeys at: German (Austria, no dead keys)
sundeadkeys at: German (Austria, Sun dead keys)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
ru by: Russian (Belarus)
intl by: Belarusian (intl.)
oss be: Belgian (alt.)
oss_latin9 be: Belgian (Latin-9 only, alt.)
oss_sundeadkeys be: Belgian (Sun dead keys, alt.)
iso-alternate be: Belgian (ISO, alt.)
nodeadkeys be: Belgian (no dead keys)
sundeadkeys be: Belgian (Sun dead keys)
wang be: Belgian (Wang 724 AZERTY)
probhat bd: Bangla (Probhat)
ben in: Bangla (India)
ben_probhat in: Bangla (India, Probhat)
ben_baishakhi in: Bangla (India, Baishakhi)
ben_bornona in: Bangla (India, Bornona)
ben_gitanjali in: Bangla (India, Gitanjali)
ben_inscript in: Bangla (India, Baishakhi Inscript)
eeyek in: Manipuri (Eeyek)
guj in: Gujarati
guru in: Punjabi (Gurmukhi)
jhelum in: Punjabi (Gurmukhi Jhelum)
kan in: Kannada
kan-kagapa in: Kannada (KaGaPa, phonetic)
mal in: Malayalam
mal_lalitha in: Malayalam (Lalitha)
mal_enhanced in: Malayalam (enhanced Inscript, with rupee)
ori in: Oriya
olck in: Ol Chiki
tam_tamilnet in: Tamil (TamilNet '99)
tam_tamilnet_with_tam_nums in: Tamil (TamilNet '99 with Tamil numerals)
tam_tamilnet_TAB in: Tamil (TamilNet '99, TAB encoding)
tam_tamilnet_TSCII in: Tamil (TamilNet '99, TSCII encoding)
tam in: Tamil (Inscript)
tel in: Telugu
tel-kagapa in: Telugu (KaGaPa, phonetic)
tel-sarala in: Telugu (Sarala)
tel-kagapa in: Telugu (KaGaPa, phonetic)
urd-phonetic in: Urdu (phonetic)
urd-phonetic3 in: Urdu (alt. phonetic)
urd-winkeys in: Urdu (Windows)
bolnagri in: Hindi (Bolnagri)
hin-wx in: Hindi (Wx)
hin-kagapa in: Hindi (KaGaPa, phonetic)
san-kagapa in: Sanskrit (KaGaPa, phonetic)
mar-kagapa in: Marathi (KaGaPa, phonetic)
eng in: English (India, with rupee)
iipa in: Indic IPA (IIPA)
marathi in: मराठी इन्स्क्रिप्ट
alternatequotes ba: Bosnian (with guillemets)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US, with Bosnian digraphs)
us ba: Bosnian (US)
nodeadkeys br: Portuguese (Brazil, no dead keys)
dvorak br: Portuguese (Brazil, Dvorak)
nativo br: Portuguese (Brazil, Nativo)
nativo-us br: Portuguese (Brazil, Nativo for US keyboards)
nativo-epo br: Esperanto (Brazil, Nativo)
thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad)
phonetic bg: Bulgarian (traditional phonetic)
bas_phonetic bg: Bulgarian (new phonetic)
azerty-deadkeys dz: Kabylian (azerty layout, with dead keys)
qwerty-gb-deadkeys dz: Kabylian (qwerty-gb layout, with dead keys)
qwerty-us-deadkeys dz: Kabylian (qwerty-us layout, with dead keys)
ber dz: Kabylian (Algeria, Tifinagh)
ar dz: Arabic (Algeria)
french ma: French (Morocco)
tifinagh ma: Berber (Morocco, Tifinagh)
tifinagh-alt ma: Berber (Morocco, Tifinagh alt.)
tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh phonetic, alt.)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (QWERTY, intl.)
azerty cm: Cameroon (AZERTY, intl.)
dvorak cm: Cameroon (Dvorak, intl.)
mmuock cm: Mmuock
zawgyi mm: Burmese Zawgyi
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian (intl.)
multi ca: Canadian (intl., 1st part)
multi-2gr ca: Canadian (intl., 2nd part)
ike ca: Inuktitut
eng ca: English (Canada)
mon_trad cn: Mongolian (Bichig)
mon_trad_todo cn: Mongolian (Todo)
mon_trad_xibe cn: Mongolian (Xibe)
mon_trad_manchu cn: Mongolian (Manchu)
mon_trad_galik cn: Mongolian (Galik)
mon_todo_galik cn: Mongolian (Todo Galik)
mon_manchu_galik cn: Mongolian (Manchu Galik)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
altgr-pinyin cn: Hanyu Pinyin (with AltGr dead keys)
alternatequotes hr: Croatian (with guillemets)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US, with Croatian digraphs)
us hr: Croatian (US)
bksl cz: Czech (with &lt;\|&gt; key)
qwerty cz: Czech (QWERTY)
qwerty_bksl cz: Czech (QWERTY, extended backslash)
qwerty-mac cz: Czech (QWERTY, Macintosh)
ucw cz: Czech (UCW, only accented letters)
dvorak-ucw cz: Czech (US, Dvorak, UCW support)
rus cz: Russian (Czech, phonetic)
nodeadkeys dk: Danish (no dead keys)
winkeys dk: Danish (Windows)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, no dead keys)
dvorak dk: Danish (Dvorak)
sundeadkeys nl: Dutch (Sun dead keys)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
nodeadkeys ee: Estonian (no dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US)
pes_keypad ir: Persian (with Persian keypad)
ku ir: Kurdish (Iran, Latin Q)
ku_f ir: Kurdish (Iran, F)
ku_alt ir: Kurdish (Iran, Latin Alt-Q)
ku_ara ir: Kurdish (Iran, Arabic-Latin)
ku iq: Kurdish (Iraq, Latin Q)
ku_f iq: Kurdish (Iraq, F)
ku_alt iq: Kurdish (Iraq, Latin Alt-Q)
ku_ara iq: Kurdish (Iraq, Arabic-Latin)
nodeadkeys fo: Faroese (no dead keys)
winkeys fi: Finnish (Windows)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, no dead keys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
nodeadkeys fr: French (no dead keys)
sundeadkeys fr: French (Sun dead keys)
oss fr: French (alt.)
oss_latin9 fr: French (alt., Latin-9 only)
oss_nodeadkeys fr: French (alt., no dead keys)
oss_sundeadkeys fr: French (alt., Sun dead keys)
latin9 fr: French (legacy, alt.)
latin9_nodeadkeys fr: French (legacy, alt., no dead keys)
latin9_sundeadkeys fr: French (legacy, alt., Sun dead keys)
bepo fr: French (BEPO)
bepo_latin9 fr: French (BEPO, Latin-9 only)
bepo_afnor fr: French (BEPO, AFNOR)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
azerty fr: French (AZERTY)
afnor fr: French (AZERTY, AFNOR)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
us fr: French (US)
generic gh: English (Ghana, multilingual)
akan gh: Akan
ewe gh: Ewe
fula gh: Fula
ga gh: Ga
hausa gh: Hausa (Ghana)
avn gh: Avatime
gillbt gh: English (Ghana, GILLBT)
ergonomic ge: Georgian (ergonomic)
mess ge: Georgian (MESS)
ru ge: Russian (Georgia)
os ge: Ossetian (Georgia)
deadacute de: German (dead acute)
deadgraveacute de: German (dead grave acute)
nodeadkeys de: German (no dead keys)
T3 de: German (T3)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, no dead keys)
dvorak de: German (Dvorak)
sundeadkeys de: German (Sun dead keys)
neo de: German (Neo 2)
mac de: German (Macintosh)
mac_nodeadkeys de: German (Macintosh, no dead keys)
dsb de: Lower Sorbian
dsb_qwertz de: Lower Sorbian (QWERTZ)
qwerty de: German (QWERTY)
tr de: Turkish (Germany)
ru de: Russian (Germany, phonetic)
deadtilde de: German (dead tilde)
simple gr: Greek (simple)
extended gr: Greek (extended)
nodeadkeys gr: Greek (no dead keys)
polytonic gr: Greek (polytonic)
standard hu: Hungarian (standard)
nodeadkeys hu: Hungarian (no dead keys)
qwerty hu: Hungarian (QWERTY)
101_qwertz_comma_dead hu: Hungarian (QWERTZ, 101-key, comma, dead keys)
101_qwertz_comma_nodead hu: Hungarian (QWERTZ, 101-key, comma, no dead keys)
101_qwertz_dot_dead hu: Hungarian (QWERTZ, 101-key, dot, dead keys)
101_qwertz_dot_nodead hu: Hungarian (QWERTZ, 101-key, dot, no dead keys)
101_qwerty_comma_dead hu: Hungarian (QWERTY, 101-key, comma, dead keys)
101_qwerty_comma_nodead hu: Hungarian (QWERTY, 101-key, comma, no dead keys)
101_qwerty_dot_dead hu: Hungarian (QWERTY, 101-key, dot, dead keys)
101_qwerty_dot_nodead hu: Hungarian (QWERTY, 101-key, dot, no dead keys)
102_qwertz_comma_dead hu: Hungarian (QWERTZ, 102-key, comma, dead keys)
102_qwertz_comma_nodead hu: Hungarian (QWERTZ, 102-key, comma, no dead keys)
102_qwertz_dot_dead hu: Hungarian (QWERTZ, 102-key, dot, dead keys)
102_qwertz_dot_nodead hu: Hungarian (QWERTZ, 102-key, dot, no dead keys)
102_qwerty_comma_dead hu: Hungarian (QWERTY, 102-key, comma, dead keys)
102_qwerty_comma_nodead hu: Hungarian (QWERTY, 102-key, comma, no dead keys)
102_qwerty_dot_dead hu: Hungarian (QWERTY, 102-key, dot, dead keys)
102_qwerty_dot_nodead hu: Hungarian (QWERTY, 102-key, dot, no dead keys)
Sundeadkeys is: Icelandic (Sun dead keys)
nodeadkeys is: Icelandic (no dead keys)
mac_legacy is: Icelandic (Macintosh, legacy)
mac is: Icelandic (Macintosh)
dvorak is: Icelandic (Dvorak)
lyx il: Hebrew (lyx)
phonetic il: Hebrew (phonetic)
biblical il: Hebrew (Biblical, Tiro)
nodeadkeys it: Italian (no dead keys)
winkeys it: Italian (Windows)
mac it: Italian (Macintosh)
us it: Italian (US)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
intl it: Italian (intl., with dead keys)
scn it: Sicilian
fur it: Friulian (Italy)
kana jp: Japanese (Kana)
kana86 jp: Japanese (Kana 86)
OADG109A jp: Japanese (OADG 109A)
mac jp: Japanese (Macintosh)
dvorak jp: Japanese (Dvorak)
phonetic kg: Kyrgyz (phonetic)
ruskaz kz: Russian (Kazakhstan, with Kazakh)
kazrus kz: Kazakh (with Russian)
ext kz: Kazakh (extended)
latin kz: Kazakh (Latin)
stea la: Lao (STEA)
nodeadkeys latam: Spanish (Latin American, no dead keys)
deadtilde latam: Spanish (Latin American, dead tilde)
sundeadkeys latam: Spanish (Latin American, Sun dead keys)
dvorak latam: Spanish (Latin American, Dvorak)
colemak latam: Spanish (Latin American, Colemak)
colemak-gaming latam: Spanish (Latin American, Colemak for gaming)
std lt: Lithuanian (standard)
us lt: Lithuanian (US)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
sgs lt: Samogitian
apostrophe lv: Latvian (apostrophe)
tilde lv: Latvian (tilde)
fkey lv: Latvian (F)
modern lv: Latvian (modern)
ergonomic lv: Latvian (ergonomic, ŪGJRMV)
adapted lv: Latvian (adapted)
cyrillic me: Montenegrin (Cyrillic)
cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped)
latinunicode me: Montenegrin (Latin, Unicode)
latinyz me: Montenegrin (Latin, QWERTY)
latinunicodeyz me: Montenegrin (Latin, Unicode, QWERTY)
cyrillicalternatequotes me: Montenegrin (Cyrillic, with guillemets)
latinalternatequotes me: Montenegrin (Latin, with guillemets)
nodeadkeys mk: Macedonian (no dead keys)
us mt: Maltese (US)
alt-us mt: Maltese (US layout with AltGr overrides)
alt-gb mt: Maltese (UK, with AltGr overrides)
nodeadkeys no: Norwegian (no dead keys)
winkeys no: Norwegian (Windows)
dvorak no: Norwegian (Dvorak)
smi no: Northern Saami (Norway)
smi_nodeadkeys no: Northern Saami (Norway, no dead keys)
mac no: Norwegian (Macintosh)
mac_nodeadkeys no: Norwegian (Macintosh, no dead keys)
colemak no: Norwegian (Colemak)
legacy pl: Polish (legacy)
qwertz pl: Polish (QWERTZ)
dvorak pl: Polish (Dvorak)
dvorak_quotes pl: Polish (Dvorak, with Polish quotes on quotemark key)
dvorak_altquotes pl: Polish (Dvorak, with Polish quotes on key 1)
csb pl: Kashubian
szl pl: Silesian
ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak)
dvp pl: Polish (programmer Dvorak)
nodeadkeys pt: Portuguese (no dead keys)
sundeadkeys pt: Portuguese (Sun dead keys)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys)
mac_sundeadkeys pt: Portuguese (Macintosh, Sun dead keys)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
cedilla ro: Romanian (cedilla)
std ro: Romanian (standard)
std_cedilla ro: Romanian (standard cedilla)
winkeys ro: Romanian (Windows)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic, Windows)
phonetic_YAZHERTY ru: Russian (phonetic, YAZHERTY)
typewriter ru: Russian (typewriter)
legacy ru: Russian (legacy)
typewriter-legacy ru: Russian (typewriter, legacy)
tt ru: Tatar
os_legacy ru: Ossetian (legacy)
os_winkeys ru: Ossetian (Windows)
cv ru: Chuvash
cv_latin ru: Chuvash (Latin)
udm ru: Udmurt
kom ru: Komi
sah ru: Yakut
xal ru: Kalmyk
dos ru: Russian (DOS)
mac ru: Russian (Macintosh)
srp ru: Serbian (Russia)
bak ru: Bashkirian
chm ru: Mari
phonetic_azerty ru: Russian (phonetic, AZERTY)
phonetic_dvorak ru: Russian (phonetic, Dvorak)
phonetic_fr ru: Russian (phonetic, French)
yz rs: Serbian (Cyrillic, ZE and ZHE swapped)
latin rs: Serbian (Latin)
latinunicode rs: Serbian (Latin, Unicode)
latinyz rs: Serbian (Latin, QWERTY)
latinunicodeyz rs: Serbian (Latin, Unicode, QWERTY)
alternatequotes rs: Serbian (Cyrillic, with guillemets)
latinalternatequotes rs: Serbian (Latin, with guillemets)
rue rs: Pannonian Rusyn
alternatequotes si: Slovenian (with guillemets)
us si: Slovenian (US)
bksl sk: Slovak (extended backslash)
qwerty sk: Slovak (QWERTY)
qwerty_bksl sk: Slovak (QWERTY, extended backslash)
nodeadkeys es: Spanish (no dead keys)
winkeys es: Spanish (Windows)
deadtilde es: Spanish (dead tilde)
sundeadkeys es: Spanish (Sun dead keys)
dvorak es: Spanish (Dvorak)
ast es: Asturian (Spain, with bottom-dot H and L)
cat es: Catalan (Spain, with middle-dot L)
mac es: Spanish (Macintosh)
nodeadkeys se: Swedish (no dead keys)
dvorak se: Swedish (Dvorak)
rus se: Russian (Sweden, phonetic)
rus_nodeadkeys se: Russian (Sweden, phonetic, no dead keys)
smi se: Northern Saami (Sweden)
mac se: Swedish (Macintosh)
svdvorak se: Swedish (Svdvorak)
us_dvorak se: Swedish (Dvorak, intl.)
us se: Swedish (US)
swl se: Swedish Sign Language
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, no dead keys)
de_sundeadkeys ch: German (Switzerland, Sun dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, no dead keys)
fr_sundeadkeys ch: French (Switzerland, Sun dead keys)
fr_mac ch: French (Switzerland, Macintosh)
de_mac ch: German (Switzerland, Macintosh)
syc sy: Syriac
syc_phonetic sy: Syriac (phonetic)
ku sy: Kurdish (Syria, Latin Q)
ku_f sy: Kurdish (Syria, F)
ku_alt sy: Kurdish (Syria, Latin Alt-Q)
legacy tj: Tajik (legacy)
tam_unicode lk: Tamil (Sri Lanka, TamilNet '99)
tam_TAB lk: Tamil (Sri Lanka, TamilNet '99, TAB encoding)
us lk: Sinhala (US)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
sundeadkeys tr: Turkish (Sun dead keys)
ku tr: Kurdish (Turkey, Latin Q)
ku_f tr: Kurdish (Turkey, F)
ku_alt tr: Kurdish (Turkey, Latin Alt-Q)
intl tr: Turkish (intl., with dead keys)
crh tr: Crimean Tatar (Turkish Q)
crh_f tr: Crimean Tatar (Turkish F)
crh_alt tr: Crimean Tatar (Turkish Alt-Q)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (Windows)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
extd gb: English (UK, extended, Windows)
intl gb: English (UK, intl., with dead keys)
dvorak gb: English (UK, Dvorak)
dvorakukp gb: English (UK, Dvorak, with UK punctuation)
mac gb: English (UK, Macintosh)
mac_intl gb: English (UK, Macintosh, intl.)
colemak gb: English (UK, Colemak)
pl gb: Polish (British keyboard)
latin uz: Uzbek (Latin)
us vn: Vietnamese (US)
fr vn: Vietnamese (French)
kr104 kr: Korean (101/104-key compatible)
CloGaelach ie: CloGaelach
UnicodeExpert ie: Irish (UnicodeExpert)
ogam ie: Ogham
ogam_is434 ie: Ogham (IS434)
urd-crulp pk: Urdu (Pakistan, CRULP)
urd-nla pk: Urdu (Pakistan, NLA)
ara pk: Arabic (Pakistan)
snd pk: Sindhi
legacy epo: Esperanto (legacy)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa (Nigeria)
left_hand brai: Braille (left-handed)
left_hand_invert brai: Braille (left-handed inverted thumb)
right_hand brai: Braille (right-handed)
right_hand_invert brai: Braille (right-handed inverted thumb)
alt tm: Turkmen (Alt-Q)
fr-oss ml: French (Mali, alt.)
us-mac ml: English (Mali, US, Macintosh)
us-intl ml: English (Mali, US, intl.)
kik ke: Kikuyu
qwerty-bay ph: Filipino (QWERTY, Baybayin)
capewell-dvorak ph: Filipino (Capewell-Dvorak, Latin)
capewell-dvorak-bay ph: Filipino (Capewell-Dvorak, Baybayin)
capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006, Latin)
capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006, Baybayin)
colemak ph: Filipino (Colemak, Latin)
colemak-bay ph: Filipino (Colemak, Baybayin)
dvorak ph: Filipino (Dvorak, Latin)
dvorak-bay ph: Filipino (Dvorak, Baybayin)
gag md: Moldavian (Gagauz)
phoneticx id: Indonesian (Arab Melayu, extended phonetic)
phonetic my: Malay (Jawi, phonetic)
! option
grp Switching to another layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Right Win (while pressed)
grp:win_switch Any Win (while pressed)
grp:menu_switch Menu (while pressed), Shift+Menu for Menu
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock to first layout; Shift+Caps Lock to last layout
grp:win_menu_switch Left Win to first layout; Right Win/Menu to last layout
grp:lctrl_rctrl_switch Left Ctrl to first layout; Right Ctrl to last layout
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift together
grp:alts_toggle Both Alt together
grp:ctrls_toggle Both Ctrl together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:win_space_toggle Win+Space
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu Left Ctrl+Left Win to first layout; Right Ctrl+Menu to second layout
grp:lctrl_lwin_toggle Left Ctrl+Left Win
lv3 Key to choose the 3rd level
lv3:switch Right Ctrl
lv3:menu_switch Menu
lv3:win_switch Any Win
lv3:lwin_switch Left Win
lv3:rwin_switch Right Win
lv3:alt_switch Any Alt
lv3:lalt_switch Left Alt
lv3:ralt_switch Right Alt
lv3:ralt_switch_multikey Right Alt; Shift+Right Alt as Compose
lv3:ralt_alt Right Alt never chooses 3rd level
lv3:enter_switch Enter on keypad
lv3:caps_switch Caps Lock
lv3:bksl_switch Backslash
lv3:lsgt_switch The "&lt; &gt;" key
lv3:caps_switch_latch Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser
lv3:bksl_switch_latch Backslash; acts as onetime lock when pressed together with another 3rd level chooser
lv3:lsgt_switch_latch The "&lt; &gt;" key; acts as onetime lock when pressed together with another 3rd level chooser
ctrl Ctrl position
ctrl:nocaps Caps Lock as Ctrl
ctrl:lctrl_meta Left Ctrl as Meta
ctrl:swapcaps Swap Ctrl and Caps Lock
ctrl:swapcaps_hyper Caps Lock as Ctrl, Ctrl as Hyper
ctrl:ac_ctrl To the left of "A"
ctrl:aa_ctrl At the bottom left
ctrl:rctrl_ralt Right Ctrl as Right Alt
ctrl:menu_rctrl Menu as Right Ctrl
ctrl:swap_lalt_lctl Swap Left Alt with Left Ctrl
ctrl:swap_lwin_lctl Swap Left Win with Left Ctrl
ctrl:swap_rwin_rctl Swap Right Win with Right Ctrl
ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt
grp_led Use keyboard LED to show alternative layout
grp_led:num Num Lock
grp_led:caps Caps Lock
grp_led:scroll Scroll Lock
mod_led Use keyboard LED to indicate modifiers
mod_led:compose Compose
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode arrows and math operators
keypad:future Unicode arrows and math operators on default level
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode arrows and math operators
keypad:future_wang Wang 724 keypad with Unicode arrows and math operators on default level
keypad:hex Hexadecimal
keypad:atm Phone and ATM style
kpdl Numeric keypad Delete behavior
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 only
kpdl:commaoss Four-level key with comma
kpdl:momayyezoss Four-level key with momayyez
kpdl:kposs Four-level key with abstract separators
kpdl:semi Semicolon on third level
caps Caps Lock behavior
caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
caps:internal_nocancel Caps Lock uses internal capitalization; Shift does not affect Caps Lock
caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
caps:shift_nocancel Caps Lock acts as Shift with locking; Shift does not affect Caps Lock
caps:capslock Caps Lock toggles normal capitalization of alphabetic characters
caps:shiftlock Caps Lock toggles Shift Lock (affects all keys)
caps:swapescape Swap Esc and Caps Lock
caps:escape Make Caps Lock an additional Esc
caps:escape_shifted_capslock Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock
caps:backspace Make Caps Lock an additional Backspace
caps:super Make Caps Lock an additional Super
caps:hyper Make Caps Lock an additional Hyper
caps:menu Make Caps Lock an additional Menu key
caps:numlock Make Caps Lock an additional Num Lock
caps:ctrl_modifier Caps Lock is also a Ctrl
caps:none Caps Lock is disabled
altwin Alt and Win behavior
altwin:menu Add the standard behavior to Menu key
altwin:menu_win Menu is mapped to Win
altwin:meta_alt Alt and Meta are on Alt
altwin:alt_win Alt is mapped to Win and the usual Alt
altwin:ctrl_win Ctrl is mapped to Win and the usual Ctrl
altwin:ctrl_alt_win Ctrl is mapped to Alt, Alt to Win
altwin:meta_win Meta is mapped to Win
altwin:left_meta_win Meta is mapped to Left Win
altwin:hyper_win Hyper is mapped to Win
altwin:alt_super_win Alt is mapped to Right Win, Super to Menu
altwin:swap_lalt_lwin Left Alt is swapped with Left Win
altwin:swap_alt_win Alt is swapped with Win
altwin:prtsc_rwin Win is mapped to PrtSc and the usual Win
Compose key Position of Compose key
compose:ralt Right Alt
compose:lwin Left Win
compose:lwin-altgr 3rd level of Left Win
compose:rwin Right Win
compose:rwin-altgr 3rd level of Right Win
compose:menu Menu
compose:menu-altgr 3rd level of Menu
compose:lctrl Left Ctrl
compose:lctrl-altgr 3rd level of Left Ctrl
compose:rctrl Right Ctrl
compose:rctrl-altgr 3rd level of Right Ctrl
compose:caps Caps Lock
compose:caps-altgr 3rd level of Caps Lock
compose:102 The "&lt; &gt;" key
compose:102-altgr 3rd level of the "&lt; &gt;" key
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat Compatibility options
numpad:pc Default numeric keypad keys
numpad:mac Numeric keypad always enters digits (as in macOS)
numpad:microsoft Num Lock on: digits; Shift for arrows. Num Lock off: arrows (as in Windows)
numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead
srvrkeys:none Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server
apple:alupckeys Apple Aluminium emulates Pause, PrtSc, Scroll Lock
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
misc:apl Enable APL overlay characters
shift:both_capslock Both Shift together enable Caps Lock
shift:both_capslock_cancel Both Shift together enable Caps Lock; one Shift key disables it
shift:both_shiftlock Both Shift together enable Shift Lock
keypad:pointerkeys Shift + Num Lock enables PointerKeys
grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk)
grab:debug Allow grab and window tree logging
currencysign Currency signs
eurosign:e Euro on E
eurosign:2 Euro on 2
eurosign:4 Euro on 4
eurosign:5 Euro on 5
rupeesign:4 Rupee on 4
lv5 Key to choose 5th level
lv5:lsgt_switch The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch_lock_cancel The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
nbsp Non-breaking space input
nbsp:none Usual space at any level
nbsp:level2 Non-breaking space at the 2nd level
nbsp:level3 Non-breaking space at the 3rd level
nbsp:level3s Non-breaking space at the 3rd level, nothing at the 4th level
nbsp:level3n Non-breaking space at the 3rd level, thin non-breaking space at the 4th level
nbsp:level4 Non-breaking space at the 4th level
nbsp:level4n Non-breaking space at the 4th level, thin non-breaking space at the 6th level
nbsp:level4nl Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift)
nbsp:zwnj2 Zero-width non-joiner at the 2nd level
nbsp:zwnj2zwj3 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level
nbsp:zwnj2zwj3nb4 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level
nbsp:zwnj2nb3 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level
nbsp:zwnj2nb3s Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, nothing at the 4th level
nbsp:zwnj2nb3zwj4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level
nbsp:zwnj2nb3nnb4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level
nbsp:zwnj3zwj4 Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level
japan Japanese keyboard options
japan:kana_lock Kana Lock key is locking
japan:nicola_f_bs NICOLA-F style Backspace
japan:hztg_escape Make Zenkaku Hankaku an additional Esc
korean Korean Hangul/Hanja keys
korean:ralt_hangul Make right Alt a Hangul key
korean:rctrl_hangul Make right Ctrl a Hangul key
korean:ralt_hanja Make right Alt a Hanja key
korean:rctrl_hanja Make right Ctrl a Hanja key
esperanto Esperanto letters with superscripts
esperanto:qwerty At the corresponding key in a QWERTY layout
esperanto:dvorak At the corresponding key in a Dvorak layout
esperanto:colemak At the corresponding key in a Colemak layout
solaris Old Solaris keycodes compatibility
solaris:sun_compat Sun key compatibility
terminate Key sequence to kill the X server
terminate:ctrl_alt_bksp Ctrl+Alt+Backspace
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,985 @@
! model
pc86 Generic 86-key PC
pc101 Generic 101-key PC
pc102 Generic 102-key PC
pc104 Generic 104-key PC
pc104alt Generic 104-key PC with L-shaped Enter key
pc105 Generic 105-key PC
dell101 Dell 101-key PC
latitude Dell Latitude laptop
dellm65 Dell Precision M65 laptop
everex Everex STEPnote
flexpro Keytronic FlexPro
microsoft Microsoft Natural
omnikey101 Northgate OmniKey 101
winbook Winbook Model XP5
pc98 PC-98
a4techKB21 A4Tech KB-21
a4techKBS8 A4Tech KBS-8
a4_rfkb23 A4Tech Wireless Desktop RFKB-23
airkey Acer AirKey V
azonaRF2300 Azona RF2300 wireless Internet
scorpius Advance Scorpius KI
brother Brother Internet
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
btc9116u BTC 9116U Mini Wireless Internet and Gaming
cherryblue Cherry Blue Line CyBo@rd
cherryblueb Cherry CyMotion Master XPress
cherrybluea Cherry Blue Line CyBo@rd (alt.)
cherrycyboard Cherry CyBo@rd USB-Hub
cherrycmexpert Cherry CyMotion Expert
cherrybunlim Cherry B.UNLIMITED
chicony Chicony Internet
chicony0108 Chicony KU-0108
chicony0420 Chicony KU-0420
chicony9885 Chicony KB-9885
compaqeak8 Compaq Easy Access
compaqik7 Compaq Internet (7 keys)
compaqik13 Compaq Internet (13 keys)
compaqik18 Compaq Internet (18 keys)
cymotionlinux Cherry CyMotion Master Linux
armada Compaq Armada laptop
presario Compaq Presario laptop
ipaq Compaq iPaq
dell Dell
dellsk8125 Dell SK-8125
dellsk8135 Dell SK-8135
dellusbmm Dell USB Multimedia
inspiron Dell Inspiron 6000/8000 laptop
precision_m Dell Precision M laptop
dexxa Dexxa Wireless Desktop
diamond Diamond 9801/9802
dtk2000 DTK2000
ennyah_dkb1008 Ennyah DKB-1008
fscaa1667g Fujitsu-Siemens Amilo laptop
genius Genius Comfy KB-16M/Multimedia KWD-910
geniuscomfy Genius Comfy KB-12e
geniuscomfy2 Genius Comfy KB-21e-Scroll
geniuskb19e Genius KB-19e NB
geniuskkb2050hs Genius KKB-2050HS
gyration Gyration
kinesis Kinesis
logitech_base Logitech
logitech_g15 Logitech G15 extra keys via G15daemon
hpi6 Hewlett-Packard Internet
hp250x Hewlett-Packard NEC SK-2500 Multimedia
hpxe3gc Hewlett-Packard Omnibook XE3 GC
hpxe3gf Hewlett-Packard Omnibook XE3 GF
hpxt1000 Hewlett-Packard Omnibook XT1000
hpdv5 Hewlett-Packard Pavilion dv5
hpzt11xx Hewlett-Packard Pavilion ZT1100
hp500fa Hewlett-Packard Omnibook 500 FA
hp5xx Hewlett-Packard Omnibook 500
hpnx9020 Hewlett-Packard nx9020
hp6000 Hewlett-Packard Omnibook 6000/6100
honeywell_euroboard Honeywell Euroboard
hpmini110 Hewlett-Packard Mini 110 laptop
rapidaccess IBM Rapid Access
rapidaccess2 IBM Rapid Access II
thinkpad IBM ThinkPad 560Z/600/600E/A22E
thinkpad60 IBM ThinkPad R60/T60/R61/T61
thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t
ibm_spacesaver IBM Space Saver
logiaccess Logitech Access
logiclx300 Logitech Cordless Desktop LX-300
logii350 Logitech Internet 350
logimel Logitech Internet 350
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 (alt.)
logicdpa2 Logitech Cordless Desktop Pro (2nd alt.)
logicfn Logitech Cordless Freedom/Desktop Navigator
logicdn Logitech Cordless Desktop Navigator
logiitc Logitech iTouch Cordless Y-RB6
logiik Logitech Internet
itouch Logitech iTouch
logicink Logitech Internet Navigator
logiex110 Logitech Cordless Desktop EX110
logiinkse Logitech iTouch Internet Navigator SE
logiinkseusb Logitech iTouch Internet Navigator SE USB
logiultrax Logitech Ultra-X
logiultraxc Logitech Ultra-X Cordless Media Desktop
logidinovo Logitech diNovo
logidinovoedge Logitech diNovo Edge
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access
mx2750 Memorex MX2750
microsoft4000 Microsoft Natural Ergonomic 4000
microsoft7000 Microsoft Natural Wireless Ergonomic 7000
microsoftinet Microsoft Internet
microsoftpro Microsoft Natural Pro/Internet Pro
microsoftprousb Microsoft Natural Pro USB/Internet Pro
microsoftprooem Microsoft Natural Pro OEM
vsonku306 ViewSonic KU-306 Internet
microsoftprose Microsoft Internet Pro (Swedish)
microsoftoffice Microsoft Office Keyboard
microsoftmult Microsoft Wireless Multimedia 1.0A
microsoftsurface Microsoft Surface
microsoftelite Microsoft Natural Elite
microsoftccurve2k Microsoft Comfort Curve 2000
oretec Ortek Multimedia/Internet MCK-800
propeller Propeller Voyager KTEZ-1000
qtronix QTronix Scorpius 98N+
samsung4500 Samsung SDM 4500P
samsung4510 Samsung SDM 4510P
sanwaskbkg3 Sanwa Supply SKB-KG3
sk1300 NEC SK-1300
sk2500 NEC SK-2500
sk6200 NEC SK-6200
sk7100 NEC SK-7100
sp_inet Super Power Multimedia
sven SVEN Ergonomic 2500
sven303 SVEN Slim 303
symplon Symplon PaceBook tablet
toshiba_s3000 Toshiba Satellite S3000
trust Trust Wireless Classic
trustda Trust Direct Access
trust_slimline Trust Slimline
tm2020 TypeMatrix EZ-Reach 2020
tm2030PS2 TypeMatrix EZ-Reach 2030 PS2
tm2030USB TypeMatrix EZ-Reach 2030 USB
tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)
tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode)
yahoo Yahoo! Internet
macbook78 MacBook/MacBook Pro
macbook79 MacBook/MacBook Pro (intl.)
macintosh Macintosh
macintosh_old Macintosh Old
macintosh_hhk Happy Hacking 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
applealu_ansi Apple Aluminium (ANSI)
applealu_iso Apple Aluminium (ISO)
applealu_jis Apple Aluminium (JIS)
silvercrest Silvercrest Multimedia Wireless
emachines eMachines m6800 laptop
benqx BenQ X-Touch
benqx730 BenQ X-Touch 730
benqx800 BenQ X-Touch 800
hhk Happy Hacking
classmate Classmate PC
olpc OLPC
sun_type7_usb Sun Type 7 USB
sun_type7_euro_usb Sun Type 7 USB (European)
sun_type7_unix_usb Sun Type 7 USB (Unix)
sun_type7_jp_usb Sun Type 7 USB (Japanese)/Japanese 106-key
sun_type6_usb Sun Type 6/7 USB
sun_type6_euro_usb Sun Type 6/7 USB (European)
sun_type6_unix_usb Sun Type 6 USB (Unix)
sun_type6_jp_usb Sun Type 6 USB (Japanese)
sun_type6_jp Sun Type 6 (Japanese)
targa_v811 Targa Visionary 811
unitekkb1925 Unitek KB-1925
compalfl90 FL90
creativedw7000 Creative Desktop Wireless 7000
teck227 Truly Ergonomic 227
teck229 Truly Ergonomic 229
apex300 SteelSeries Apex 300 (Apex RAW)
chromebook Chromebook
teck227 Truly Ergonomic Computer Keyboard Model 227 (Wide Alt keys)
teck229 Truly Ergonomic Computer Keyboard Model 229 (Standard sized Alt keys, additional Super and Menu key)
! layout
us English (US)
af Afghani
ara Arabic
al Albanian
am Armenian
at German (Austria)
au English (Australian)
az Azerbaijani
by Belarusian
be Belgian
bd Bangla
in Indian
ba Bosnian
br Portuguese (Brazil)
bg Bulgarian
dz Kabylian (azerty layout, no dead keys)
ma Arabic (Morocco)
cm English (Cameroon)
mm Burmese
ca French (Canada)
cd French (Democratic Republic of the Congo)
cn Chinese
hr Croatian
cz Czech
dk Danish
nl Dutch
bt Dzongkha
ee Estonian
ir Persian
iq Iraqi
fo Faroese
fi Finnish
fr French
gh English (Ghana)
gn French (Guinea)
ge Georgian
de German
gr Greek
hu Hungarian
is Icelandic
il Hebrew
it Italian
jp Japanese
kg Kyrgyz
kh Khmer (Cambodia)
kz Kazakh
la Lao
latam Spanish (Latin American)
lt Lithuanian
lv Latvian
mao Maori
me Montenegrin
mk Macedonian
mt Maltese
mn Mongolian
no Norwegian
pl Polish
pt Portuguese
ro Romanian
ru Russian
rs Serbian
si Slovenian
sk Slovak
es Spanish
se Swedish
ch German (Switzerland)
sy Arabic (Syria)
tj Tajik
lk Sinhala (phonetic)
th Thai
tr Turkish
tw Taiwanese
ua Ukrainian
gb English (UK)
uz Uzbek
vn Vietnamese
kr Korean
nec_vndr/jp Japanese (PC-98)
ie Irish
pk Urdu (Pakistan)
mv Dhivehi
za English (South Africa)
epo Esperanto
np Nepali
ng English (Nigeria)
et Amharic
sn Wolof
brai Braille
tm Turkmen
ml Bambara
tz Swahili (Tanzania)
tg French (Togo)
ke Swahili (Kenya)
bw Tswana
ph Filipino
md Moldavian
id Indonesian (Arab Melayu, phonetic)
jv Indonesian (Javanese)
my Malay (Jawi, Arabic Keyboard)
! variant
chr us: Cherokee
haw us: Hawaiian
euro us: English (US, euro on 5)
intl us: English (US, intl., with dead keys)
alt-intl us: English (US, alt. intl.)
colemak us: English (Colemak)
dvorak us: English (Dvorak)
dvorak-intl us: English (Dvorak, intl., with dead keys)
dvorak-alt-intl us: English (Dvorak, alt. intl.)
dvorak-l us: English (Dvorak, left-handed)
dvorak-r us: English (Dvorak, right-handed)
dvorak-classic us: English (classic Dvorak)
dvp us: English (programmer Dvorak)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (intl., with AltGr dead keys)
olpc2 us: English (the divide/multiply toggle the layout)
hbs us: Serbo-Croatian (US)
norman us: English (Norman)
workman us: English (Workman)
workman-intl us: English (Workman, intl., with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
olpc-ps af: Pashto (Afghanistan, OLPC)
fa-olpc af: Persian (Afghanistan, Dari OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (AZERTY)
azerty_digits ara: Arabic (AZERTY, Eastern Arabic numerals)
digits ara: Arabic (Eastern Arabic numerals)
qwerty ara: Arabic (QWERTY)
qwerty_digits ara: Arabic (QWERTY, Eastern Arabic numerals)
buckwalter ara: Arabic (Buckwalter)
olpc ara: Arabic (OLPC)
mac ara: Arabic (Macintosh)
plisi al: Albanian (Plisi)
veqilharxhi al: Albanian (Veqilharxhi)
phonetic am: Armenian (phonetic)
phonetic-alt am: Armenian (alt. phonetic)
eastern am: Armenian (eastern)
western am: Armenian (western)
eastern-alt am: Armenian (alt. eastern)
nodeadkeys at: German (Austria, no dead keys)
sundeadkeys at: German (Austria, Sun dead keys)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
ru by: Russian (Belarus)
intl by: Belarusian (intl.)
oss be: Belgian (alt.)
oss_latin9 be: Belgian (Latin-9 only, alt.)
oss_sundeadkeys be: Belgian (Sun dead keys, alt.)
iso-alternate be: Belgian (ISO, alt.)
nodeadkeys be: Belgian (no dead keys)
sundeadkeys be: Belgian (Sun dead keys)
wang be: Belgian (Wang 724 AZERTY)
probhat bd: Bangla (Probhat)
ben in: Bangla (India)
ben_probhat in: Bangla (India, Probhat)
ben_baishakhi in: Bangla (India, Baishakhi)
ben_bornona in: Bangla (India, Bornona)
ben_gitanjali in: Bangla (India, Gitanjali)
ben_inscript in: Bangla (India, Baishakhi Inscript)
eeyek in: Manipuri (Eeyek)
guj in: Gujarati
guru in: Punjabi (Gurmukhi)
jhelum in: Punjabi (Gurmukhi Jhelum)
kan in: Kannada
kan-kagapa in: Kannada (KaGaPa, phonetic)
mal in: Malayalam
mal_lalitha in: Malayalam (Lalitha)
mal_enhanced in: Malayalam (enhanced Inscript, with rupee)
ori in: Oriya
olck in: Ol Chiki
tam_tamilnet in: Tamil (TamilNet '99)
tam_tamilnet_with_tam_nums in: Tamil (TamilNet '99 with Tamil numerals)
tam_tamilnet_TAB in: Tamil (TamilNet '99, TAB encoding)
tam_tamilnet_TSCII in: Tamil (TamilNet '99, TSCII encoding)
tam in: Tamil (Inscript)
tel in: Telugu
tel-kagapa in: Telugu (KaGaPa, phonetic)
tel-sarala in: Telugu (Sarala)
tel-kagapa in: Telugu (KaGaPa, phonetic)
urd-phonetic in: Urdu (phonetic)
urd-phonetic3 in: Urdu (alt. phonetic)
urd-winkeys in: Urdu (Windows)
bolnagri in: Hindi (Bolnagri)
hin-wx in: Hindi (Wx)
hin-kagapa in: Hindi (KaGaPa, phonetic)
san-kagapa in: Sanskrit (KaGaPa, phonetic)
mar-kagapa in: Marathi (KaGaPa, phonetic)
eng in: English (India, with rupee)
iipa in: Indic IPA (IIPA)
marathi in: मराठी इन्स्क्रिप्ट
alternatequotes ba: Bosnian (with guillemets)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US, with Bosnian digraphs)
us ba: Bosnian (US)
nodeadkeys br: Portuguese (Brazil, no dead keys)
dvorak br: Portuguese (Brazil, Dvorak)
nativo br: Portuguese (Brazil, Nativo)
nativo-us br: Portuguese (Brazil, Nativo for US keyboards)
nativo-epo br: Esperanto (Brazil, Nativo)
thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad)
phonetic bg: Bulgarian (traditional phonetic)
bas_phonetic bg: Bulgarian (new phonetic)
azerty-deadkeys dz: Kabylian (azerty layout, with dead keys)
qwerty-gb-deadkeys dz: Kabylian (qwerty-gb layout, with dead keys)
qwerty-us-deadkeys dz: Kabylian (qwerty-us layout, with dead keys)
ber dz: Kabylian (Algeria, Tifinagh)
ar dz: Arabic (Algeria)
french ma: French (Morocco)
tifinagh ma: Berber (Morocco, Tifinagh)
tifinagh-alt ma: Berber (Morocco, Tifinagh alt.)
tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh phonetic, alt.)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (QWERTY, intl.)
azerty cm: Cameroon (AZERTY, intl.)
dvorak cm: Cameroon (Dvorak, intl.)
mmuock cm: Mmuock
zawgyi mm: Burmese Zawgyi
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian (intl.)
multi ca: Canadian (intl., 1st part)
multi-2gr ca: Canadian (intl., 2nd part)
ike ca: Inuktitut
eng ca: English (Canada)
mon_trad cn: Mongolian (Bichig)
mon_trad_todo cn: Mongolian (Todo)
mon_trad_xibe cn: Mongolian (Xibe)
mon_trad_manchu cn: Mongolian (Manchu)
mon_trad_galik cn: Mongolian (Galik)
mon_todo_galik cn: Mongolian (Todo Galik)
mon_manchu_galik cn: Mongolian (Manchu Galik)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
altgr-pinyin cn: Hanyu Pinyin (with AltGr dead keys)
alternatequotes hr: Croatian (with guillemets)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US, with Croatian digraphs)
us hr: Croatian (US)
bksl cz: Czech (with &lt;\|&gt; key)
qwerty cz: Czech (QWERTY)
qwerty_bksl cz: Czech (QWERTY, extended backslash)
qwerty-mac cz: Czech (QWERTY, Macintosh)
ucw cz: Czech (UCW, only accented letters)
dvorak-ucw cz: Czech (US, Dvorak, UCW support)
rus cz: Russian (Czech, phonetic)
nodeadkeys dk: Danish (no dead keys)
winkeys dk: Danish (Windows)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, no dead keys)
dvorak dk: Danish (Dvorak)
sundeadkeys nl: Dutch (Sun dead keys)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
nodeadkeys ee: Estonian (no dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US)
pes_keypad ir: Persian (with Persian keypad)
ku ir: Kurdish (Iran, Latin Q)
ku_f ir: Kurdish (Iran, F)
ku_alt ir: Kurdish (Iran, Latin Alt-Q)
ku_ara ir: Kurdish (Iran, Arabic-Latin)
ku iq: Kurdish (Iraq, Latin Q)
ku_f iq: Kurdish (Iraq, F)
ku_alt iq: Kurdish (Iraq, Latin Alt-Q)
ku_ara iq: Kurdish (Iraq, Arabic-Latin)
nodeadkeys fo: Faroese (no dead keys)
winkeys fi: Finnish (Windows)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, no dead keys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
nodeadkeys fr: French (no dead keys)
sundeadkeys fr: French (Sun dead keys)
oss fr: French (alt.)
oss_latin9 fr: French (alt., Latin-9 only)
oss_nodeadkeys fr: French (alt., no dead keys)
oss_sundeadkeys fr: French (alt., Sun dead keys)
latin9 fr: French (legacy, alt.)
latin9_nodeadkeys fr: French (legacy, alt., no dead keys)
latin9_sundeadkeys fr: French (legacy, alt., Sun dead keys)
bepo fr: French (BEPO)
bepo_latin9 fr: French (BEPO, Latin-9 only)
bepo_afnor fr: French (BEPO, AFNOR)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
azerty fr: French (AZERTY)
afnor fr: French (AZERTY, AFNOR)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
us fr: French (US)
generic gh: English (Ghana, multilingual)
akan gh: Akan
ewe gh: Ewe
fula gh: Fula
ga gh: Ga
hausa gh: Hausa (Ghana)
avn gh: Avatime
gillbt gh: English (Ghana, GILLBT)
ergonomic ge: Georgian (ergonomic)
mess ge: Georgian (MESS)
ru ge: Russian (Georgia)
os ge: Ossetian (Georgia)
deadacute de: German (dead acute)
deadgraveacute de: German (dead grave acute)
nodeadkeys de: German (no dead keys)
T3 de: German (T3)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, no dead keys)
dvorak de: German (Dvorak)
sundeadkeys de: German (Sun dead keys)
neo de: German (Neo 2)
mac de: German (Macintosh)
mac_nodeadkeys de: German (Macintosh, no dead keys)
dsb de: Lower Sorbian
dsb_qwertz de: Lower Sorbian (QWERTZ)
qwerty de: German (QWERTY)
tr de: Turkish (Germany)
ru de: Russian (Germany, phonetic)
deadtilde de: German (dead tilde)
simple gr: Greek (simple)
extended gr: Greek (extended)
nodeadkeys gr: Greek (no dead keys)
polytonic gr: Greek (polytonic)
standard hu: Hungarian (standard)
nodeadkeys hu: Hungarian (no dead keys)
qwerty hu: Hungarian (QWERTY)
101_qwertz_comma_dead hu: Hungarian (QWERTZ, 101-key, comma, dead keys)
101_qwertz_comma_nodead hu: Hungarian (QWERTZ, 101-key, comma, no dead keys)
101_qwertz_dot_dead hu: Hungarian (QWERTZ, 101-key, dot, dead keys)
101_qwertz_dot_nodead hu: Hungarian (QWERTZ, 101-key, dot, no dead keys)
101_qwerty_comma_dead hu: Hungarian (QWERTY, 101-key, comma, dead keys)
101_qwerty_comma_nodead hu: Hungarian (QWERTY, 101-key, comma, no dead keys)
101_qwerty_dot_dead hu: Hungarian (QWERTY, 101-key, dot, dead keys)
101_qwerty_dot_nodead hu: Hungarian (QWERTY, 101-key, dot, no dead keys)
102_qwertz_comma_dead hu: Hungarian (QWERTZ, 102-key, comma, dead keys)
102_qwertz_comma_nodead hu: Hungarian (QWERTZ, 102-key, comma, no dead keys)
102_qwertz_dot_dead hu: Hungarian (QWERTZ, 102-key, dot, dead keys)
102_qwertz_dot_nodead hu: Hungarian (QWERTZ, 102-key, dot, no dead keys)
102_qwerty_comma_dead hu: Hungarian (QWERTY, 102-key, comma, dead keys)
102_qwerty_comma_nodead hu: Hungarian (QWERTY, 102-key, comma, no dead keys)
102_qwerty_dot_dead hu: Hungarian (QWERTY, 102-key, dot, dead keys)
102_qwerty_dot_nodead hu: Hungarian (QWERTY, 102-key, dot, no dead keys)
Sundeadkeys is: Icelandic (Sun dead keys)
nodeadkeys is: Icelandic (no dead keys)
mac_legacy is: Icelandic (Macintosh, legacy)
mac is: Icelandic (Macintosh)
dvorak is: Icelandic (Dvorak)
lyx il: Hebrew (lyx)
phonetic il: Hebrew (phonetic)
biblical il: Hebrew (Biblical, Tiro)
nodeadkeys it: Italian (no dead keys)
winkeys it: Italian (Windows)
mac it: Italian (Macintosh)
us it: Italian (US)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
intl it: Italian (intl., with dead keys)
scn it: Sicilian
fur it: Friulian (Italy)
kana jp: Japanese (Kana)
kana86 jp: Japanese (Kana 86)
OADG109A jp: Japanese (OADG 109A)
mac jp: Japanese (Macintosh)
dvorak jp: Japanese (Dvorak)
phonetic kg: Kyrgyz (phonetic)
ruskaz kz: Russian (Kazakhstan, with Kazakh)
kazrus kz: Kazakh (with Russian)
ext kz: Kazakh (extended)
latin kz: Kazakh (Latin)
stea la: Lao (STEA)
nodeadkeys latam: Spanish (Latin American, no dead keys)
deadtilde latam: Spanish (Latin American, dead tilde)
sundeadkeys latam: Spanish (Latin American, Sun dead keys)
dvorak latam: Spanish (Latin American, Dvorak)
colemak latam: Spanish (Latin American, Colemak)
colemak-gaming latam: Spanish (Latin American, Colemak for gaming)
std lt: Lithuanian (standard)
us lt: Lithuanian (US)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
sgs lt: Samogitian
apostrophe lv: Latvian (apostrophe)
tilde lv: Latvian (tilde)
fkey lv: Latvian (F)
modern lv: Latvian (modern)
ergonomic lv: Latvian (ergonomic, ŪGJRMV)
adapted lv: Latvian (adapted)
cyrillic me: Montenegrin (Cyrillic)
cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped)
latinunicode me: Montenegrin (Latin, Unicode)
latinyz me: Montenegrin (Latin, QWERTY)
latinunicodeyz me: Montenegrin (Latin, Unicode, QWERTY)
cyrillicalternatequotes me: Montenegrin (Cyrillic, with guillemets)
latinalternatequotes me: Montenegrin (Latin, with guillemets)
nodeadkeys mk: Macedonian (no dead keys)
us mt: Maltese (US)
alt-us mt: Maltese (US layout with AltGr overrides)
alt-gb mt: Maltese (UK, with AltGr overrides)
nodeadkeys no: Norwegian (no dead keys)
winkeys no: Norwegian (Windows)
dvorak no: Norwegian (Dvorak)
smi no: Northern Saami (Norway)
smi_nodeadkeys no: Northern Saami (Norway, no dead keys)
mac no: Norwegian (Macintosh)
mac_nodeadkeys no: Norwegian (Macintosh, no dead keys)
colemak no: Norwegian (Colemak)
legacy pl: Polish (legacy)
qwertz pl: Polish (QWERTZ)
dvorak pl: Polish (Dvorak)
dvorak_quotes pl: Polish (Dvorak, with Polish quotes on quotemark key)
dvorak_altquotes pl: Polish (Dvorak, with Polish quotes on key 1)
csb pl: Kashubian
szl pl: Silesian
ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak)
dvp pl: Polish (programmer Dvorak)
nodeadkeys pt: Portuguese (no dead keys)
sundeadkeys pt: Portuguese (Sun dead keys)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys)
mac_sundeadkeys pt: Portuguese (Macintosh, Sun dead keys)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
cedilla ro: Romanian (cedilla)
std ro: Romanian (standard)
std_cedilla ro: Romanian (standard cedilla)
winkeys ro: Romanian (Windows)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic, Windows)
phonetic_YAZHERTY ru: Russian (phonetic, YAZHERTY)
typewriter ru: Russian (typewriter)
legacy ru: Russian (legacy)
typewriter-legacy ru: Russian (typewriter, legacy)
tt ru: Tatar
os_legacy ru: Ossetian (legacy)
os_winkeys ru: Ossetian (Windows)
cv ru: Chuvash
cv_latin ru: Chuvash (Latin)
udm ru: Udmurt
kom ru: Komi
sah ru: Yakut
xal ru: Kalmyk
dos ru: Russian (DOS)
mac ru: Russian (Macintosh)
srp ru: Serbian (Russia)
bak ru: Bashkirian
chm ru: Mari
phonetic_azerty ru: Russian (phonetic, AZERTY)
phonetic_dvorak ru: Russian (phonetic, Dvorak)
phonetic_fr ru: Russian (phonetic, French)
yz rs: Serbian (Cyrillic, ZE and ZHE swapped)
latin rs: Serbian (Latin)
latinunicode rs: Serbian (Latin, Unicode)
latinyz rs: Serbian (Latin, QWERTY)
latinunicodeyz rs: Serbian (Latin, Unicode, QWERTY)
alternatequotes rs: Serbian (Cyrillic, with guillemets)
latinalternatequotes rs: Serbian (Latin, with guillemets)
rue rs: Pannonian Rusyn
alternatequotes si: Slovenian (with guillemets)
us si: Slovenian (US)
bksl sk: Slovak (extended backslash)
qwerty sk: Slovak (QWERTY)
qwerty_bksl sk: Slovak (QWERTY, extended backslash)
nodeadkeys es: Spanish (no dead keys)
winkeys es: Spanish (Windows)
deadtilde es: Spanish (dead tilde)
sundeadkeys es: Spanish (Sun dead keys)
dvorak es: Spanish (Dvorak)
ast es: Asturian (Spain, with bottom-dot H and L)
cat es: Catalan (Spain, with middle-dot L)
mac es: Spanish (Macintosh)
nodeadkeys se: Swedish (no dead keys)
dvorak se: Swedish (Dvorak)
rus se: Russian (Sweden, phonetic)
rus_nodeadkeys se: Russian (Sweden, phonetic, no dead keys)
smi se: Northern Saami (Sweden)
mac se: Swedish (Macintosh)
svdvorak se: Swedish (Svdvorak)
us_dvorak se: Swedish (Dvorak, intl.)
us se: Swedish (US)
swl se: Swedish Sign Language
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, no dead keys)
de_sundeadkeys ch: German (Switzerland, Sun dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, no dead keys)
fr_sundeadkeys ch: French (Switzerland, Sun dead keys)
fr_mac ch: French (Switzerland, Macintosh)
de_mac ch: German (Switzerland, Macintosh)
syc sy: Syriac
syc_phonetic sy: Syriac (phonetic)
ku sy: Kurdish (Syria, Latin Q)
ku_f sy: Kurdish (Syria, F)
ku_alt sy: Kurdish (Syria, Latin Alt-Q)
legacy tj: Tajik (legacy)
tam_unicode lk: Tamil (Sri Lanka, TamilNet '99)
tam_TAB lk: Tamil (Sri Lanka, TamilNet '99, TAB encoding)
us lk: Sinhala (US)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
sundeadkeys tr: Turkish (Sun dead keys)
ku tr: Kurdish (Turkey, Latin Q)
ku_f tr: Kurdish (Turkey, F)
ku_alt tr: Kurdish (Turkey, Latin Alt-Q)
intl tr: Turkish (intl., with dead keys)
crh tr: Crimean Tatar (Turkish Q)
crh_f tr: Crimean Tatar (Turkish F)
crh_alt tr: Crimean Tatar (Turkish Alt-Q)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (Windows)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
extd gb: English (UK, extended, Windows)
intl gb: English (UK, intl., with dead keys)
dvorak gb: English (UK, Dvorak)
dvorakukp gb: English (UK, Dvorak, with UK punctuation)
mac gb: English (UK, Macintosh)
mac_intl gb: English (UK, Macintosh, intl.)
colemak gb: English (UK, Colemak)
pl gb: Polish (British keyboard)
latin uz: Uzbek (Latin)
us vn: Vietnamese (US)
fr vn: Vietnamese (French)
kr104 kr: Korean (101/104-key compatible)
CloGaelach ie: CloGaelach
UnicodeExpert ie: Irish (UnicodeExpert)
ogam ie: Ogham
ogam_is434 ie: Ogham (IS434)
urd-crulp pk: Urdu (Pakistan, CRULP)
urd-nla pk: Urdu (Pakistan, NLA)
ara pk: Arabic (Pakistan)
snd pk: Sindhi
legacy epo: Esperanto (legacy)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa (Nigeria)
left_hand brai: Braille (left-handed)
left_hand_invert brai: Braille (left-handed inverted thumb)
right_hand brai: Braille (right-handed)
right_hand_invert brai: Braille (right-handed inverted thumb)
alt tm: Turkmen (Alt-Q)
fr-oss ml: French (Mali, alt.)
us-mac ml: English (Mali, US, Macintosh)
us-intl ml: English (Mali, US, intl.)
kik ke: Kikuyu
qwerty-bay ph: Filipino (QWERTY, Baybayin)
capewell-dvorak ph: Filipino (Capewell-Dvorak, Latin)
capewell-dvorak-bay ph: Filipino (Capewell-Dvorak, Baybayin)
capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006, Latin)
capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006, Baybayin)
colemak ph: Filipino (Colemak, Latin)
colemak-bay ph: Filipino (Colemak, Baybayin)
dvorak ph: Filipino (Dvorak, Latin)
dvorak-bay ph: Filipino (Dvorak, Baybayin)
gag md: Moldavian (Gagauz)
phoneticx id: Indonesian (Arab Melayu, extended phonetic)
phonetic my: Malay (Jawi, phonetic)
! option
grp Switching to another layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Right Win (while pressed)
grp:win_switch Any Win (while pressed)
grp:menu_switch Menu (while pressed), Shift+Menu for Menu
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock to first layout; Shift+Caps Lock to last layout
grp:win_menu_switch Left Win to first layout; Right Win/Menu to last layout
grp:lctrl_rctrl_switch Left Ctrl to first layout; Right Ctrl to last layout
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift together
grp:alts_toggle Both Alt together
grp:ctrls_toggle Both Ctrl together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:win_space_toggle Win+Space
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu Left Ctrl+Left Win to first layout; Right Ctrl+Menu to second layout
grp:lctrl_lwin_toggle Left Ctrl+Left Win
lv3 Key to choose the 3rd level
lv3:switch Right Ctrl
lv3:menu_switch Menu
lv3:win_switch Any Win
lv3:lwin_switch Left Win
lv3:rwin_switch Right Win
lv3:alt_switch Any Alt
lv3:lalt_switch Left Alt
lv3:ralt_switch Right Alt
lv3:ralt_switch_multikey Right Alt; Shift+Right Alt as Compose
lv3:ralt_alt Right Alt never chooses 3rd level
lv3:enter_switch Enter on keypad
lv3:caps_switch Caps Lock
lv3:bksl_switch Backslash
lv3:lsgt_switch The "&lt; &gt;" key
lv3:caps_switch_latch Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser
lv3:bksl_switch_latch Backslash; acts as onetime lock when pressed together with another 3rd level chooser
lv3:lsgt_switch_latch The "&lt; &gt;" key; acts as onetime lock when pressed together with another 3rd level chooser
ctrl Ctrl position
ctrl:nocaps Caps Lock as Ctrl
ctrl:lctrl_meta Left Ctrl as Meta
ctrl:swapcaps Swap Ctrl and Caps Lock
ctrl:swapcaps_hyper Caps Lock as Ctrl, Ctrl as Hyper
ctrl:ac_ctrl To the left of "A"
ctrl:aa_ctrl At the bottom left
ctrl:rctrl_ralt Right Ctrl as Right Alt
ctrl:menu_rctrl Menu as Right Ctrl
ctrl:swap_lalt_lctl Swap Left Alt with Left Ctrl
ctrl:swap_lwin_lctl Swap Left Win with Left Ctrl
ctrl:swap_rwin_rctl Swap Right Win with Right Ctrl
ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt
grp_led Use keyboard LED to show alternative layout
grp_led:num Num Lock
grp_led:caps Caps Lock
grp_led:scroll Scroll Lock
mod_led Use keyboard LED to indicate modifiers
mod_led:compose Compose
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode arrows and math operators
keypad:future Unicode arrows and math operators on default level
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode arrows and math operators
keypad:future_wang Wang 724 keypad with Unicode arrows and math operators on default level
keypad:hex Hexadecimal
keypad:atm Phone and ATM style
kpdl Numeric keypad Delete behavior
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 only
kpdl:commaoss Four-level key with comma
kpdl:momayyezoss Four-level key with momayyez
kpdl:kposs Four-level key with abstract separators
kpdl:semi Semicolon on third level
caps Caps Lock behavior
caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
caps:internal_nocancel Caps Lock uses internal capitalization; Shift does not affect Caps Lock
caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
caps:shift_nocancel Caps Lock acts as Shift with locking; Shift does not affect Caps Lock
caps:capslock Caps Lock toggles normal capitalization of alphabetic characters
caps:shiftlock Caps Lock toggles Shift Lock (affects all keys)
caps:swapescape Swap Esc and Caps Lock
caps:escape Make Caps Lock an additional Esc
caps:escape_shifted_capslock Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock
caps:backspace Make Caps Lock an additional Backspace
caps:super Make Caps Lock an additional Super
caps:hyper Make Caps Lock an additional Hyper
caps:menu Make Caps Lock an additional Menu key
caps:numlock Make Caps Lock an additional Num Lock
caps:ctrl_modifier Caps Lock is also a Ctrl
caps:none Caps Lock is disabled
altwin Alt and Win behavior
altwin:menu Add the standard behavior to Menu key
altwin:menu_win Menu is mapped to Win
altwin:meta_alt Alt and Meta are on Alt
altwin:alt_win Alt is mapped to Win and the usual Alt
altwin:ctrl_win Ctrl is mapped to Win and the usual Ctrl
altwin:ctrl_alt_win Ctrl is mapped to Alt, Alt to Win
altwin:meta_win Meta is mapped to Win
altwin:left_meta_win Meta is mapped to Left Win
altwin:hyper_win Hyper is mapped to Win
altwin:alt_super_win Alt is mapped to Right Win, Super to Menu
altwin:swap_lalt_lwin Left Alt is swapped with Left Win
altwin:swap_alt_win Alt is swapped with Win
altwin:prtsc_rwin Win is mapped to PrtSc and the usual Win
Compose key Position of Compose key
compose:ralt Right Alt
compose:lwin Left Win
compose:lwin-altgr 3rd level of Left Win
compose:rwin Right Win
compose:rwin-altgr 3rd level of Right Win
compose:menu Menu
compose:menu-altgr 3rd level of Menu
compose:lctrl Left Ctrl
compose:lctrl-altgr 3rd level of Left Ctrl
compose:rctrl Right Ctrl
compose:rctrl-altgr 3rd level of Right Ctrl
compose:caps Caps Lock
compose:caps-altgr 3rd level of Caps Lock
compose:102 The "&lt; &gt;" key
compose:102-altgr 3rd level of the "&lt; &gt;" key
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat Compatibility options
numpad:pc Default numeric keypad keys
numpad:mac Numeric keypad always enters digits (as in macOS)
numpad:microsoft Num Lock on: digits; Shift for arrows. Num Lock off: arrows (as in Windows)
numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead
srvrkeys:none Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server
apple:alupckeys Apple Aluminium emulates Pause, PrtSc, Scroll Lock
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
misc:apl Enable APL overlay characters
shift:both_capslock Both Shift together enable Caps Lock
shift:both_capslock_cancel Both Shift together enable Caps Lock; one Shift key disables it
shift:both_shiftlock Both Shift together enable Shift Lock
keypad:pointerkeys Shift + Num Lock enables PointerKeys
grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk)
grab:debug Allow grab and window tree logging
currencysign Currency signs
eurosign:e Euro on E
eurosign:2 Euro on 2
eurosign:4 Euro on 4
eurosign:5 Euro on 5
rupeesign:4 Rupee on 4
lv5 Key to choose 5th level
lv5:lsgt_switch The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch_lock_cancel The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
nbsp Non-breaking space input
nbsp:none Usual space at any level
nbsp:level2 Non-breaking space at the 2nd level
nbsp:level3 Non-breaking space at the 3rd level
nbsp:level3s Non-breaking space at the 3rd level, nothing at the 4th level
nbsp:level3n Non-breaking space at the 3rd level, thin non-breaking space at the 4th level
nbsp:level4 Non-breaking space at the 4th level
nbsp:level4n Non-breaking space at the 4th level, thin non-breaking space at the 6th level
nbsp:level4nl Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift)
nbsp:zwnj2 Zero-width non-joiner at the 2nd level
nbsp:zwnj2zwj3 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level
nbsp:zwnj2zwj3nb4 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level
nbsp:zwnj2nb3 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level
nbsp:zwnj2nb3s Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, nothing at the 4th level
nbsp:zwnj2nb3zwj4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level
nbsp:zwnj2nb3nnb4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level
nbsp:zwnj3zwj4 Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level
japan Japanese keyboard options
japan:kana_lock Kana Lock key is locking
japan:nicola_f_bs NICOLA-F style Backspace
japan:hztg_escape Make Zenkaku Hankaku an additional Esc
korean Korean Hangul/Hanja keys
korean:ralt_hangul Make right Alt a Hangul key
korean:rctrl_hangul Make right Ctrl a Hangul key
korean:ralt_hanja Make right Alt a Hanja key
korean:rctrl_hanja Make right Ctrl a Hanja key
esperanto Esperanto letters with superscripts
esperanto:qwerty At the corresponding key in a QWERTY layout
esperanto:dvorak At the corresponding key in a Dvorak layout
esperanto:colemak At the corresponding key in a Colemak layout
solaris Old Solaris keycodes compatibility
solaris:sun_compat Sun key compatibility
terminate Key sequence to kill the X server
terminate:ctrl_alt_bksp Ctrl+Alt+Backspace
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,30 @@
//
// Rules for resolving XKB components for use with XFree86
// Copyright 1996 by Joseph Moss
//
! 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:lctrl_meta = +ctrl(lctrl_meta)
ctrl:swapcaps = +ctrl(swapcaps)
ctrl:swapcaps_hyper = +ctrl(swapcaps_hyper)
ctrl:swapcaps_and_switch_layout = +ctrl(swapcaps_and_switch_layout)
ctrl:ctrl_ac = +ctrl(ctrl_ac)
ctrl:ctrl_aa = +ctrl(ctrl_aa)
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Description: XKB configuration file DTD
Author: Sergey V. Udaltsov
-->
<!ELEMENT xkbConfigRegistry (modelList,layoutList,optionList)>
<!ATTLIST xkbConfigRegistry
version CDATA "1.1">
<!ELEMENT modelList (model*)>
<!ELEMENT model (configItem)>
<!ELEMENT layoutList (layout*)>
<!ELEMENT layout (configItem,variantList?)>
<!ELEMENT optionList (group*)>
<!ELEMENT variantList (variant*)>
<!ELEMENT variant (configItem)>
<!ELEMENT group (configItem,option*)>
<!ATTLIST group
allowMultipleSelection (true|false) "false">
<!ELEMENT option (configItem)>
<!ELEMENT configItem (name,shortDescription*,description*,vendor?,countryList?,languageList?,hwList?)>
<!ATTLIST configItem
popularity (standard|exotic) "standard">
<!ELEMENT name (#PCDATA)>
<!ELEMENT shortDescription (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT vendor (#PCDATA)>
<!ELEMENT countryList (iso3166Id+)>
<!ELEMENT iso3166Id (#PCDATA)>
<!ELEMENT languageList (iso639Id+)>
<!ELEMENT iso639Id (#PCDATA)>
<!ELEMENT hwList (hwId+)>
<!ELEMENT hwId (#PCDATA)>

Some files were not shown because too many files have changed in this diff Show More