diff options
author | marha <marha@users.sourceforge.net> | 2010-01-31 14:39:32 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-01-31 14:39:32 +0000 |
commit | fe6927d79e02d01cce20ecf56c8721fcadc2d278 (patch) | |
tree | 7c8ae5a40c3e2cd7825097c06c87f01ab85a24f0 /xorg-server/xkbdata.src/symbols/nokia_vndr | |
parent | c035ec13d812ca609dd31590b86952f14394b5ec (diff) | |
download | vcxsrv-fe6927d79e02d01cce20ecf56c8721fcadc2d278.tar.gz vcxsrv-fe6927d79e02d01cce20ecf56c8721fcadc2d278.tar.bz2 vcxsrv-fe6927d79e02d01cce20ecf56c8721fcadc2d278.zip |
svn merge ^/branches/released
Diffstat (limited to 'xorg-server/xkbdata.src/symbols/nokia_vndr')
-rw-r--r-- | xorg-server/xkbdata.src/symbols/nokia_vndr/Makefile.am | 6 | ||||
-rw-r--r-- | xorg-server/xkbdata.src/symbols/nokia_vndr/Makefile.in | 356 | ||||
-rw-r--r-- | xorg-server/xkbdata.src/symbols/nokia_vndr/makefile | 14 | ||||
-rw-r--r-- | xorg-server/xkbdata.src/symbols/nokia_vndr/rx-44 | 303 | ||||
-rw-r--r-- | xorg-server/xkbdata.src/symbols/nokia_vndr/rx-51 | 491 | ||||
-rw-r--r-- | xorg-server/xkbdata.src/symbols/nokia_vndr/su-8w | 484 |
6 files changed, 1654 insertions, 0 deletions
diff --git a/xorg-server/xkbdata.src/symbols/nokia_vndr/Makefile.am b/xorg-server/xkbdata.src/symbols/nokia_vndr/Makefile.am new file mode 100644 index 000000000..71200ec4d --- /dev/null +++ b/xorg-server/xkbdata.src/symbols/nokia_vndr/Makefile.am @@ -0,0 +1,6 @@ +symbolsdir = $(xkb_base)/symbols/nokia_vndr + +dist_symbols_DATA = \ +rx-44 \ +rx-51 \ +su-8w diff --git a/xorg-server/xkbdata.src/symbols/nokia_vndr/Makefile.in b/xorg-server/xkbdata.src/symbols/nokia_vndr/Makefile.in new file mode 100644 index 000000000..8f508f285 --- /dev/null +++ b/xorg-server/xkbdata.src/symbols/nokia_vndr/Makefile.in @@ -0,0 +1,356 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 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@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@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 = : +subdir = symbols/nokia_vndr +DIST_COMMON = $(dist_symbols_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(symbolsdir)" +dist_symbolsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_symbols_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XKBCOMP = @XKBCOMP@ +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_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +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@ +symbolsdir = $(xkb_base)/symbols/nokia_vndr +dist_symbols_DATA = \ +rx-44 \ +rx-51 \ +su-8w + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign symbols/nokia_vndr/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign symbols/nokia_vndr/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-dist_symbolsDATA: $(dist_symbols_DATA) + @$(NORMAL_INSTALL) + test -z "$(symbolsdir)" || $(MKDIR_P) "$(DESTDIR)$(symbolsdir)" + @list='$(dist_symbols_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_symbolsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(symbolsdir)/$$f'"; \ + $(dist_symbolsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(symbolsdir)/$$f"; \ + done + +uninstall-dist_symbolsDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_symbols_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(symbolsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(symbolsdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @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 $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(symbolsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dist_symbolsDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_symbolsDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-dist_symbolsDATA 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-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am uninstall uninstall-am \ + uninstall-dist_symbolsDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xorg-server/xkbdata.src/symbols/nokia_vndr/makefile b/xorg-server/xkbdata.src/symbols/nokia_vndr/makefile new file mode 100644 index 000000000..f3719bbac --- /dev/null +++ b/xorg-server/xkbdata.src/symbols/nokia_vndr/makefile @@ -0,0 +1,14 @@ +ifeq ($(MAKESERVER),1) +$(error Please do not specify MAKESERVER=1) +endif + +DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\nokia_vndr + +dist_symbols_DATA = \ +rx-44 \ +rx-51 \ +su-8w + +DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%) + +include ..\..\xkbrules.mak diff --git a/xorg-server/xkbdata.src/symbols/nokia_vndr/rx-44 b/xorg-server/xkbdata.src/symbols/nokia_vndr/rx-44 new file mode 100644 index 000000000..515b69eef --- /dev/null +++ b/xorg-server/xkbdata.src/symbols/nokia_vndr/rx-44 @@ -0,0 +1,303 @@ +partial alphanumeric_keys +xkb_symbols "us" { + name[Group1] = "U.S. English"; + + include "nokia_vndr/rx-44(base)" + + key <AC01> { [ a, A, exclam, exclam ] }; + key <AC02> { [ s, S, quotedbl, quotedbl ] }; + key <AC03> { [ d, D, at, at ] }; + key <AC04> { [ f, F, numbersign, numbersign ] }; + key <AC05> { [ g, G, backslash, backslash ] }; + key <AC06> { [ h, H, slash, slash ] }; + key <AC07> { [ j, J, parenleft, parenleft ] }; + key <AC08> { [ k, K, parenright, parenright ] }; + key <AC09> { [ l, L, asterisk, asterisk ] }; + key <AC11> { [ apostrophe, question, question, question ] }; + + key <AB01> { [ z, Z, yen, yen ] }; + key <AB02> { [ x, X, asciicircum, asciicircum ] }; + key <AB03> { [ c, C, asciitilde, asciitilde ] }; + key <AB04> { [ v, V, percent, percent ] }; + key <AB05> { [ b, B, ampersand, ampersand ] }; + key <AB06> { [ n, N, dollar, dollar ] }; + key <AB07> { [ m, M, EuroSign, EuroSign ] }; + key <AC10> { [ semicolon, colon, sterling, sterling ] }; + key <AE11> { [ minus, underscore, underscore, underscore ] }; + key <AE12> { [ plus, equal, equal, equal ] }; + + key <AB08> { [ comma, less, comma, less ] }; + key <AB09> { [ period, greater, period, greater ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "fisenoda" { + name[Group1] = "Finnish/Swedish/Norwegian/Danish"; + + include "nokia_vndr/rx-44(base)" + + key <AC01> { [ a, A, exclam, exclam ] }; + key <AC02> { [ s, S, quotedbl, quotedbl ] }; + key <AC03> { [ d, D, at, at ] }; + key <AC04> { [ f, F, numbersign, numbersign ] }; + key <AC05> { [ g, G, asterisk, asterisk ] }; + key <AC06> { [ h, H, backslash, backslash ] }; + key <AC07> { [ j, J, slash, slash ] }; + key <AC08> { [ k, K, parenleft, parenleft ] }; + key <AC09> { [ l, L, parenright, parenright ] }; + key <AC11> { [ aring, Aring, question, question ] }; + + key <AB01> { [ z, Z, EuroSign, EuroSign ] }; + key <AB02> { [ x, X, asciitilde, asciitilde ] }; + key <AB03> { [ c, C, percent, percent ] }; + key <AB04> { [ v, V, ampersand, ampersand ] }; + key <AB05> { [ b, B, plus, plus ] }; + key <AB06> { [ n, N, less, less ] }; + key <AB07> { [ m, M, greater, greater ] }; + key <AC10> { type="EIGHT_LEVEL", [ oslash, Oslash, equal, equal, odiaeresis, Odiaeresis, equal, equal ] }; + key <AE11> { type="EIGHT_LEVEL", [ ae, AE, apostrophe, apostrophe, adiaeresis, Adiaeresis, apostrophe, apostrophe ] }; + key <AE12> { [ minus, underscore, underscore, underscore ] }; + + key <AB08> { [ comma, semicolon, comma, semicolon ] }; + key <AB09> { [ period, colon, period, colon ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "ptes" { + name[Group1] = "Portuguese/Spanish"; + + include "nokia_vndr/rx-44(base)" + + key <AC01> { [ a, A, exclam, exclam ] }; + key <AC02> { [ s, S, quotedbl, quotedbl ] }; + key <AC03> { [ d, D, at, at ] }; + key <AC04> { [ f, F, numbersign, numbersign ] }; + key <AC05> { [ g, G, asterisk, asterisk ] }; + key <AC06> { [ h, H, backslash, backslash ] }; + key <AC07> { [ j, J, slash, slash ] }; + key <AC08> { [ k, K, parenleft, parenleft ] }; + key <AC09> { [ l, L, parenright, parenright ] }; + key <AC11> { [ dead_acute, dead_grave, dead_diaeresis, dead_diaeresis ] }; + + key <AB01> { [ z, Z, EuroSign, EuroSign ] }; + key <AB02> { [ x, X, percent, percent ] }; + key <AB03> { [ c, C, ampersand, ampersand ] }; + key <AB04> { [ v, V, exclamdown, exclamdown ] }; + key <AB05> { [ b, B, apostrophe, apostrophe ] }; + key <AB06> { [ n, N, plus, plus ] }; + key <AB07> { [ m, M, equal, equal ] }; + key <AC10> { [ ccedilla, Ccedilla, questiondown, questiondown ] }; + key <AE11> { [ ntilde, Ntilde, question, question ] }; + key <AE12> { [ dead_tilde, dead_circumflex, dead_circumflex, dead_circumflex ] }; + + key <AB08> { [ comma, semicolon, minus, minus ] }; + key <AB09> { [ period, colon, underscore, underscore ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "fr" { + name[Group1] = "French"; + + include "nokia_vndr/rx-44(base)" + + key <AD01> { [ a, A, 1, 1 ] }; + key <AD02> { [ z, Z, 2, 2 ] }; + + key <AC01> { [ q, Q, at, at ] }; + key <AC02> { [ s, S, percent, percent ] }; + key <AC03> { [ d, D, ecircumflex, Ecircumflex ] }; + key <AC04> { [ f, F, eacute, Eacute ] }; + key <AC05> { [ g, G, egrave, Egrave ] }; + key <AC06> { [ h, H, oe, OE ] }; + key <AC07> { [ j, J, parenleft, parenleft ] }; + key <AC08> { [ k, K, parenright, parenright ] }; + key <AC09> { [ l, L, agrave, Agrave ] }; + key <AC11> { [ m, M, ugrave, Ugrave ] }; + + key <AB01> { [ w, w, EuroSign, EuroSign ] }; + key <AB02> { [ x, X, numbersign, numbersign ] }; + key <AB03> { [ c, C, ccedilla, Ccedilla ] }; + key <AB04> { [ v, V, plus, plus ] }; + key <AB05> { [ b, B, equal, equal ] }; + key <AB06> { [ n, N, quotedbl, quotedbl ] }; + key <AB07> { [ comma, question, backslash, backslash ] }; + key <AC10> { [ semicolon, period, minus, minus ] }; + key <AE11> { [ colon, slash, underscore, underscore ] }; + key <AE12> { [ apostrophe, apostrophe, mu, mu ] }; + + key <AB08> { [ less, greater, less, greater ] }; + key <AB09> { [ exclam, section, asterisk, asterisk ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "de" { + name[Group1] = "German"; + + include "nokia_vndr/rx-44(base)" + + key <AD06> { [ z, Z, 6, 6 ] }; + + key <AC01> { [ a, A, exclam, exclam ] }; + key <AC02> { [ s, S, quotedbl, quotedbl ] }; + key <AC03> { [ d, D, at, at ] }; + key <AC04> { [ f, F, numbersign, numbersign ] }; + key <AC05> { [ g, G, percent, percent ] }; + key <AC06> { [ h, H, backslash, backslash ] }; + key <AC07> { [ j, J, slash, slash ] }; + key <AC08> { [ k, K, parenleft, parenleft ] }; + key <AC09> { [ l, L, parenright, parenright ] }; + key <AC11> { [ udiaeresis, Udiaeresis, question, question ] }; + + key <AB01> { [ y, Y, EuroSign, EuroSign ] }; + key <AB02> { [ x, X, asciitilde, asciitilde ] }; + key <AB03> { [ c, C, asterisk, asterisk ] }; + key <AB04> { [ v, V, ampersand, ampersand ] }; + key <AB05> { [ b, B, plus, plus ] }; + key <AB06> { [ n, N, less, less ] }; + key <AB07> { [ m, M, greater, greater ] }; + key <AC10> { [ odiaeresis, Odiaeresis, equal, equal ] }; + key <AE11> { [ adiaeresis, Adiaeresis, apostrophe, apostrophe ] }; + key <AE12> { [ minus, underscore, ssharp, ssharp ] }; + + key <AB08> { [ comma, semicolon, comma, semicolon ] }; + key <AB09> { [ period, colon, period, colon ] }; +}; + + +// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons. +partial alphanumeric_keys +xkb_symbols "ru" { + name[Group1] = "Russian"; + + include "nokia_vndr/rx-44(base)" + + key <AD01> { type="EIGHT_LEVEL", [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] }; + key <AD02> { type="EIGHT_LEVEL", [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] }; + key <AD03> { type="EIGHT_LEVEL", [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] }; + key <AD04> { type="EIGHT_LEVEL", [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] }; + key <AD05> { type="EIGHT_LEVEL", [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] }; + key <AD06> { type="EIGHT_LEVEL", [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] }; + key <AD07> { type="EIGHT_LEVEL", [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] }; + key <AD08> { type="EIGHT_LEVEL", [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] }; + key <AD09> { type="EIGHT_LEVEL", [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] }; + key <AD10> { type="EIGHT_LEVEL", [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] }; + + key <AC01> { type="EIGHT_LEVEL", [ a, A, exclam, exclam, Cyrillic_ef, Cyrillic_EF, exclam, exclam ] }; + key <AC02> { type="EIGHT_LEVEL", [ s, S, quotedbl, quotedbl, Cyrillic_yeru, Cyrillic_YERU, quotedbl, quotedbl ] }; + key <AC03> { type="EIGHT_LEVEL", [ d, D, at, at, Cyrillic_ve, Cyrillic_VE, at, at ] }; + key <AC04> { type="EIGHT_LEVEL", [ f, F, numbersign, numbersign, Cyrillic_a, Cyrillic_A, numbersign, numbersign ] }; + key <AC05> { type="EIGHT_LEVEL", [ g, G, backslash, backslash, Cyrillic_pe, Cyrillic_PE, backslash, backslash ] }; + key <AC06> { type="EIGHT_LEVEL", [ h, H, slash, slash, Cyrillic_er, Cyrillic_ER, slash, slash ] }; + key <AC07> { type="EIGHT_LEVEL", [ j, J, parenleft, parenleft, Cyrillic_o, Cyrillic_O, parenleft, parenleft ] }; + key <AC08> { type="EIGHT_LEVEL", [ k, K, parenright, parenright, Cyrillic_el, Cyrillic_EL, parenright, parenright ] }; + key <AC09> { type="EIGHT_LEVEL", [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] }; + key <AC11> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, semicolon, semicolon, Cyrillic_zhe, Cyrillic_ZHE, semicolon, semicolon ] }; + + key <AB01> { type="EIGHT_LEVEL", [ z, Z, underscore, underscore, Cyrillic_ya, Cyrillic_YA, minus, minus ] }; + key <AB02> { type="EIGHT_LEVEL", [ x, X, percent, percent, Cyrillic_che, Cyrillic_CHE, percent, percent ] }; + key <AB03> { type="EIGHT_LEVEL", [ c, C, 0x1002116, 0x1002116, Cyrillic_es, Cyrillic_ES, 0x1002116, 0x1002116 ] }; + key <AB04> { type="EIGHT_LEVEL", [ v, V, equal, equal, Cyrillic_em, Cyrillic_EM, equal, equal ] }; + key <AB05> { type="EIGHT_LEVEL", [ b, B, ampersand, ampersand, Cyrillic_i, Cyrillic_I, ampersand, ampersand ] }; + key <AB06> { type="EIGHT_LEVEL", [ n, N, asterisk, asterisk, Cyrillic_te, Cyrillic_TE, asterisk, asterisk ] }; + key <AB07> { type="EIGHT_LEVEL", [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] }; + key <AC10> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, minus, minus, Cyrillic_be, Cyrillic_BE, minus, minus ] }; + key <AE11> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, question, question, Cyrillic_yu, Cyrillic_YU, question, question ] }; + key <AE12> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + + key <AB08> { type="EIGHT_LEVEL", [ period, comma, period, comma, period, comma, period, comma ] }; + key <AB09> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, Cyrillic_io, Cyrillic_IO, Cyrillic_e, Cyrillic_E, Cyrillic_io, Cyrillic_IO ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "it" { + name[Group1] = "Italian"; + + include "nokia_vndr/rx-44(base)" + + key <AC01> { [ a, A, exclam, exclam ] }; + key <AC02> { [ s, S, quotedbl, quotedbl ] }; + key <AC03> { [ d, D, at, at ] }; + key <AC04> { [ f, F, numbersign, numbersign ] }; + key <AC05> { [ g, G, asterisk, asterisk ] }; + key <AC06> { [ h, H, backslash, backslash ] }; + key <AC07> { [ j, J, slash, slash ] }; + key <AC08> { [ k, K, parenleft, parenleft ] }; + key <AC09> { [ l, L, parenright, parenright ] }; + key <AC11> { [ apostrophe, question, igrave, Igrave ] }; + + key <AB01> { [ z, Z, EuroSign, EuroSign ] }; + key <AB02> { [ x, X, asciitilde, asciitilde ] }; + key <AB03> { [ c, C, ampersand, ampersand ] }; + key <AB04> { [ v, V, equal, equal ] }; + key <AB05> { [ b, B, less, less ] }; + key <AB06> { [ n, N, greater, greater ] }; + key <AB07> { [ m, M, plus, plus ] }; + key <AC10> { [ eacute, Eacute, ograve, Ograve ] }; + key <AE11> { [ egrave, Egrave, agrave, Agrave ] }; + key <AE12> { [ minus, underscore, ugrave, Ugrave ] }; + + key <AB08> { [ comma, semicolon, comma, semicolon ] }; + key <AB09> { [ period, colon, period, colon ] }; +}; + +partial default alphanumeric_keys +xkb_symbols "base" { + key <AD01> { [ q, Q, 1, 1 ] }; + key <AD02> { [ w, W, 2, 2 ] }; + key <AD03> { [ e, E, 3, 3 ] }; + key <AD04> { [ r, R, 4, 4 ] }; + key <AD05> { [ t, T, 5, 5 ] }; + key <AD06> { [ y, Y, 6, 6 ] }; + key <AD07> { [ u, U, 7, 7 ] }; + key <AD08> { [ i, I, 8, 8 ] }; + key <AD09> { [ o, O, 9, 9 ] }; + key <AD10> { [ p, P, 0, 0 ] }; + key <BKSP> { [ BackSpace, BackSpace, BackSpace, BackSpace ] }; + + // broken UI spec. + key <RTRN> { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter ] }; + + key <COMP> { [ Multi_key, Multi_key, Multi_key, Multi_key ] }; + key <LFSH> { [ Shift_L, Shift_L, Shift_L, Shift_L ] }; + key <FN> { [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift ] }; + key <SPCE> { [ space, space, space, space ] }; + key <RCTL> { [ Control_R, Control_R, Control_R, Control_R ] }; + key <TAB> { [ Tab, Tab, Tab, Tab ] }; + + modifier_map Shift { Shift_L }; + modifier_map Mod5 { ISO_Level3_Shift }; + modifier_map Control { Control_R }; + + key <KPEN> { [ Return ] }; + key <UP> { [ Up ] }; + key <DOWN> { [ Down ] }; + key <LEFT> { [ Left ] }; + key <RGHT> { [ Right ] }; + + key <ESC> { [ Escape ] }; + key <FK01> { [ F1 ] }; + key <FK02> { [ F2 ] }; + key <FK03> { [ F3 ] }; + key <FK04> { [ F4 ] }; + key <FK05> { [ F5 ] }; + key <FK06> { [ F6 ] }; + key <FK07> { [ F7 ] }; + key <FK08> { [ F8 ] }; + key <FK09> { [ F9 ] }; + key <FK10> { [ F10 ] }; + key <FK11> { [ F11 ] }; + key <FK12> { [ F12 ] }; + + // generated from the headset, must always be in the map. + key <I29> { [ XF86Phone ] }; +}; diff --git a/xorg-server/xkbdata.src/symbols/nokia_vndr/rx-51 b/xorg-server/xkbdata.src/symbols/nokia_vndr/rx-51 new file mode 100644 index 000000000..fd98fbf28 --- /dev/null +++ b/xorg-server/xkbdata.src/symbols/nokia_vndr/rx-51 @@ -0,0 +1,491 @@ +default partial alphanumeric_keys +xkb_symbols "common" { + include "nokia_vndr/rx-51(common_keys)" + include "nokia_vndr/rx-51(modifiers)" + + // This section should not be included by any other section. + // It's referenced only once by rule file to allow multiple layout configurations. + + // More than one layout at the same time could be set for instance as follows: + // setxkbmap -rules evdev \ + // -model nokiarx51 \ + // -option grp:ctrl_shift_toggle \ + // -layout us,cz \ + // -variant ",qwerty" + + // Notice the similarity: + // "pc+us+cz(qwerty):2+grp:XYZ" vs. + // "nokia_vndr/rx-51(common)+nokia_vndr/rx-51(us)+nokia_vndr/rx-51(cz_qwerty):2+grp:XYZ" + // where XYZ is one of xkb_symbols section usually located in file symbols/group. + + // Bear in mind that option XYZ could replace current keys configuration!!! + + // For instance using symbols/group(ctrl_shift_toggle) redefines LCTL and LFSH keys + // which may disallow opening of virtual symbol table (Multi_key). + // Fortunately the Multi_key is defined in 3rd and 4th level a ctrl_shift_toggle + // redefines first two levels only. But RX-51 has not right Ctrl nor Shift therefore + // pressing Ctrl+Shift will switch to previous layout, not to the next one. + + // For RX-51 device there is a lot of restrictions if more than one layout is + // is configured at the same time because some modifiers and special cases are + // handled by hildon layer (especially with eight-level layout): + // - settings may be done from terminal only (GUI doesn't and won't support it) + // - virtual symbol table is not updated according to current layout + // - for unknown reasons the eight-level layout (nordic,ru) works properly + // only if it's configured as first layout (e.g. "ru,us,cz" not "us,cz,ru") + // otherwise it's not possible to access levels 5-8 + // - Ctrl+Space related problems: + // - If eight-level layout is used as first layout one of eight-level layouts has to + // be also chosen in GUI - otherwise the Ctrl+Space "switch" is disabled + // - Ctrl+Space has no effect if only four-level layouts are chosen + // (don't forget the layout configured in GUI - despite of it's not reachable) + // - a few keys in 2nd layer could be mixed with other layouts when Ctrl+Space is "turned on" (why?) + // in case eight- and four-level layouts are configured simultaneously + // - Ctrl+Space is "turned on" by default and has to be "turned off" for four-level layouts + // in case eight- and four-level layouts are configured simultaneously + // - four-level layout on first place doesn't work at all when Ctrl+Space is "turned on" + // in case the 2nd, 3rd or 4th layout is eight-level layout +}; + +//////////////////////////////////////////////////////////////////////////////// + +partial alphanumeric_keys +xkb_symbols "us" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; +}; + + + +partial alphanumeric_keys +xkb_symbols "pl" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "Polish"; +}; + + + +partial alphanumeric_keys +xkb_symbols "fise" { + include "nokia_vndr/rx-51(nordic_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Finnish/Swedish"; + + // 2. row + key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] }; + key <UP> { [ adiaeresis, Adiaeresis, question, question ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "dano" { + include "nokia_vndr/rx-51(nordic_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Danish/Norwegian"; + + // 2. row + key <AB09> { [ oslash, Oslash, exclam, exclam ] }; + key <UP> { [ ae, AE, question, question ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "nordic" { + include "nokia_vndr/rx-51(nordic_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Danish/Finnish/Norwegian/Swedish"; + + key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; + + // 2. row + key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam, oslash, Oslash, exclam, exclam ] }; + key <UP> { [ adiaeresis, Adiaeresis, question, question, ae, AE, question, question ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "ptes" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Portuguese/Spanish"; + + // 1. row + key <AB08> { [ dead_acute, dead_acute, dead_grave, dead_grave ] }; + + // 2. row + key <AC05> { [ g, G, exclamdown, exclamdown ] }; + key <AC06> { [ h, H, exclam, exclam ] }; + key <AC07> { [ j, J, questiondown, questiondown ] }; + key <AC08> { [ k, K, question, question ] }; + key <AC09> { [ l, L, dead_diaeresis, dead_diaeresis ] }; + key <AB09> { [ ntilde, Ntilde, dead_tilde, dead_tilde ] }; + key <UP> { [ ccedilla, Ccedilla, dead_circumflex,dead_circumflex ] }; + + // 3. row + key <AB01> { [ z, Z, parenleft, parenleft ] }; + key <AB02> { [ x, X, parenright, parenright ] }; + key <AB03> { [ c, C, slash, slash ] }; + key <AB04> { [ v, V, quotedbl, quotedbl ] }; + key <AB05> { [ b, B, apostrophe, apostrophe ] }; + key <AB06> { [ n, N, colon, colon ] }; + key <AB07> { [ m, M, semicolon, semicolon ] }; + key <LEFT> { [ period, comma, comma, comma ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "fr" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "French"; + + // 1. row + key <AD01> { [ a, A, 1, 1 ] }; + key <AD02> { [ z, Z, 2, 2 ] }; + key <AB08> { [ agrave, Agrave, ccedilla, Ccedilla ] }; + + // 2. row + key <AC01> { [ q, Q, asterisk, asterisk ] }; + key <AC02> { [ s, S, plus, plus ] }; + key <AC03> { [ d, D, numbersign, numbersign ] }; + key <AC04> { [ f, F, minus, minus ] }; + key <AC05> { [ g, G, underscore, underscore ] }; + key <AC06> { [ h, H, exclam, exclam ] }; + key <AC07> { [ j, J, question, question ] }; + key <AC08> { [ k, K, colon, colon ] }; + key <AC09> { [ l, L, dead_circumflex,dead_circumflex ] }; + key <AB09> { [ m, M, ugrave, Ugrave ] }; + key <UP> { [ eacute, Eacute, egrave, Egrave ] }; + + // 3. row + key <AB01> { [ w, W, EuroSign, EuroSign ] }; + key <AB03> { [ c, C, parenleft, parenleft ] }; + key <AB04> { [ v, V, parenright, parenright ] }; + key <AB05> { [ b, B, slash, slash ] }; + key <AB07> { [ comma, comma, apostrophe, apostrophe ] }; + key <LEFT> { [ semicolon, period, period, period ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "de" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "German"; + + // 1. row + key <AD06> { [ z, Z, 6, 6 ] }; + key <AB08> { [ udiaeresis, Udiaeresis, ssharp, ssharp ] }; + + // 2. row + key <AC08> { [ k, K, semicolon, semicolon ] }; + key <AC09> { [ l, L, colon, colon ] }; + key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] }; + key <UP> { [ adiaeresis, Adiaeresis, question, question ] }; + + // 3. row + key <AB01> { [ y, Y, EuroSign, EuroSign ] }; + key <AB03> { [ c, C, equal, equal ] }; + key <LEFT> { [ period, comma, comma, comma ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "ch" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Swiss"; + + // 1. row + key <AD06> { [ z, Z, 6, 6 ] }; + key <AB08> { [ udiaeresis, Udiaeresis, egrave, Egrave ] }; + + // 2. row + key <AC06> { [ h, H, equal, equal ] }; + key <AC07> { [ j, J, parenleft, parenleft ] }; + key <AC08> { [ k, K, parenright, parenright ] }; + key <AC09> { [ l, L, colon, colon ] }; + key <AB09> { [ odiaeresis, Odiaeresis, eacute, Aacute ] }; + key <UP> { [ adiaeresis, Adiaeresis, agrave, Agrave ] }; + + // 3. row + key <AB01> { [ y, Y, question, question ] }; + key <AB02> { [ x, X, exclam, exclam ] }; + key <AB03> { [ c, C, ccedilla, Ccedilla ] }; + key <LEFT> { [ period, comma, comma, comma ] }; +}; + + + +// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons. +partial alphanumeric_keys +xkb_symbols "ru" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Russian"; + + key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; + + // 1. row + key <AD01> { [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] }; + key <AD02> { [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] }; + key <AD03> { [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] }; + key <AD04> { [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] }; + key <AD05> { [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] }; + key <AD06> { [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] }; + key <AD07> { [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] }; + key <AD08> { [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] }; + key <AD09> { [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] }; + key <AD10> { [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] }; + key <AB08> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + + // 2. row + key <AC01> { [ a, A, asterisk, asterisk, Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] }; + key <AC02> { [ s, S, plus, plus, Cyrillic_yeru, Cyrillic_YERU, plus, plus ] }; + key <AC03> { [ d, D, numbersign, numbersign, Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] }; + key <AC04> { [ f, F, minus, minus, Cyrillic_a, Cyrillic_A, minus, minus ] }; + key <AC05> { [ g, G, underscore, underscore, Cyrillic_pe, Cyrillic_PE, underscore, underscore ] }; + key <AC06> { [ h, H, exclam, exclam, Cyrillic_er, Cyrillic_ER, exclam, exclam ] }; + key <AC07> { [ j, J, question, question, Cyrillic_o, Cyrillic_O, question, question ] }; + key <AC08> { [ k, K, semicolon, semicolon, Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] }; + key <AC09> { [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] }; + key <AB09> { [ comma, comma, comma, comma, Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] }; + key <UP> { [ period, period, period, period, Cyrillic_e, Cyrillic_E, period, period ] }; + + // 3. row + key <AB01> { [ z, Z, dollar, dollar, Cyrillic_ya, Cyrillic_YA, dollar, dollar ] }; + key <AB02> { [ x, X, EuroSign, EuroSign, Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] }; + key <AB03> { [ c, C, slash, slash, Cyrillic_es, Cyrillic_ES, slash, slash ] }; + key <AB04> { [ v, V, parenleft, parenleft, Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] }; + key <AB05> { [ b, B, parenright, parenright, Cyrillic_i, Cyrillic_I, parenright, parenright ] }; + key <AB06> { [ n, N, quotedbl, quotedbl, Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] }; + key <AB07> { [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] }; + key <LEFT> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU, Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "it" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Italian"; + + // 1. row + key <AB08> { [ egrave, Egrave, eacute, Eacute ] }; + + // 2. row + key <AC06> { [ h, H, semicolon, semicolon ] }; + key <AC07> { [ j, J, colon, colon ] }; + key <AC08> { [ k, K, exclam, exclam ] }; + key <AC09> { [ l, L, question, question ] }; + key <AB09> { [ ograve, Ograve, igrave, Igrave ] }; + key <UP> { [ agrave, Agrave, ugrave, Ugrave ] }; + + // 3. row + key <AB01> { [ z, Z, EuroSign, EuroSign ] }; + key <AB02> { [ x, X, parenleft, parenleft ] }; + key <AB03> { [ c, C, parenright, parenright ] }; + key <LEFT> { [ period, comma, comma, comma ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "cz" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Czech"; + + // 1. row + key <AD06> { [ z, Z, 6, 6 ] }; + key <AB08> { [ dead_acute, dead_acute, sterling, sterling ] }; + + // 2. row + key <AC08> { [ k, K, semicolon, semicolon ] }; + key <AC09> { [ l, L, colon, colon ] }; + key <AB09> { [ uring, Uring, EuroSign, EuroSign ] }; + key <UP> { [ dead_caron, dead_caron, dollar, dollar ] }; + + // 3. row + key <AB01> { [ y, Y, equal, equal ] }; + key <AB02> { [ x, X, slash, slash ] }; + key <AB03> { [ c, C, backslash, backslash ] }; + key <AB04> { [ v, V, apostrophe, apostrophe ] }; + key <AB05> { [ b, B, quotedbl, quotedbl ] }; + key <AB06> { [ n, N, exclam, exclam ] }; + key <AB07> { [ m, M, question, question ] }; + key <LEFT> { [ period, comma, comma, comma ] }; +}; + +partial alphanumeric_keys +xkb_symbols "cz_qwerty" { + include "nokia_vndr/rx-51(cz)" + + name[Group1] = "Czech - qwerty"; + + // Do not use the layout "cz_qwerty" directly if it is the only layout and compat rules enabled. + // There is one compat rule that converts "cz_qwerty" to "pc+cz(qwerty)" which is not correct for RX-51. + // Use either the layout "cz(qwerty)" or the general "cz" with variant "qwerty". + + // 1. row + key <AD06> { [ y, Y, 6, 6 ] }; + + // 3. row + key <AB01> { [ z, Z, percent, percent ] }; +}; + + + +//////////////////////////////////////////////////////////////////////////////// + +partial hidden alphanumeric_keys +xkb_symbols "nordic_base" { + include "nokia_vndr/rx-51(english_base)" + + // 1. row + key <AB08> { [ aring, Aring, equal, equal ] }; + + // 2. row + key <AC08> { [ k, K, semicolon, semicolon ] }; + key <AC09> { [ l, L, colon, colon ] }; + + // 3. row + key <AB01> { [ z, Z, EuroSign, EuroSign ] }; + key <AB03> { [ c, C, sterling, sterling ] }; + key <LEFT> { [ period, comma, comma, comma ] }; +}; + +partial hidden alphanumeric_keys +xkb_symbols "english_base" { + + // 1. row + key <AD01> { [ q, Q, 1, 1 ] }; + key <AD02> { [ w, W, 2, 2 ] }; + key <AD03> { [ e, E, 3, 3 ] }; + key <AD04> { [ r, R, 4, 4 ] }; + key <AD05> { [ t, T, 5, 5 ] }; + key <AD06> { [ y, Y, 6, 6 ] }; + key <AD07> { [ u, U, 7, 7 ] }; + key <AD08> { [ i, I, 8, 8 ] }; + key <AD09> { [ o, O, 9, 9 ] }; + key <AD10> { [ p, P, 0, 0 ] }; + key <AB08> { [ comma, semicolon, equal, equal ] }; + + // 2. row + key <AC01> { [ a, A, asterisk, asterisk ] }; + key <AC02> { [ s, S, plus, plus ] }; + key <AC03> { [ d, D, numbersign, numbersign ] }; + key <AC04> { [ f, F, minus, minus ] }; + key <AC05> { [ g, G, underscore, underscore ] }; + key <AC06> { [ h, H, parenleft, parenleft ] }; + key <AC07> { [ j, J, parenright, parenright ] }; + key <AC08> { [ k, K, ampersand, ampersand ] }; + key <AC09> { [ l, L, exclam, exclam ] }; + key <AB09> { [ period, colon, question, question ] }; + + // 3. row + key <AB01> { [ z, Z, sterling, sterling ] }; + key <AB02> { [ x, X, dollar, dollar ] }; + key <AB03> { [ c, C, EuroSign, EuroSign ] }; + key <AB04> { [ v, V, slash, slash ] }; + key <AB05> { [ b, B, backslash, backslash ] }; + key <AB06> { [ n, N, quotedbl, quotedbl ] }; + key <AB07> { [ m, M, apostrophe, apostrophe ] }; + key <SPCE> { [ space, space, at, at ] }; +}; + +partial hidden alphanumeric_keys +xkb_symbols "common_keys" { + // all other common keys + + key <BKSP> { [ BackSpace ] }; + key <TAB> { [ Tab ] }; + + // broken UI spec. + key <RTRN> { [ KP_Enter ] }; + + key <KPEN> { [ Return ] }; + key <ESC> { [ Escape ] }; + + key <FK01> { [ F1 ] }; + key <FK02> { [ F2 ] }; + key <FK03> { [ F3 ] }; + key <FK04> { [ F4 ] }; + key <FK05> { [ F5 ] }; + key <FK06> { [ F6 ] }; + + // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically + // on left/right and up/down in landscape/portrait orientation. This does + // not feel natural for the user and therefore we want the VOL+/VOL- keys + // map to -/+. + // + // The only exception is an active call in portrait mode where we want to + // use the real meanings of the keys. This special case and management of + // +/- keys in general is handled in maemo-statusmenu-volume. + key <FK07> { [ F8 ] }; + key <FK08> { [ F7 ] }; + + key <FK09> { [ F9 ] }; + key <FK10> { [ F10 ] }; + key <FK11> { [ F11 ] }; +}; + +partial hidden alphanumeric_keys modifier_keys +xkb_symbols "modifiers" { + // Shift switches between current level and level+1 + key <LFSH> { + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ Shift_L ] + }; + modifier_map Shift { Shift_L }; + + // Fn+Ctrl virtual symbol table (Multi_key) + // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon) + key <LCTL> { + type[Group1] = "FOUR_LEVEL", + symbols[Group1] = [ Control_L, Control_L, Multi_key, Multi_key ] + }; + modifier_map Control { Control_L }; + + // Fn key (right alt) switches to 3rd level + include "level3(ralt_switch)" +}; + +partial hidden alphanumeric_keys +xkb_symbols "arrows_2btns" { + // rx-51 specific arrows mapping + // normal 2nd level must not be enumerated to allow text selection with Shift key + key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, Up ] }; + key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, Down ] }; +}; + +partial hidden alphanumeric_keys +xkb_symbols "arrows_4btns" { + // standard arrows mapping + // normal 2nd level must not be enumerated to allow text selection with Shift key + key <UP> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Up ] }; + key <LEFT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Left ] }; + key <DOWN> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Down ] }; + key <RGHT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Right ] }; +}; diff --git a/xorg-server/xkbdata.src/symbols/nokia_vndr/su-8w b/xorg-server/xkbdata.src/symbols/nokia_vndr/su-8w new file mode 100644 index 000000000..6962aa971 --- /dev/null +++ b/xorg-server/xkbdata.src/symbols/nokia_vndr/su-8w @@ -0,0 +1,484 @@ +partial alphanumeric_keys default +xkb_symbols "no" { + name[Group1]= "Norwegian/Danish"; + + include "nokia_vndr/su-8w(base)" + + key <AE01> { [ 1, exclam, dead_circumflex ] }; + key <AE02> { [ 2, quotedbl, at ] }; + key <AE03> { [ 3, numbersign, EuroSign ] }; + key <AE04> { [ 4, currency, dollar ] }; + key <AE05> { [ 5, percent, sterling ] }; + key <AE06> { [ 6, ampersand ] }; + key <AE07> { [ 7, slash, braceleft ] }; + key <AE08> { [ 8, parenleft, bracketleft ] }; + key <AE09> { [ 9, parenright, bracketright ] }; + key <AE10> { [ 0, equal, braceright ] }; + key <AE11> { [ plus, question ] }; + key <AE12> { [ dead_acute, dead_grave, backslash ] }; + + key <AD01> { [ q, Q, dead_circumflex ] }; + key <AD02> { [ w, W, at ] }; + key <AD03> { [ e, E, EuroSign ] }; + key <AD04> { [ r, R, dollar ] }; + key <AD05> { [ t, T, sterling ] }; + key <AD06> { [ y, Y ] }; + key <AD07> { [ u, U, braceleft ] }; + key <AD08> { [ i, I, bracketleft ] }; + key <AD09> { [ o, O, bracketright ] }; + key <AD10> { [ p, P, braceright ] }; + key <AD11> { [ aring, Aring ] }; + key <AD12> { [ ssharp, ssharp, backslash ] }; + + key <AC01> { [ a, A ] }; + key <AC02> { [ s, S ] }; + key <AC03> { [ d, D ] }; + key <AC04> { [ f, F ] }; + key <AC05> { [ g, G ] }; + key <AC06> { [ h, H ] }; + key <AC07> { [ j, J ] }; + key <AC08> { [ k, K ] }; + key <AC09> { [ l, L ] }; + key <AC10> { [ oslash, Ooblique ] }; + key <AC11> { [ ae, AE ] }; + + key <AB01> { [ z, Z ] }; + key <AB02> { [ x, X ] }; + key <AB03> { [ c, C ] }; + key <AB04> { [ v, V ] }; + key <AB05> { [ b, B ] }; + key <AB06> { [ n, N ] }; + key <AB07> { [ m, M ] }; + key <AB08> { [ comma, semicolon, less ] }; + key <AB09> { [ period, colon, greater ] }; + key <AB10> { [ minus, underscore, dead_diaeresis ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "no_nodeadkeys" { + name[Group1] = "Norwegian/Danish (no dead keys)"; + + include "nokia_vndr/su-8w(no)" + + key <AE01> { [ 1, exclam, asciicircum ] }; + key <AE12> { [ acute, grave, backslash ] }; + key <AD01> { [ q, Q, asciicircum ] }; +}; + +partial alphanumeric_keys default +xkb_symbols "dk" { + include "nokia_vndr/su-8w(no)" +}; + +partial alphanumeric_keys default +xkb_symbols "dk_nodeadkeys" { + include "nokia_vndr/su-8w(no_nodeadkeys)" +}; + + + +partial alphanumeric_keys default +xkb_symbols "de" { + name[Group1]= "German"; + include "nokia_vndr/su-8w(base)" + + key <AE01> { [ 1, exclam, dead_circumflex ] }; + key <AE02> { [ 2, quotedbl, at ] }; + key <AE03> { [ 3, numbersign, EuroSign ] }; + key <AE04> { [ 4, currency, dollar ] }; + key <AE05> { [ 5, percent, sterling ] }; + key <AE06> { [ 6, ampersand ] }; + key <AE07> { [ 7, slash, braceleft ] }; + key <AE08> { [ 8, parenleft, bracketleft ] }; + key <AE09> { [ 9, parenright, bracketright ] }; + key <AE10> { [ 0, equal, braceright ] }; + key <AE11> { [ plus, question ] }; + key <AE12> { [ dead_acute, dead_grave, backslash ] }; + + key <AD01> { [ q, Q, dead_circumflex ] }; + key <AD02> { [ w, W, at ] }; + key <AD03> { [ e, E, EuroSign ] }; + key <AD04> { [ r, R, dollar ] }; + key <AD05> { [ t, T, sterling ] }; + key <AD06> { [ z, Z ] }; + key <AD07> { [ u, U, braceleft ] }; + key <AD08> { [ i, I, bracketleft ] }; + key <AD09> { [ o, O, bracketright ] }; + key <AD10> { [ p, P, braceright ] }; + key <AD11> { [ udiaeresis, Udiaeresis ] }; + key <AD12> { [ ssharp, ssharp, backslash ] }; + + key <AC01> { [ a, A ] }; + key <AC02> { [ s, S ] }; + key <AC03> { [ d, D ] }; + key <AC04> { [ f, F ] }; + key <AC05> { [ g, G ] }; + key <AC06> { [ h, H ] }; + key <AC07> { [ j, J ] }; + key <AC08> { [ k, K ] }; + key <AC09> { [ l, L ] }; + key <AC10> { [ odiaeresis, Odiaeresis ] }; + key <AC11> { [ adiaeresis, Adiaeresis ] }; + + key <AB01> { [ y, Y ] }; + key <AB02> { [ x, X ] }; + key <AB03> { [ c, C ] }; + key <AB04> { [ v, V ] }; + key <AB05> { [ b, B ] }; + key <AB06> { [ n, N ] }; + key <AB07> { [ m, M ] }; + key <AB08> { [ comma, semicolon, less ] }; + key <AB09> { [ period, colon, greater ] }; + // XXX Inexplicably, the diaeresis is dead on other layouts, but not + // German. Go figure. + key <AB10> { [ minus, underscore, diaeresis ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "de_nodeadkeys" { + name[Group1] = "German (no dead keys)"; + + include "nokia_vndr/su-8w(de)" + + key <AE01> { [ 1, exclam, asciicircum ] }; + key <AE12> { [ acute, grave, backslash ] }; + key <AD01> { [ q, Q, asciicircum ] }; +}; + + + +partial alphanumeric_keys default +xkb_symbols "se" { + name[Group1]= "Finnish/Swedish"; + + include "nokia_vndr/su-8w(base)" + + key <AE01> { [ 1, exclam, dead_circumflex ] }; + key <AE02> { [ 2, quotedbl, at ] }; + key <AE03> { [ 3, numbersign, EuroSign ] }; + key <AE04> { [ 4, currency, dollar ] }; + key <AE05> { [ 5, percent, sterling ] }; + key <AE06> { [ 6, ampersand ] }; + key <AE07> { [ 7, slash, braceleft ] }; + key <AE08> { [ 8, parenleft, bracketleft ] }; + key <AE09> { [ 9, parenright, bracketright ] }; + key <AE10> { [ 0, equal, braceright ] }; + key <AE11> { [ plus, question ] }; + key <AE12> { [ dead_acute, dead_grave, backslash ] }; + + key <AD01> { [ q, Q, dead_circumflex ] }; + key <AD02> { [ w, W, at ] }; + key <AD03> { [ e, E, EuroSign ] }; + key <AD04> { [ r, R, dollar ] }; + key <AD05> { [ t, T, sterling ] }; + key <AD06> { [ y, Y ] }; + key <AD07> { [ u, U, braceleft ] }; + key <AD08> { [ i, I, bracketleft ] }; + key <AD09> { [ o, O, bracketright ] }; + key <AD10> { [ p, P, braceright ] }; + key <AD11> { [ aring, Aring ] }; + key <AD12> { [ ssharp, ssharp, backslash ] }; + + key <AC01> { [ a, A ] }; + key <AC02> { [ s, S ] }; + key <AC03> { [ d, D ] }; + key <AC04> { [ f, F ] }; + key <AC05> { [ g, G ] }; + key <AC06> { [ h, H ] }; + key <AC07> { [ j, J ] }; + key <AC08> { [ k, K ] }; + key <AC09> { [ l, L ] }; + key <AC10> { [ odiaeresis, Odiaeresis ] }; + key <AC11> { [ adiaeresis, Adiaeresis ] }; + + key <AB01> { [ z, Z ] }; + key <AB02> { [ x, X ] }; + key <AB03> { [ c, C ] }; + key <AB04> { [ v, V ] }; + key <AB05> { [ b, B ] }; + key <AB06> { [ n, N ] }; + key <AB07> { [ m, M ] }; + key <AB08> { [ comma, semicolon, less ] }; + key <AB09> { [ period, colon, greater ] }; + key <AB10> { [ minus, underscore, dead_diaeresis ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "se_nodeadkeys" { + name[Group1] = "Finnish/Swedish (no dead keys)"; + + include "nokia_vndr/su-8w(se)" + + key <AE01> { [ 1, exclam, asciicircum ] }; + key <AE12> { [ acute, grave, backslash ] }; + key <AD01> { [ q, Q, asciicircum ] }; + key <AB10> { [ minus, underscore, diaeresis ] }; +}; + +partial alphanumeric_keys default +xkb_symbols "fi" { + include "nokia_vndr/su-8w(se)" +}; + +xkb_symbols "fi_nodeadkeys" { + include "nokia_vndr/su-8w(se_nodeadkeys)" +}; + + + +// Russian layout on first two levels, US layout on third and fourth. +partial alphanumeric_keys default +xkb_symbols "ru" { + name[Group1]= "Russian"; + + include "nokia_vndr/su-8w(base)" + + // XXX Would be nice if this actually generated a tilde. + key <TLDE> { [ Cyrillic_io, Cyrillic_IO, grave ] }; + key <AE01> { [ 1, exclam, exclam, exclam ] }; + key <AE02> { [ 2, at, quotedbl, at ] }; + key <AE03> { [ 3, numbersign, numbersign, numbersign ] }; + key <AE04> { [ 4, dollar, currency, dollar ] }; + key <AE05> { [ 5, percent, percent, percent ] }; + key <AE06> { [ 6, dead_circumflex, ampersand, asciicircum ] }; + key <AE07> { [ 7, ampersand, slash, ampersand ] }; + key <AE08> { [ 8, asterisk, parenleft, asterisk ] }; + key <AE09> { [ 9, parenleft, parenright, parenleft ] }; + key <AE10> { [ 0, parenright, equal, parenright ] }; + key <AE11> { [ minus, underscore, plus, question ] }; + key <AE12> { [ equal, plus, equal, plus ] }; + + key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, q, Q ] }; + key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, w, W ] }; + key <AD03> { [ Cyrillic_u, Cyrillic_U, e, E ] }; + key <AD04> { [ Cyrillic_ka, Cyrillic_KA, r, R ] }; + key <AD05> { [ Cyrillic_ie, Cyrillic_IE, t, T ] }; + key <AD06> { [ Cyrillic_en, Cyrillic_EN, y, Y ] }; + key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, u, U ] }; + key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, i, I ] }; + key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, o, O ] }; + key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, p, P ] }; + key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] }; + key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright ] }; + + key <AC01> { [ Cyrillic_ef, Cyrillic_EF, a, A ] }; + key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, s, S ] }; + key <AC03> { [ Cyrillic_ve, Cyrillic_VE, d, D ] }; + key <AC04> { [ Cyrillic_a, Cyrillic_A, f, F ] }; + key <AC05> { [ Cyrillic_pe, Cyrillic_PE, g, G ] }; + key <AC06> { [ Cyrillic_er, Cyrillic_ER, h, H ] }; + key <AC07> { [ Cyrillic_o, Cyrillic_O, j, J ] }; + key <AC08> { [ Cyrillic_el, Cyrillic_EL, k, K ] }; + key <AC09> { [ Cyrillic_de, Cyrillic_DE, l, L ] }; + key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, semicolon, colon ] }; + key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe, quotedbl ] }; + + key <AB01> { [ Cyrillic_ya, Cyrillic_YA, z, Z ] }; + key <AB02> { [ Cyrillic_che, Cyrillic_CHE, x, X ] }; + key <AB03> { [ Cyrillic_es, Cyrillic_ES, c, C ] }; + key <AB04> { [ Cyrillic_em, Cyrillic_EM, v, V ] }; + key <AB05> { [ Cyrillic_i, Cyrillic_I, b, B ] }; + key <AB06> { [ Cyrillic_te, Cyrillic_TE, n, N ] }; + key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, m, M ] }; + key <AB08> { [ Cyrillic_be, Cyrillic_BE, comma, less ] }; + key <AB09> { [ Cyrillic_yu, Cyrillic_YU, period, greater ] }; + key <AB10> { [ slash, question, slash, question ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "ru_nodeadkeys" { + name[Group1] = "Russian - no dead keys"; + + include "nokia_vndr/su-8w(ru)" + + key <AE06> { [ 6, asciicircum, ampersand, asciicircum ] }; +}; + + + +partial alphanumeric_keys default +xkb_symbols "us" { + name[Group1]= "U.S. English - International"; + + include "nokia_vndr/su-8w(base)" + + // I can't believe it's not us(intl). + key <AE01> { [ 1, exclam, exclamdown ] }; + key <AE02> { [ 2, at, twosuperior ] }; + key <AE03> { [ 3, numbersign ] }; + key <AE04> { [ 4, dollar, currency ] }; + key <AE05> { [ 5, percent, EuroSign ] }; + key <AE06> { [ 6, asciicircum, onequarter ] }; + key <AE07> { [ 7, ampersand, onehalf ] }; + key <AE08> { [ 8, asterisk, threequarters ] }; + key <AE09> { [ 9, parenleft, leftsinglequotemark ] }; + key <AE10> { [ 0, parenright, rightsinglequotemark ] }; + key <AE11> { [ minus, underscore, yen ] }; + key <AE12> { [ equal, plus, multiply ] }; + + key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] }; + key <AD02> { [ w, W, aring, Aring ] }; + key <AD03> { [ e, E, eacute, Eacute ] }; + key <AD04> { [ r, R, registered ] }; + key <AD05> { [ t, T, thorn, THORN ] }; + key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] }; + key <AD07> { [ u, U, uacute, Uacute ] }; + key <AD08> { [ i, I, iacute, Iacute ] }; + key <AD09> { [ o, O, oacute, Oacute ] }; + key <AD10> { [ p, P, odiaeresis, Odiaeresis ] }; + key <AD11> { [ bracketleft, braceleft, guillemotleft ] }; + key <AD12> { [ bracketright, braceright, guillemotright ] }; + + key <AC01> { [ a, A, aacute, Aacute ] }; + key <AC02> { [ s, S, ssharp, section ] }; + key <AC03> { [ d, D, eth, ETH ] }; + key <AC04> { [ f, F ] }; + key <AC05> { [ g, G ] }; + key <AC06> { [ h, H ] }; + key <AC07> { [ j, J ] }; + key <AC08> { [ k, K ] }; + key <AC09> { [ l, L, oslash, Ooblique ] }; + key <AC10> { [ semicolon, colon, paragraph, degree ] }; + // XXX Not entirely sure if fourth level is quotedbl or diaeresis. + // The former makes a lot more sense. + key <AC11> { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] }; + + key <AB01> { [ z, Z, ae, AE ] }; + key <AB02> { [ x, X ] }; + key <AB03> { [ c, C, copyright ] }; + key <AB04> { [ v, V ] }; + key <AB05> { [ b, B ] }; + key <AB06> { [ n, N, ntilde, Ntilde ] }; + key <AB07> { [ m, M, mu ] }; + key <AB08> { [ comma, less, ccedilla, Ccedilla ] }; + key <AB09> { [ period, greater ] }; + key <AB10> { [ slash, question, questiondown ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "us_nodeadkeys" { + name[Group1] = "U.S. English - no dead keys"; + + include "nokia_vndr/su-8w(us_intl)" + + // XXX Not entirely sure if second level is quotedbl or diaeresis. + // The former makes a lot more sense. + key <AC10> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; +}; + + + +partial default alphanumeric_keys +xkb_symbols "base" { + // forked from from pc(pc105); madness. + key <ESC> { [ Escape ] }; + + // the extra key on most European keyboards + key <LSGT> { [ less, greater, bar, brokenbar ] }; + + // these keys are common to all layouts + key <BKSL> { [ backslash, bar ] }; + key <SPCE> { [ space ] }; + + key <BKSP> { [ BackSpace ] }; + + key <TAB> { [ Tab, ISO_Left_Tab ] }; + key <RTRN> { [ Return ] }; + // we don't ever generate this key, but the VKB needs it always. + key <KPEN> { [ KP_Enter ] }; + // generated from the headset, must always be in the map. + key <I29> { [ XF86Phone ] }; + + key <CAPS> { [ Caps_Lock ] }; + + key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; + + key <LFSH> { [ Shift_L ] }; + key <LCTL> { [ Control_L ] }; + key <LALT> { [ Alt_L, Meta_L ] }; + key <LWIN> { [ Super_L ] }; + + key <RTSH> { [ Shift_R ] }; + key <RCTL> { [ Control_R ] }; + key <RALT> { [ Alt_R, Meta_R ] }; + key <RWIN> { [ Super_R ] }; + + key <MENU> { [ Menu ] }; + + key <FK01> { [ F1 ] }; + key <FK02> { [ F2 ] }; + key <FK03> { [ F3 ] }; + key <FK04> { [ F4 ] }; + key <FK05> { [ F5 ] }; + key <FK06> { [ F6 ] }; + key <FK07> { [ F7 ] }; + key <FK08> { [ F8 ] }; + key <FK09> { [ F9 ] }; + key <FK10> { [ F11 ] }; + key <FK11> { [ F10 ] }; + key <FK12> { [ F12 ] }; + + // begin modifier mappings + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock, ISO_Lock }; + modifier_map Control{ Control_L, Control_R }; + modifier_map Mod2 { Num_Lock }; + + // Fake keys for virtual<->real modifiers mapping + key <LVL3> { [ ISO_Level3_Shift ] }; + key <MDSW> { [ Mode_switch ] }; + modifier_map Mod5 { <LVL3>, <MDSW> }; + + key <ALT> { [ NoSymbol, Alt_L ] }; + modifier_map Mod1 { <ALT>, <LALT> }; + + key <META> { [ NoSymbol, Meta_L ] }; + modifier_map Mod1 { <META> }; + + key <SUPR> { [ NoSymbol, Super_L ] }; + modifier_map Mod4 { <SUPR> }; + + key <HYPR> { [ NoSymbol, Hyper_L ] }; + modifier_map Mod4 { <HYPR> }; + + key <INS> { [ Insert ] }; + key <DELE> { [ Delete ] }; + key <END> { [ End ] }; + key <UP> { [ Up ] }; + key <LEFT> { [ Left ] }; + key <DOWN> { [ Down ] }; + key <RGHT> { [ Right ] }; + + // True for all layouts (except for ru). + key <TLDE> { [ grave, asterisk, asciitilde ] }; + + // SU-8W uses 140 for Home, not the normal keycode. Very useful. + key <HOME> { [ NoSymbol ] }; + // Ditto LWIN/RWIN and Page Up/Page Down. + key <PGUP> { [ none ] }; + key <PGDN> { [ NoSymbol ] }; + + // The LWIN & RWIN keys correspond to the 'select left' and + // 'select right' keys. + key <LWIN> { [ Prior ] }; + key <RWIN> { [ Next ] }; + + // <FRNT> = 140 ~ <I140> + key <FRNT> { [ Home ] }; + // <PROP> = 138 ~ <I138> + key <PROP> { [ Menu ] }; + key <I163> { [ XF86Mail ] }; + + // Power button. + key <I5E> { [ Execute ] }; +}; |