[kbd] [PATCH] Added support for a few derivatives of neo

Valentin Herrmann herr.valentin.mann at gmail.com
Wed Nov 18 15:13:34 MSK 2020


---
 data/Makefile.am                    |   2 +-
 data/keymaps/i386/neo/README.md     |  27 +-
 data/keymaps/i386/neo/adnw.map      | 937 ++++++++++++++++++++++++++++
 data/keymaps/i386/neo/bone.map      | 924 +++++++++++++++++++++++++++
 data/keymaps/i386/neo/koy.map       | 923 +++++++++++++++++++++++++++
 data/keymaps/i386/neo/neoqwertz.map | 926 +++++++++++++++++++++++++++
 6 files changed, 3733 insertions(+), 6 deletions(-)
 create mode 100644 data/keymaps/i386/neo/adnw.map
 create mode 100644 data/keymaps/i386/neo/bone.map
 create mode 100644 data/keymaps/i386/neo/koy.map
 create mode 100644 data/keymaps/i386/neo/neoqwertz.map

diff --git a/data/Makefile.am b/data/Makefile.am
index 04ce3ab..8a27fe7 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -11,7 +11,7 @@ TRANSDIR     = consoletrans
 
 KEYMAPSUBDIRS = include sun amiga atari i386/azerty i386/bepo i386/dvorak \
 	i386/fgGIod i386/qwerty i386/qwertz i386/include i386/olpc \
-	i386/colemak i386/carpalx mac/include mac/all
+	i386/colemak i386/carpalx i386/neo mac/include mac/all
 
 # Do not use GZIP - it is interpreted by gzip
 MYGZIP = gzip -f -n -9
diff --git a/data/keymaps/i386/neo/README.md b/data/keymaps/i386/neo/README.md
index d9a8dd5..693a654 100644
--- a/data/keymaps/i386/neo/README.md
+++ b/data/keymaps/i386/neo/README.md
@@ -1,14 +1,31 @@
-Neo
-===
+Neo 2
+=====
 
-Neo - an Ergonomic Keyboard Layout, optimized for the German Language
+This directory includes various variants of Neo 2 (Often only referred to as Neo) - an Ergonomic Keyboard Layout, optimized for the German Language.
+They have the following in common:
 
 - Optimizations regarding Letter Frequency as well as Bi– and Trigrams given by the German Language (on Layer 1 and 2)
 - Directly underneath your finger tips lie frequently used chars for Programming Languages (on Layer 3)
-- Navigation Keys also lie directly under your finger tips! ←↑→↓ (on Layer 4)
+- Navigation Keys and numbers also lie directly under your finger tips! (on Layer 4)
 - New chars can be entered, like: „ , ” , « , » , ∫ , √ , α , β , … (and massively more)
 
 Links
 =====
 
-https://neo-layout.org/index_en.html
+German website: https://neo-layout.org/
+
+
+Notes:
+=====
+• Not using KP_-keysyms on fourth level as NumLock is not controllable
+  (i.e. can't be forced to on whenever the keymaps are loaded).
+  On console there is little need for KP_-keysyms.
+• Mod4-Lock is not implemented (technical difficulties, not enough levels)
+• Dead keys only when there exists a corresponding dead keysym on console
+  (i.e circumflex, gravis, cedille, trema, akut and tilde) otherwise the
+  undead character is produced.
+• Using default compose as for now. Maximum number allowed compose
+  sequences seems to be 256, not enough for the standard Neo2 sequences.
+• Wrong Caps_Lock behaviour with ssharp (not returning to lower case when
+  using Caps_Lock and Shift)
+  See: https://bugzilla.kernel.org/show_bug.cgi?id=7063
diff --git a/data/keymaps/i386/neo/adnw.map b/data/keymaps/i386/neo/adnw.map
new file mode 100644
index 0000000..1aa4ab5
--- /dev/null
+++ b/data/keymaps/i386/neo/adnw.map
@@ -0,0 +1,937 @@
+! adnw.map - German AdNW Keyboard Layout
+!
+
+#keymaps 0-3,16-19,32-35,64-67,80-83,96-99
+keymaps 0-127
+compose as usual
+strings as usual
+alt_is_meta
+
+#==========================================================================
+# Default Keys (usually not needed)
+#==========================================================================
+
+                keycode   1 = Escape
+            alt keycode   1 = Meta_Escape
+
+     shiftr alt keycode   1 = Meta_Escape
+
+                keycode  14 = Delete
+            alt keycode  14 = Meta_Delete
+     shiftl alt keycode  14 = Meta_Delete
+     shiftr alt keycode  14 = Meta_Delete
+
+                keycode  15 = Tab
+         shiftl keycode  15 = Meta_Tab
+         shiftr keycode  15 = Meta_Tab
+            alt keycode  15 = Meta_Tab
+
+                keycode  28 = Return
+            alt keycode  28 = Meta_Control_m
+
+                keycode  29 = Control
+                keycode  97 = Control
+
+                keycode  56 = Alt
+
+#==========================================================================
+# linux-keys-bare, Control Keys
+#==========================================================================
+
+                keycode  59 = F1
+            alt keycode  59 = Console_1
+    control alt keycode  59 = Console_1
+         shiftl keycode  59 = F13
+         shiftr keycode  59 = F13
+                keycode  60 = F2
+            alt keycode  60 = Console_2
+    control alt keycode  60 = Console_2
+         shiftl keycode  60 = F14
+         shiftr keycode  60 = F14
+                keycode  61 = F3
+            alt keycode  61 = Console_3
+    control alt keycode  61 = Console_3
+         shiftl keycode  61 = F15
+         shiftr keycode  61 = F15
+                keycode  62 = F4
+            alt keycode  62 = Console_4
+    control alt keycode  62 = Console_4
+         shiftl keycode  62 = F16
+         shiftr keycode  62 = F16
+
+                keycode  63 = F5
+            alt keycode  63 = Console_5
+    control alt keycode  63 = Console_5
+         shiftl keycode  63 = F17
+         shiftr keycode  63 = F17
+                keycode  64 = F6
+            alt keycode  64 = Console_6
+    control alt keycode  64 = Console_6
+         shiftl keycode  64 = F18
+         shiftr keycode  64 = F18
+                keycode  65 = F7
+            alt keycode  65 = Console_7
+    control alt keycode  65 = Console_7
+         shiftl keycode  65 = F19
+         shiftr keycode  65 = F19
+                keycode  66 = F8
+            alt keycode  66 = Console_8
+    control alt keycode  66 = Console_8
+         shiftl keycode  66 = F20
+         shiftr keycode  66 = F20
+
+                keycode  67 = F9
+            alt keycode  67 = Console_9
+    control alt keycode  67 = Console_9
+         shiftl keycode  67 = F21
+         shiftr keycode  67 = F21
+                keycode  68 = F10
+            alt keycode  68 = Console_10
+    control alt keycode  68 = Console_10
+         shiftl keycode  68 = F22
+         shiftr keycode  68 = F22
+                keycode  87 = F11
+            alt keycode  87 = Console_11
+    control alt keycode  87 = Console_11
+         shiftl keycode  87 = F23
+         shiftr keycode  87 = F23
+                keycode  88 = F12
+            alt keycode  88 = Console_12
+    control alt keycode  88 = Console_12
+         shiftl keycode  88 = F24
+         shiftr keycode  88 = F24
+
+                keycode 103 = Up
+            alt keycode 103 = KeyboardSignal
+                keycode 105 = Left
+            alt keycode 105 = Decr_Console
+                keycode 106 = Right
+            alt keycode 106 = Incr_Console
+                keycode 108 = Down
+
+                keycode 110 = Insert
+                keycode 111 = Remove
+    control alt keycode 111 = Boot
+                keycode 102 = Home
+                keycode 107 = End
+                keycode 104 = PageUp
+         shiftl keycode 104 = Scroll_Backward
+         shiftr keycode 104 = Scroll_Backward
+                keycode 109 = PageDown
+         shiftl keycode 109 = Scroll_Forward
+         shiftr keycode 109 = Scroll_Forward
+
+                keycode  99 = Compose
+            alt keycode  99 = Control_backslash
+        control keycode  99 = Control_backslash
+          plain keycode  70 = Scroll_Lock
+         shiftl keycode  70 = Show_Memory
+         shiftr keycode  70 = Show_Memory
+        control keycode  70 = Show_State
+            alt keycode  70 = Show_Registers
+                keycode 119 = Pause
+
+## Alternatively:
+#
+#include "linux-keys-bare"
+#
+#         shiftl keycode  59 = F13
+#         shiftr keycode  59 = F13
+#         shiftl keycode  60 = F14
+#         shiftr keycode  60 = F14
+#         shiftl keycode  61 = F15
+#         shiftr keycode  61 = F15
+#         shiftl keycode  62 = F16
+#         shiftr keycode  62 = F16
+#
+#         shiftl keycode  63 = F17
+#         shiftr keycode  63 = F17
+#         shiftl keycode  64 = F18
+#         shiftr keycode  64 = F18
+#         shiftl keycode  65 = F19
+#         shiftr keycode  65 = F19
+#         shiftl keycode  66 = F20
+#         shiftr keycode  66 = F20
+#
+#         shiftl keycode  67 = F21
+#         shiftr keycode  67 = F21
+#         shiftl keycode  68 = F22
+#         shiftr keycode  68 = F22
+#         shiftl keycode  87 = F23
+#         shiftr keycode  87 = F23
+#         shiftl keycode  88 = F24
+#         shiftr keycode  88 = F24
+#
+#         shiftl keycode 104 = Scroll_Backward
+#         shiftr keycode 104 = Scroll_Backward
+#
+#         shiftl keycode 109 = Scroll_Forward
+#         shiftr keycode 109 = Scroll_Forward
+#
+#         shiftl keycode  70 = Show_Memory
+#         shiftr keycode  70 = Show_Memory
+
+#==========================================================================
+# Modifier
+#==========================================================================
+
+                keycode  42 = ShiftL
+        shiftr  keycode  42 = Caps_Lock
+                keycode  54 = ShiftR
+        shiftl  keycode  54 = Caps_Lock
+
+                keycode  58 = AltGr            # Mod3 Left
+                keycode  43 = AltGr            # Mod3 Right
+
+                keycode  86 = CtrlL            # Mod4 Left
+                keycode 100 = CtrlL            # Mod4 Right
+
+#==========================================================================
+# Compose
+#==========================================================================
+
+# TODO: add most important compose definitions
+
+        altgr   keycode  15 = Compose          # Mod3 + Tab: Compose
+
+#==========================================================================
+# Character keys
+#==========================================================================
+                keycode  57 = space
+        shiftl  keycode  57 = space
+        shiftr  keycode  57 = space
+        altgr   keycode  57 = space
+altgr   shiftl  keycode  57 = nobreakspace
+altgr   shiftr  keycode  57 = nobreakspace
+        ctrll   keycode  57 = zero
+shiftl  ctrll   keycode  57 = zero
+shiftr  ctrll   keycode  57 = zero
+altgr   ctrll   keycode  57 = U+202F
+
+                keycode  41 = dead_circumflex
+        shiftl  keycode  41 = dead_caron
+        shiftr  keycode  41 = dead_caron
+        altgr   keycode  41 = U+21BB
+altgr   shiftl  keycode  41 = U+02DE
+altgr   shiftr  keycode  41 = U+02DE
+        ctrll   keycode  41 = U+0307
+
+                keycode  13 = dead_grave
+        shiftl  keycode  13 = dead_cedilla
+        shiftr  keycode  13 = dead_cedilla
+        altgr   keycode  13 = U+030a
+altgr   shiftl  keycode  13 = VoidSymbol
+altgr   shiftr  keycode  13 = VoidSymbol
+        ctrll   keycode  13 = dead_diaeresis
+altgr   ctrll   keycode  13 = U+0304
+
+                keycode  27 = dead_acute
+        shiftl  keycode  27 = dead_tilde
+        shiftr  keycode  27 = dead_tilde
+        altgr   keycode  27 = VoidSymbol
+altgr   shiftl  keycode  27 = VoidSymbol
+altgr   shiftr  keycode  27 = VoidSymbol
+        ctrll   keycode  27 = dead_doubleacute
+altgr   ctrll   keycode  27 = dead_breve
+
+                keycode   2 = one
+        shiftl  keycode   2 = degree
+        shiftr  keycode   2 = degree
+        altgr   keycode   2 = onesuperior
+altgr   shiftl  keycode   2 = VoidSymbol
+altgr   shiftr  keycode   2 = VoidSymbol
+        ctrll   keycode   2 = ordfeminine
+altgr   ctrll   keycode   2 = notsign
+
+                keycode   3 = two
+        shiftl  keycode   3 = section
+        shiftr  keycode   3 = section
+        altgr   keycode   3 = twosuperior
+altgr   shiftl  keycode   3 = VoidSymbol
+altgr   shiftr  keycode   3 = VoidSymbol
+        ctrll   keycode   3 = masculine
+altgr   ctrll   keycode   3 = U+2228
+
+                keycode   4 = three
+        shiftl  keycode   4 = U+2113
+        shiftr  keycode   4 = U+2113
+        altgr   keycode   4 = threesuperior
+altgr   shiftl  keycode   4 = VoidSymbol
+altgr   shiftr  keycode   4 = VoidSymbol
+        ctrll   keycode   4 = U+2116
+altgr   ctrll   keycode   4 = U+2227
+
+                keycode   5 = four
+        shiftl  keycode   5 = guillemotright
+        shiftr  keycode   5 = guillemotright
+        altgr   keycode   5 = U+203A
+altgr   shiftl  keycode   5 = U+2640
+altgr   shiftr  keycode   5 = U+2640
+altgr   ctrll   keycode   5 = U+22A5
+
+                keycode   6 = five
+        shiftl  keycode   6 = guillemotleft
+        shiftr  keycode   6 = guillemotleft
+        altgr   keycode   6 = U+2039
+altgr   shiftl  keycode   6 = U+2642
+altgr   shiftr  keycode   6 = U+2642
+        ctrll   keycode   6 = periodcentered
+altgr   ctrll   keycode   6 = U+2221
+
+                keycode   7 = six
+        shiftl  keycode   7 = dollar
+        shiftr  keycode   7 = dollar
+        altgr   keycode   7 = cent
+altgr   shiftl  keycode   7 = U+26A5
+altgr   shiftr  keycode   7 = U+26A5
+        ctrll   keycode   7 = sterling
+altgr   ctrll   keycode   7 = U+2225
+
+                keycode   8 = seven
+        shiftl  keycode   8 = U+20ac
+        shiftr  keycode   8 = U+20ac
+        altgr   keycode   8 = yen
+altgr   shiftl  keycode   8 = U+03F0
+altgr   shiftr  keycode   8 = U+03F0
+        ctrll   keycode   8 = currency
+altgr   ctrll   keycode   8 = U+2192
+
+                keycode   9 = eight
+        shiftl  keycode   9 = U+201e
+        shiftr  keycode   9 = U+201e
+        altgr   keycode   9 = U+201a
+altgr   shiftl  keycode   9 = U+2329
+altgr   shiftr  keycode   9 = U+2329
+        ctrll   keycode   9 = Tab
+altgr   ctrll   keycode   9 = U+221e
+
+                keycode  10 = nine
+        shiftl  keycode  10 = U+201c
+        shiftr  keycode  10 = U+201c
+        altgr   keycode  10 = U+2018
+altgr   shiftl  keycode  10 = U+232a
+altgr   shiftr  keycode  10 = U+232a
+        ctrll   keycode  10 = slash
+shiftl  ctrll   keycode  10 = slash
+shiftr  ctrll   keycode  10 = slash
+altgr   ctrll   keycode  10 = U+221d
+
+                keycode  11 = zero
+        shiftl  keycode  11 = U+201d
+        shiftr  keycode  11 = U+201d
+        altgr   keycode  11 = U+2019
+altgr   shiftl  keycode  11 = VoidSymbol
+altgr   shiftr  keycode  11 = VoidSymbol
+        ctrll   keycode  11 = asterisk
+shiftl  ctrll   keycode  11 = asterisk
+shiftr  ctrll   keycode  11 = asterisk
+
+                keycode  12 = minus
+        shiftl  keycode  12 = U+2014
+        shiftr  keycode  12 = U+2014
+        altgr   keycode  12 = VoidSymbol
+altgr   shiftl  keycode  12 = U+2011
+altgr   shiftr  keycode  12 = U+2011
+        ctrll   keycode  12 = minus
+shiftl  ctrll   keycode  12 = minus
+shiftr  ctrll   keycode  12 = minus
+altgr   ctrll   keycode  12 = hyphen
+
+                keycode  16 = k
+shift   shiftl  keycode  16 = k
+shift   shiftr  keycode  16 = k
+        shiftl  keycode  16 = +K
+        shiftr  keycode  16 = +K
+        altgr   keycode  16 = U+2026
+altgr   shiftl  keycode  16 = U+03ba
+altgr   shiftr  keycode  16 = U+03ba
+        ctrll   keycode  16 = Prior
+shiftl  ctrll   keycode  16 = Prior
+shiftr  ctrll   keycode  16 = Prior
+altgr   ctrll   keycode  16 = multiply
+
+                keycode  17 = u
+shift   shiftl  keycode  17 = u
+shift   shiftr  keycode  17 = u
+        shiftl  keycode  17 = +U
+        shiftr  keycode  17 = +U
+        altgr   keycode  17 = underscore
+altgr   shiftl  keycode  17 = VoidSymbol
+altgr   shiftr  keycode  17 = VoidSymbol
+        ctrll   keycode  17 = BackSpace
+shiftl  ctrll   keycode  17 = BackSpace
+shiftr  ctrll   keycode  17 = BackSpace
+altgr   ctrll   keycode  17 = U+2282
+
+                keycode  18 = udiaeresis
+        shiftl  keycode  18 = Udiaeresis
+        shiftr  keycode  18 = Udiaeresis
+        altgr   keycode  18 = bracketleft
+altgr   shiftl  keycode  18 = U+03bb
+altgr   shiftr  keycode  18 = U+03bb
+        ctrll   keycode  18 = Up
+shiftl  ctrll   keycode  18 = Up
+shiftr  ctrll   keycode  18 = Up
+altgr   ctrll   keycode  18 = U+222a
+
+                keycode  19 = period
+        shiftl  keycode  19 = U+2022
+        shiftr  keycode  19 = U+2022
+        altgr   keycode  19 = bracketright
+altgr   shiftl  keycode  19 = U+03D1
+altgr   shiftr  keycode  19 = U+03D1
+        ctrll   keycode  19 = Remove
+shiftl  ctrll   keycode  19 = Remove
+shiftr  ctrll   keycode  19 = Remove
+altgr   ctrll   keycode  19 = U+21A6
+
+                keycode  20 = adiaeresis
+        shiftl  keycode  20 = Adiaeresis
+        shiftr  keycode  20 = Adiaeresis
+        altgr   keycode  20 = asciicircum
+altgr   shiftl  keycode  20 = U+03b7
+altgr   shiftr  keycode  20 = U+03b7
+        ctrll   keycode  20 = Next
+shiftl  ctrll   keycode  20 = Next
+shiftr  ctrll   keycode  20 = Next
+altgr   ctrll   keycode  20 = U+2135
+
+                keycode  21 = v
+shift   shiftl  keycode  21 = v
+shift   shiftr  keycode  21 = v
+        shiftl  keycode  21 = +V
+        shiftr  keycode  21 = +V
+        altgr   keycode  21 = exclam
+altgr   shiftl  keycode  21 = exclam
+altgr   shiftr  keycode  21 = exclam
+        ctrll   keycode  21 = exclamdown
+shiftl  ctrll   keycode  21 = exclamdown
+shiftr  ctrll   keycode  21 = exclamdown
+altgr   ctrll   keycode  21 = U+221a
+
+                keycode  22 = g
+shift   shiftl  keycode  22 = g
+shift   shiftr  keycode  22 = g
+        shiftl  keycode  22 = +G
+        shiftr  keycode  22 = +G
+        altgr   keycode  22 = less
+altgr   shiftl  keycode  22 = U+03b3
+altgr   shiftr  keycode  22 = U+03b3
+        ctrll   keycode  22 = seven
+shiftl  ctrll   keycode  22 = seven
+shiftr  ctrll   keycode  22 = seven
+altgr   ctrll   keycode  22 = U+0393
+
+                keycode  23 = c
+shift   shiftl  keycode  23 = c
+shift   shiftr  keycode  23 = c
+        shiftl  keycode  23 = +C
+        shiftr  keycode  23 = +C
+        altgr   keycode  23 = greater
+altgr   shiftl  keycode  23 = U+03c7
+altgr   shiftr  keycode  23 = U+03c7
+        ctrll   keycode  23 = eight
+shiftl  ctrll   keycode  23 = eight
+shiftr  ctrll   keycode  23 = eight
+altgr   ctrll   keycode  23 = U+2102
+
+                keycode  24 = l
+shift   shiftl  keycode  24 = l
+shift   shiftr  keycode  24 = l
+        shiftl  keycode  24 = +L
+        shiftr  keycode  24 = +L
+        altgr   keycode  24 = equal
+altgr   shiftl  keycode  24 = U+03bb
+altgr   shiftr  keycode  24 = U+03bb
+        ctrll   keycode  24 = nine
+shiftl  ctrll   keycode  24 = nine
+shiftr  ctrll   keycode  24 = nine
+altgr   ctrll   keycode  24 = U+039b
+
+                keycode  25 = j
+shift   shiftl  keycode  25 = j
+shift   shiftr  keycode  25 = j
+        shiftl  keycode  25 = +J
+        shiftr  keycode  25 = +J
+        altgr   keycode  25 = ampersand
+altgr   shiftl  keycode  25 = U+03b8
+altgr   shiftr  keycode  25 = U+03b8
+        ctrll   keycode  25 = plus
+shiftl  ctrll   keycode  25 = plus
+shiftr  ctrll   keycode  25 = plus
+altgr   ctrll   keycode  25 = U+0398
+
+                keycode  26 = f
+shift   shiftl  keycode  26 = f
+shift   shiftr  keycode  26 = f
+        shiftl  keycode  26 = +F
+        shiftr  keycode  26 = +F
+        altgr   keycode  26 = U+017F
+altgr   shiftl  keycode  26 = U+03c6
+altgr   shiftr  keycode  26 = U+03c6
+        ctrll   keycode  26 = U+2212
+shiftl  ctrll   keycode  26 = U+2212
+shiftr  ctrll   keycode  26 = U+2212
+altgr   ctrll   keycode  26 = U+03a6
+
+                keycode  30 = h
+shift   shiftl  keycode  30 = h
+shift   shiftr  keycode  30 = h
+        shiftl  keycode  30 = +H
+        shiftr  keycode  30 = +H
+        altgr   keycode  30 = backslash
+altgr   shiftl  keycode  30 = U+03c8
+altgr   shiftr  keycode  30 = U+03c8
+        ctrll   keycode  30 = Home
+shiftl  ctrll   keycode  30 = Home
+shiftr  ctrll   keycode  30 = Home
+altgr   ctrll   keycode  30 = U+03a8
+
+                keycode  31 = i
+shift   shiftl  keycode  31 = i
+shift   shiftr  keycode  31 = i
+        shiftl  keycode  31 = +I
+        shiftr  keycode  31 = +I
+        altgr   keycode  31 = slash
+altgr   shiftl  keycode  31 = U+03b9
+altgr   shiftr  keycode  31 = U+03b9
+        ctrll   keycode  31 = Left
+shiftl  ctrll   keycode  31 = Left
+shiftr  ctrll   keycode  31 = Left
+altgr   ctrll   keycode  31 = U+222b
+
+                keycode  32 = e
+shift   shiftl  keycode  32 = e
+shift   shiftr  keycode  32 = e
+        shiftl  keycode  32 = +E
+        shiftr  keycode  32 = +E
+        altgr   keycode  32 = braceleft
+altgr   shiftl  keycode  32 = U+03b5
+altgr   shiftr  keycode  32 = U+03b5
+        ctrll   keycode  32 = Down
+shiftl  ctrll   keycode  32 = Down
+shiftr  ctrll   keycode  32 = Down
+altgr   ctrll   keycode  32 = U+2203
+
+                keycode  33 = a
+shift   shiftl  keycode  33 = a
+shift   shiftr  keycode  33 = a
+        shiftl  keycode  33 = +A
+        shiftr  keycode  33 = +A
+        altgr   keycode  33 = braceright
+altgr   shiftl  keycode  33 = U+03b1
+altgr   shiftr  keycode  33 = U+03b1
+        ctrll   keycode  33 = Right
+shiftl  ctrll   keycode  33 = Right
+shiftr  ctrll   keycode  33 = Right
+altgr   ctrll   keycode  33 = U+2200
+
+                keycode  34 = o
+shift   shiftl  keycode  34 = o
+shift   shiftr  keycode  34 = o
+        shiftl  keycode  34 = +O
+        shiftr  keycode  34 = +O
+        altgr   keycode  34 = asterisk
+altgr   shiftl  keycode  34 = U+03bf
+altgr   shiftr  keycode  34 = U+03bf
+        ctrll   keycode  34 = End
+shiftl  ctrll   keycode  34 = End
+shiftr  ctrll   keycode  34 = End
+altgr   ctrll   keycode  34 = U+2208
+
+                keycode  35 = d
+shift   shiftl  keycode  35 = d
+shift   shiftr  keycode  35 = d
+        shiftl  keycode  35 = +D
+        shiftr  keycode  35 = +D
+        altgr   keycode  35 = question
+altgr   shiftl  keycode  35 = U+03b4
+altgr   shiftr  keycode  35 = U+03b4
+        ctrll   keycode  35 = questiondown
+shiftl  ctrll   keycode  35 = questiondown
+shiftr  ctrll   keycode  35 = questiondown
+altgr   ctrll   keycode  35 = U+0394
+
+                keycode  36 = t
+shift   shiftl  keycode  36 = t
+shift   shiftr  keycode  36 = t
+        shiftl  keycode  36 = +T
+        shiftr  keycode  36 = +T
+        altgr   keycode  36 = parenleft
+altgr   shiftl  keycode  36 = U+03c4
+altgr   shiftr  keycode  36 = U+03c4
+        ctrll   keycode  36 = four
+shiftl  ctrll   keycode  36 = four
+shiftr  ctrll   keycode  36 = four
+altgr   ctrll   keycode  36 = U+2202
+
+                keycode  37 = r
+shift   shiftl  keycode  37 = r
+shift   shiftr  keycode  37 = r
+        shiftl  keycode  37 = +R
+        shiftr  keycode  37 = +R
+        altgr   keycode  37 = parenright
+altgr   shiftl  keycode  37 = U+03c1
+altgr   shiftr  keycode  37 = U+03c1
+        ctrll   keycode  37 = five
+shiftl  ctrll   keycode  37 = five
+shiftr  ctrll   keycode  37 = five
+altgr   ctrll   keycode  37 = U+211D
+
+                keycode  38 = n
+shift   shiftl  keycode  38 = n
+shift   shiftr  keycode  38 = n
+        shiftl  keycode  38 = +N
+        shiftr  keycode  38 = +N
+        altgr   keycode  38 = minus
+altgr   shiftl  keycode  38 = U+03bd
+altgr   shiftr  keycode  38 = U+03bd
+        ctrll   keycode  38 = six
+shiftl  ctrll   keycode  38 = six
+shiftr  ctrll   keycode  38 = six
+altgr   ctrll   keycode  38 = U+2115
+
+                keycode  39 = s
+shift   shiftl  keycode  39 = s
+shift   shiftr  keycode  39 = s
+        shiftl  keycode  39 = +S
+        shiftr  keycode  39 = +S
+        altgr   keycode  39 = colon
+altgr   shiftl  keycode  39 = U+03c3
+altgr   shiftr  keycode  39 = U+03c3
+        ctrll   keycode  39 = U+002c
+shiftl  ctrll   keycode  39 = comma
+shiftr  ctrll   keycode  39 = comma
+altgr   ctrll   keycode  39 = U+03a3
+
+                keycode  40 = ssharp
+        shiftl  keycode  40 = U+1E9E
+        shiftr  keycode  40 = U+1E9E
+        altgr   keycode  40 = at
+altgr   shiftl  keycode  40 = U+03c2
+altgr   shiftr  keycode  40 = U+03c2
+        ctrll   keycode  40 = period
+shiftl  ctrll   keycode  40 = U+002e
+shiftr  ctrll   keycode  40 = U+002e
+altgr   ctrll   keycode  40 = U+2218
+
+                keycode  44 = x
+shift   shiftl  keycode  44 = x
+shift   shiftr  keycode  44 = x
+        shiftl  keycode  44 = +X
+        shiftr  keycode  44 = +X
+        altgr   keycode  44 = numbersign
+altgr   shiftl  keycode  44 = U+03be
+altgr   shiftr  keycode  44 = U+03be
+        ctrll   keycode  44 = Escape
+shiftl  ctrll   keycode  44 = Escape
+shiftr  ctrll   keycode  44 = Escape
+altgr   ctrll   keycode  44 = U+039e
+
+                keycode  45 = y
+shift   shiftl  keycode  45 = y
+shift   shiftr  keycode  45 = y
+        shiftl  keycode  45 = +Y
+        shiftr  keycode  45 = +Y
+        altgr   keycode  45 = dollar
+altgr   shiftl  keycode  45 = U+03c5
+altgr   shiftr  keycode  45 = U+03c5
+        ctrll   keycode  45 = Tab
+shiftl  ctrll   keycode  45 = Tab
+shiftr  ctrll   keycode  45 = Tab
+altgr   ctrll   keycode  45 = U+2207
+
+                keycode  46 = odiaeresis
+        shiftl  keycode  46 = Odiaeresis
+        shiftr  keycode  46 = Odiaeresis
+        altgr   keycode  46 = bar
+altgr   shiftl  keycode  46 = U+03F5
+altgr   shiftr  keycode  46 = U+03F5
+        ctrll   keycode  46 = Insert
+shiftl  ctrll   keycode  46 = Insert
+shiftr  ctrll   keycode  46 = Insert
+altgr   ctrll   keycode  46 = U+2229
+
+                keycode  47 = comma
+        shiftl  keycode  47 = U+2013
+        shiftr  keycode  47 = U+2013
+        altgr   keycode  47 = asciitilde
+altgr   shiftl  keycode  47 = U+03F1
+altgr   shiftr  keycode  47 = U+03F1
+        ctrll   keycode  47 = Return
+shiftl  ctrll   keycode  47 = Return
+shiftr  ctrll   keycode  47 = Return
+altgr   ctrll   keycode  47 = U+21D2
+
+                keycode  48 = q
+shift   shiftl  keycode  48 = q
+shift   shiftr  keycode  48 = q
+        shiftl  keycode  48 = +Q
+        shiftr  keycode  48 = +Q
+        altgr   keycode  48 = grave
+altgr   shiftl  keycode  48 = U+03D5
+altgr   shiftr  keycode  48 = U+03D5
+        ctrll   keycode  48 = VoidSymbol
+shiftl  ctrll   keycode  48 = VoidSymbol
+shiftr  ctrll   keycode  48 = VoidSymbol
+altgr   ctrll   keycode  48 = U+211A
+
+                keycode  49 = b
+shift   shiftl  keycode  49 = b
+shift   shiftr  keycode  49 = b
+        shiftl  keycode  49 = +B
+        shiftr  keycode  49 = +B
+        altgr   keycode  49 = plus
+altgr   shiftl  keycode  49 = U+03b2
+altgr   shiftr  keycode  49 = U+03b2
+        ctrll   keycode  49 = colon
+altgr   ctrll   keycode  49 = U+21D0
+
+                keycode  50 = p
+shift   shiftl  keycode  50 = p
+shift   shiftr  keycode  50 = p
+        shiftl  keycode  50 = +P
+        shiftr  keycode  50 = +P
+        altgr   keycode  50 = percent
+altgr   shiftl  keycode  50 = U+03c0
+altgr   shiftr  keycode  50 = U+03c0
+        ctrll   keycode  50 = one
+shiftl  ctrll   keycode  50 = one
+shiftr  ctrll   keycode  50 = one
+altgr   ctrll   keycode  50 = U+03a0
+
+                keycode  51 = w
+shift   shiftl  keycode  51 = w
+shift   shiftr  keycode  51 = w
+        shiftl  keycode  51 = +W
+        shiftr  keycode  51 = +W
+        altgr   keycode  51 = quotedbl
+altgr   shiftl  keycode  51 = U+03c9
+altgr   shiftr  keycode  51 = U+03c9
+        ctrll   keycode  51 = two
+shiftl  ctrll   keycode  51 = two
+shiftr  ctrll   keycode  51 = two
+altgr   ctrll   keycode  51 = U+03a9
+
+                keycode  52 = m
+shift   shiftl  keycode  52 = m
+shift   shiftr  keycode  52 = m
+        shiftl  keycode  52 = +M
+        shiftr  keycode  52 = +M
+        altgr   keycode  52 = apostrophe
+altgr   shiftl  keycode  52 = U+03bc
+altgr   shiftr  keycode  52 = U+03bc
+        ctrll   keycode  52 = three
+shiftl  ctrll   keycode  52 = three
+shiftr  ctrll   keycode  52 = three
+altgr   ctrll   keycode  52 = U+21d4
+
+                keycode  53 = z
+shift   shiftl  keycode  53 = z
+shift   shiftr  keycode  53 = z
+        shiftl  keycode  53 = +Z
+        shiftr  keycode  53 = +Z
+        altgr   keycode  53 = semicolon
+altgr   shiftl  keycode  53 = U+03b6
+altgr   shiftr  keycode  53 = U+03b6
+        ctrll   keycode  53 = semicolon
+altgr   ctrll   keycode  53 = U+2124
+
+#==========================================================================
+# Keypad
+#==========================================================================
+
+                keycode  69 = Tab              
+        shiftl  keycode  69 = Tab              
+        shiftr  keycode  69 = Tab              
+        altgr   keycode  69 = equal            
+        ctrll   keycode  69 = U+2260           
+shiftl  ctrll   keycode  69 = U+2260           
+shiftr  ctrll   keycode  69 = U+2260           
+shiftl  altgr   keycode  69 = U+2248           
+shiftr  altgr   keycode  69 = U+2248           
+ctrll   altgr   keycode  69 = U+2261           
+
+                keycode  98 = slash            
+        shiftl  keycode  98 = slash            
+        shiftr  keycode  98 = slash            
+        altgr   keycode  98 = division         
+        ctrll   keycode  98 = U+2044           
+shiftl  ctrll   keycode  98 = U+2044           
+shiftr  ctrll   keycode  98 = U+2044           
+shiftl  altgr   keycode  98 = U+2300           
+shiftr  altgr   keycode  98 = U+2300           
+ctrll   altgr   keycode  98 = U+2223           
+
+                keycode  55 = asterisk         
+        shiftl  keycode  55 = asterisk         
+        shiftr  keycode  55 = asterisk         
+        altgr   keycode  55 = U+22c5           
+        ctrll   keycode  55 = multiply         
+shiftl  ctrll   keycode  55 = multiply         
+shiftr  ctrll   keycode  55 = multiply         
+shiftl  altgr   keycode  55 = U+2299           
+shiftr  altgr   keycode  55 = U+2299           
+ctrll   altgr   keycode  55 = U+2297           
+
+                keycode  74 = minus            
+        shiftl  keycode  74 = minus            
+        shiftr  keycode  74 = minus            
+        altgr   keycode  74 = U+2212           
+        ctrll   keycode  74 = U+2216           
+shiftl  ctrll   keycode  74 = U+2216           
+shiftr  ctrll   keycode  74 = U+2216           
+shiftl  altgr   keycode  74 = U+2296           
+shiftr  altgr   keycode  74 = U+2296           
+ctrll   altgr   keycode  74 = U+2238           
+
+                keycode  71 = seven            
+        shiftl  keycode  71 = U+2714           
+        shiftr  keycode  71 = U+2714           
+        altgr   keycode  71 = U+2195           
+        ctrll   keycode  71 = Home             
+shiftl  ctrll   keycode  71 = Home             
+shiftr  ctrll   keycode  71 = Home             
+shiftl  altgr   keycode  71 = U+226a           
+shiftr  altgr   keycode  71 = U+226a           
+ctrll   altgr   keycode  71 = U+2308           
+
+                keycode  72 = eight            
+        shiftl  keycode  72 = U+2718           
+        shiftr  keycode  72 = U+2718           
+        altgr   keycode  72 = U+2191           
+        ctrll   keycode  72 = Up               
+shiftl  ctrll   keycode  72 = Up               
+shiftr  ctrll   keycode  72 = Up               
+shiftl  altgr   keycode  72 = U+2229           
+shiftr  altgr   keycode  72 = U+2229           
+ctrll   altgr   keycode  72 = U+22c2           
+
+                keycode  73 = nine             
+        shiftl  keycode  73 = U+2020           
+        shiftr  keycode  73 = U+2020           
+        altgr   keycode  73 = VoidSymbol       
+        ctrll   keycode  73 = Prior            
+shiftl  ctrll   keycode  73 = Prior            
+shiftr  ctrll   keycode  73 = Prior            
+shiftl  altgr   keycode  73 = U+226b           
+shiftr  altgr   keycode  73 = U+226b           
+ctrll   altgr   keycode  73 = U+2309           
+
+                keycode  75 = four             
+        shiftl  keycode  75 = U+2663           
+        shiftr  keycode  75 = U+2663           
+        altgr   keycode  75 = U+2190           
+        ctrll   keycode  75 = Left             
+shiftl  ctrll   keycode  75 = Left             
+shiftr  ctrll   keycode  75 = Left             
+shiftl  altgr   keycode  75 = U+2282           
+shiftr  altgr   keycode  75 = U+2282           
+ctrll   altgr   keycode  75 = U+2286           
+
+                keycode  76 = five             
+        shiftl  keycode  76 = U+20ac           
+        shiftr  keycode  76 = U+20ac           
+        altgr   keycode  76 = colon            
+        ctrll   keycode  76 = VoidSymbol       
+shiftl  ctrll   keycode  76 = VoidSymbol       
+shiftr  ctrll   keycode  76 = VoidSymbol       
+shiftl  altgr   keycode  76 = U+22b6           
+shiftr  altgr   keycode  76 = U+22b6           
+ctrll   altgr   keycode  76 = U+22b7           
+
+                keycode  77 = six              
+        shiftl  keycode  77 = U+2023           
+        shiftr  keycode  77 = U+2023           
+        altgr   keycode  77 = U+2192           
+        ctrll   keycode  77 = Right            
+shiftl  ctrll   keycode  77 = Right            
+shiftr  ctrll   keycode  77 = Right            
+shiftl  altgr   keycode  77 = U+2283           
+shiftr  altgr   keycode  77 = U+2283           
+ctrll   altgr   keycode  77 = U+2287           
+
+                keycode  78 = plus             
+        shiftl  keycode  78 = plus             
+        shiftr  keycode  78 = plus             
+        altgr   keycode  78 = plusminus        
+        ctrll   keycode  78 = U+2213           
+shiftl  ctrll   keycode  78 = U+2213           
+shiftr  ctrll   keycode  78 = U+2213           
+shiftl  altgr   keycode  78 = U+2295           
+shiftr  altgr   keycode  78 = U+2295           
+ctrll   altgr   keycode  78 = U+2214           
+
+                keycode  79 = one              
+        shiftl  keycode  79 = U+2666           
+        shiftr  keycode  79 = U+2666           
+        altgr   keycode  79 = U+2194           
+        ctrll   keycode  79 = End              
+shiftl  ctrll   keycode  79 = End              
+shiftr  ctrll   keycode  79 = End              
+shiftl  altgr   keycode  79 = U+2264           
+shiftr  altgr   keycode  79 = U+2264           
+ctrll   altgr   keycode  79 = U+230a           
+
+                keycode  80 = two              
+        shiftl  keycode  80 = U+2665           
+        shiftr  keycode  80 = U+2665           
+        altgr   keycode  80 = U+2193           
+        ctrll   keycode  80 = Down             
+shiftl  ctrll   keycode  80 = Down             
+shiftr  ctrll   keycode  80 = Down             
+shiftl  altgr   keycode  80 = U+222a           
+shiftr  altgr   keycode  80 = U+222a           
+ctrll   altgr   keycode  80 = U+22c3           
+
+                keycode  81 = three            
+        shiftl  keycode  81 = U+2660           
+        shiftr  keycode  81 = U+2660           
+        altgr   keycode  81 = U+21cc           
+        ctrll   keycode  81 = Next             
+shiftl  ctrll   keycode  81 = Next             
+shiftr  ctrll   keycode  81 = Next             
+shiftl  altgr   keycode  81 = U+2265           
+shiftr  altgr   keycode  81 = U+2265           
+ctrll   altgr   keycode  81 = U+230b           
+
+                keycode  82 = zero             
+        shiftl  keycode  82 = U+2423           
+        shiftr  keycode  82 = U+2423           
+        altgr   keycode  82 = percent          
+        ctrll   keycode  82 = Insert           
+shiftl  ctrll   keycode  82 = Insert           
+shiftr  ctrll   keycode  82 = Insert           
+shiftl  altgr   keycode  82 = U+2030           
+shiftr  altgr   keycode  82 = U+2030           
+ctrll   altgr   keycode  82 = U+25a1           
+
+                keycode  83 = comma            
+        shiftl  keycode  83 = period           
+        shiftr  keycode  83 = period           
+        altgr   keycode  83 = comma            
+        ctrll   keycode  83 = Remove           
+shiftl  ctrll   keycode  83 = Remove           
+shiftr  ctrll   keycode  83 = Remove           
+shiftl  altgr   keycode  83 = U+2032           
+shiftr  altgr   keycode  83 = U+2032           
+ctrll   altgr   keycode  83 = U+2033           
+
+                keycode  96 = KP_Enter         
+
+#==========================================================================
+# additional Keys with control function (has to be edited manually!!!!)
+#==========================================================================
+           control keycode  57 = nul
+# for some obscure reason, this is required even when we set alt_is_meta
+   alt     control keycode  57 = Meta_nul
+   control altgr   keycode  30 = Control_backslash
+   control altgr   keycode  19 = Control_bracketright
+   control altgr   keycode  17 = Control_underscore
+   control altgr   keycode  20 = Control_asciicircum
+
+
+#==========================================================================
+# Strings and Compose
+#==========================================================================
+# string F100 = "setleds +num\n"
diff --git a/data/keymaps/i386/neo/bone.map b/data/keymaps/i386/neo/bone.map
new file mode 100644
index 0000000..06251ba
--- /dev/null
+++ b/data/keymaps/i386/neo/bone.map
@@ -0,0 +1,924 @@
+! bone.map, based on
+!
+! neo.map - German Neo 2 Keyboard   layout
+! 2010 Pascal Hauck, <neo at pascalhauck.de>
+!
+
+#keymaps 0-3,16-19,32-35,64-67,80-83,96-99
+keymaps 0-127
+compose as usual
+strings as usual
+alt_is_meta
+
+#==========================================================================
+# Default Keys (usually not needed)
+#==========================================================================
+
+                keycode   1 = Escape
+            alt keycode   1 = Meta_Escape
+
+     shiftr alt keycode   1 = Meta_Escape
+
+                keycode  14 = Delete
+            alt keycode  14 = Meta_Delete
+     shiftl alt keycode  14 = Meta_Delete
+     shiftr alt keycode  14 = Meta_Delete
+
+                keycode  15 = Tab
+         shiftl keycode  15 = Meta_Tab
+         shiftr keycode  15 = Meta_Tab
+            alt keycode  15 = Meta_Tab
+
+                keycode  28 = Return
+            alt keycode  28 = Meta_Control_m
+
+                keycode  29 = Control
+                keycode  97 = Control
+
+                keycode  56 = Alt
+
+#==========================================================================
+# linux-keys-bare, Control Keys
+#==========================================================================
+
+                keycode  59 = F1
+            alt keycode  59 = Console_1
+    control alt keycode  59 = Console_1
+         shiftl keycode  59 = F13
+         shiftr keycode  59 = F13
+                keycode  60 = F2
+            alt keycode  60 = Console_2
+    control alt keycode  60 = Console_2
+         shiftl keycode  60 = F14
+         shiftr keycode  60 = F14
+                keycode  61 = F3
+            alt keycode  61 = Console_3
+    control alt keycode  61 = Console_3
+         shiftl keycode  61 = F15
+         shiftr keycode  61 = F15
+                keycode  62 = F4
+            alt keycode  62 = Console_4
+    control alt keycode  62 = Console_4
+         shiftl keycode  62 = F16
+         shiftr keycode  62 = F16
+
+                keycode  63 = F5
+            alt keycode  63 = Console_5
+    control alt keycode  63 = Console_5
+         shiftl keycode  63 = F17
+         shiftr keycode  63 = F17
+                keycode  64 = F6
+            alt keycode  64 = Console_6
+    control alt keycode  64 = Console_6
+         shiftl keycode  64 = F18
+         shiftr keycode  64 = F18
+                keycode  65 = F7
+            alt keycode  65 = Console_7
+    control alt keycode  65 = Console_7
+         shiftl keycode  65 = F19
+         shiftr keycode  65 = F19
+                keycode  66 = F8
+            alt keycode  66 = Console_8
+    control alt keycode  66 = Console_8
+         shiftl keycode  66 = F20
+         shiftr keycode  66 = F20
+
+                keycode  67 = F9
+            alt keycode  67 = Console_9
+    control alt keycode  67 = Console_9
+         shiftl keycode  67 = F21
+         shiftr keycode  67 = F21
+                keycode  68 = F10
+            alt keycode  68 = Console_10
+    control alt keycode  68 = Console_10
+         shiftl keycode  68 = F22
+         shiftr keycode  68 = F22
+                keycode  87 = F11
+            alt keycode  87 = Console_11
+    control alt keycode  87 = Console_11
+         shiftl keycode  87 = F23
+         shiftr keycode  87 = F23
+                keycode  88 = F12
+            alt keycode  88 = Console_12
+    control alt keycode  88 = Console_12
+         shiftl keycode  88 = F24
+         shiftr keycode  88 = F24
+
+                keycode 103 = Up
+            alt keycode 103 = KeyboardSignal
+                keycode 105 = Left
+            alt keycode 105 = Decr_Console
+                keycode 106 = Right
+            alt keycode 106 = Incr_Console
+                keycode 108 = Down
+
+                keycode 110 = Insert
+                keycode 111 = Remove
+    control alt keycode 111 = Boot
+                keycode 102 = Home
+                keycode 107 = End
+                keycode 104 = PageUp
+         shiftl keycode 104 = Scroll_Backward
+         shiftr keycode 104 = Scroll_Backward
+                keycode 109 = PageDown
+         shiftl keycode 109 = Scroll_Forward
+         shiftr keycode 109 = Scroll_Forward
+
+                keycode  99 = Compose
+            alt keycode  99 = Control_backslash
+        control keycode  99 = Control_backslash
+          plain keycode  70 = Scroll_Lock
+         shiftl keycode  70 = Show_Memory
+         shiftr keycode  70 = Show_Memory
+        control keycode  70 = Show_State
+            alt keycode  70 = Show_Registers
+                keycode 119 = Pause
+
+## Alternatively:
+#
+#include "linux-keys-bare"
+#
+#         shiftl keycode  59 = F13
+#         shiftr keycode  59 = F13
+#         shiftl keycode  60 = F14
+#         shiftr keycode  60 = F14
+#         shiftl keycode  61 = F15
+#         shiftr keycode  61 = F15
+#         shiftl keycode  62 = F16
+#         shiftr keycode  62 = F16
+#
+#         shiftl keycode  63 = F17
+#         shiftr keycode  63 = F17
+#         shiftl keycode  64 = F18
+#         shiftr keycode  64 = F18
+#         shiftl keycode  65 = F19
+#         shiftr keycode  65 = F19
+#         shiftl keycode  66 = F20
+#         shiftr keycode  66 = F20
+#
+#         shiftl keycode  67 = F21
+#         shiftr keycode  67 = F21
+#         shiftl keycode  68 = F22
+#         shiftr keycode  68 = F22
+#         shiftl keycode  87 = F23
+#         shiftr keycode  87 = F23
+#         shiftl keycode  88 = F24
+#         shiftr keycode  88 = F24
+#
+#         shiftl keycode 104 = Scroll_Backward
+#         shiftr keycode 104 = Scroll_Backward
+#
+#         shiftl keycode 109 = Scroll_Forward
+#         shiftr keycode 109 = Scroll_Forward
+#
+#         shiftl keycode  70 = Show_Memory
+#         shiftr keycode  70 = Show_Memory
+
+#==========================================================================
+# Modifier
+#==========================================================================
+
+                keycode  42 = ShiftL
+        shiftr  keycode  42 = Caps_Lock
+                keycode  54 = ShiftR
+        shiftl  keycode  54 = Caps_Lock
+
+                keycode  58 = AltGr            # Mod3 Left
+                keycode  43 = AltGr            # Mod3 Right
+
+                keycode  86 = CtrlL            # Mod4 Left
+                keycode 100 = CtrlL            # Mod4 Right
+
+#==========================================================================
+# Compose
+#==========================================================================
+
+# TODO: add most important compose definitions
+
+        altgr   keycode  15 = Compose          # Mod3 + Tab: Compose
+
+#==========================================================================
+# Character keys
+#==========================================================================
+                keycode  57 = space
+        shiftl  keycode  57 = space
+        shiftr  keycode  57 = space
+        altgr   keycode  57 = space
+altgr   shiftl  keycode  57 = nobreakspace
+altgr   shiftr  keycode  57 = nobreakspace
+        ctrll   keycode  57 = zero
+shiftl  ctrll   keycode  57 = zero
+shiftr  ctrll   keycode  57 = zero
+altgr   ctrll   keycode  57 = U+202F
+
+                keycode  41 = dead_circumflex
+        shiftl  keycode  41 = dead_caron
+        shiftr  keycode  41 = dead_caron
+        altgr   keycode  41 = U+21BB
+altgr   shiftl  keycode  41 = U+02DE
+altgr   shiftr  keycode  41 = U+02DE
+        ctrll   keycode  41 = U+0307
+
+                keycode  13 = dead_grave
+        shiftl  keycode  13 = dead_cedilla
+        shiftr  keycode  13 = dead_cedilla
+        altgr   keycode  13 = U+030a
+altgr   shiftl  keycode  13 = VoidSymbol
+altgr   shiftr  keycode  13 = VoidSymbol
+        ctrll   keycode  13 = dead_diaeresis
+altgr   ctrll   keycode  13 = macron
+
+                keycode  27 = dead_acute
+        shiftl  keycode  27 = dead_tilde
+        shiftr  keycode  27 = dead_tilde
+        altgr   keycode  27 = VoidSymbol
+altgr   shiftl  keycode  27 = VoidSymbol
+altgr   shiftr  keycode  27 = VoidSymbol
+        ctrll   keycode  27 = dead_doubleacute
+altgr   ctrll   keycode  27 = dead_breve
+
+                keycode   2 = one
+        shiftl  keycode   2 = degree
+        shiftr  keycode   2 = degree
+        altgr   keycode   2 = onesuperior
+altgr   shiftl  keycode   2 = VoidSymbol
+altgr   shiftr  keycode   2 = VoidSymbol
+        ctrll   keycode   2 = ordfeminine
+altgr   ctrll   keycode   2 = notsign
+
+                keycode   3 = two
+        shiftl  keycode   3 = section
+        shiftr  keycode   3 = section
+        altgr   keycode   3 = twosuperior
+altgr   shiftl  keycode   3 = VoidSymbol
+altgr   shiftr  keycode   3 = VoidSymbol
+        ctrll   keycode   3 = masculine
+altgr   ctrll   keycode   3 = U+2228
+
+                keycode   4 = three
+        shiftl  keycode   4 = U+2113
+        shiftr  keycode   4 = U+2113
+        altgr   keycode   4 = threesuperior
+altgr   shiftl  keycode   4 = VoidSymbol
+altgr   shiftr  keycode   4 = VoidSymbol
+        ctrll   keycode   4 = U+2116
+altgr   ctrll   keycode   4 = U+2227
+
+                keycode   5 = four
+        shiftl  keycode   5 = guillemotright
+        shiftr  keycode   5 = guillemotright
+        altgr   keycode   5 = U+203A
+altgr   shiftl  keycode   5 = U+2640
+altgr   shiftr  keycode   5 = U+2640
+altgr   ctrll   keycode   5 = U+22A5
+
+                keycode   6 = five
+        shiftl  keycode   6 = guillemotleft
+        shiftr  keycode   6 = guillemotleft
+        altgr   keycode   6 = U+2039
+altgr   shiftl  keycode   6 = U+2642
+altgr   shiftr  keycode   6 = U+2642
+        ctrll   keycode   6 = periodcentered
+altgr   ctrll   keycode   6 = U+2221
+
+                keycode   7 = six
+        shiftl  keycode   7 = dollar
+        shiftr  keycode   7 = dollar
+        altgr   keycode   7 = cent
+altgr   shiftl  keycode   7 = U+26A5
+altgr   shiftr  keycode   7 = U+26A5
+        ctrll   keycode   7 = sterling
+altgr   ctrll   keycode   7 = U+2225
+
+                keycode   8 = seven
+        shiftl  keycode   8 = U+20ac
+        shiftr  keycode   8 = U+20ac
+        altgr   keycode   8 = yen
+altgr   shiftl  keycode   8 = U+03F0
+altgr   shiftr  keycode   8 = U+03F0
+        ctrll   keycode   8 = currency
+altgr   ctrll   keycode   8 = U+2192
+
+                keycode   9 = eight
+        shiftl  keycode   9 = U+201e
+        shiftr  keycode   9 = U+201e
+        altgr   keycode   9 = U+201a
+altgr   shiftl  keycode   9 = U+2329
+altgr   shiftr  keycode   9 = U+2329
+        ctrll   keycode   9 = Tab
+altgr   ctrll   keycode   9 = U+221e
+
+                keycode  10 = nine
+        shiftl  keycode  10 = U+201c
+        shiftr  keycode  10 = U+201c
+        altgr   keycode  10 = U+2018
+altgr   shiftl  keycode  10 = U+232a
+altgr   shiftr  keycode  10 = U+232a
+        ctrll   keycode  10 = slash
+shiftl  ctrll   keycode  10 = slash
+shiftr  ctrll   keycode  10 = slash
+altgr   ctrll   keycode  10 = U+221d
+
+                keycode  11 = zero
+        shiftl  keycode  11 = U+201d
+        shiftr  keycode  11 = U+201d
+        altgr   keycode  11 = U+2019
+altgr   shiftl  keycode  11 = VoidSymbol
+altgr   shiftr  keycode  11 = VoidSymbol
+        ctrll   keycode  11 = asterisk
+shiftl  ctrll   keycode  11 = asterisk
+shiftr  ctrll   keycode  11 = asterisk
+
+                keycode  12 = minus
+        shiftl  keycode  12 = U+2014
+        shiftr  keycode  12 = U+2014
+        altgr   keycode  12 = VoidSymbol
+altgr   shiftl  keycode  12 = U+2011
+altgr   shiftr  keycode  12 = U+2011
+        ctrll   keycode  12 = minus
+shiftl  ctrll   keycode  12 = minus
+shiftr  ctrll   keycode  12 = minus
+altgr   ctrll   keycode  12 = hyphen
+
+                keycode  16 = j
+shift   shiftl  keycode  16 = j
+shift   shiftr  keycode  16 = j
+        shiftl  keycode  16 = +J
+        shiftr  keycode  16 = +J
+        altgr   keycode  16 = U+2026
+altgr   shiftl  keycode  16 = U+03b8
+altgr   shiftr  keycode  16 = U+03b8
+        ctrll   keycode  16 = Prior
+shiftl  ctrll   keycode  16 = Prior
+shiftr  ctrll   keycode  16 = Prior
+altgr   ctrll   keycode  16 = U+0398
+
+                keycode  17 = d
+shift   shiftl  keycode  17 = d
+shift   shiftr  keycode  17 = d
+        shiftl  keycode  17 = +D
+        shiftr  keycode  17 = +D
+        altgr   keycode  17 = underscore
+altgr   shiftl  keycode  17 = U+03b4
+altgr   shiftr  keycode  17 = U+03b4
+        ctrll   keycode  17 = BackSpace
+shiftl  ctrll   keycode  17 = BackSpace
+shiftr  ctrll   keycode  17 = BackSpace
+altgr   ctrll   keycode  17 = U+0394
+
+                keycode  18 = u
+shift   shiftl  keycode  18 = u
+shift   shiftr  keycode  18 = u
+        shiftl  keycode  18 = +U
+        shiftr  keycode  18 = +U
+        altgr   keycode  18 = bracketleft
+        ctrll   keycode  18 = Up
+shiftl  ctrll   keycode  18 = Up
+shiftr  ctrll   keycode  18 = Up
+altgr   ctrll   keycode  18 = U+2282
+
+                keycode  19 = a
+shift   shiftl  keycode  19 = a
+shift   shiftr  keycode  19 = a
+        shiftl  keycode  19 = +A
+        shiftr  keycode  19 = +A
+        altgr   keycode  19 = bracketright
+altgr   shiftl  keycode  19 = U+03b1
+altgr   shiftr  keycode  19 = U+03b1
+        ctrll   keycode  19 = Remove
+shiftl  ctrll   keycode  19 = Remove
+shiftr  ctrll   keycode  19 = Remove
+altgr   ctrll   keycode  19 = U+2200
+
+                keycode  20 = x
+shift   shiftl  keycode  20 = x
+shift   shiftr  keycode  20 = x
+        shiftl  keycode  20 = +X
+        shiftr  keycode  20 = +X
+        altgr   keycode  20 = asciicircum
+altgr   shiftl  keycode  20 = U+03be
+altgr   shiftr  keycode  20 = U+03be
+        ctrll   keycode  20 = Next
+shiftl  ctrll   keycode  20 = Next
+shiftr  ctrll   keycode  20 = Next
+altgr   ctrll   keycode  20 = U+039e
+
+                keycode  21 = p
+shift   shiftl  keycode  21 = p
+shift   shiftr  keycode  21 = p
+        shiftl  keycode  21 = +P
+        shiftr  keycode  21 = +P
+        altgr   keycode  21 = exclam
+altgr   shiftl  keycode  21 = U+03c0
+altgr   shiftr  keycode  21 = U+03c0
+        ctrll   keycode  21 = exclamdown
+altgr   ctrll   keycode  21 = U+03a0
+
+                keycode  22 = h
+shift   shiftl  keycode  22 = h
+shift   shiftr  keycode  22 = h
+        shiftl  keycode  22 = +H
+        shiftr  keycode  22 = +H
+        altgr   keycode  22 = less
+altgr   shiftl  keycode  22 = U+03c8
+altgr   shiftr  keycode  22 = U+03c8
+        ctrll   keycode  22 = seven
+shiftl  ctrll   keycode  22 = seven
+shiftr  ctrll   keycode  22 = seven
+altgr   ctrll   keycode  22 = U+03a8
+
+                keycode  23 = l
+shift   shiftl  keycode  23 = l
+shift   shiftr  keycode  23 = l
+        shiftl  keycode  23 = +L
+        shiftr  keycode  23 = +L
+        altgr   keycode  23 = greater
+altgr   shiftl  keycode  23 = U+03bb
+altgr   shiftr  keycode  23 = U+03bb
+        ctrll   keycode  23 = eight
+shiftl  ctrll   keycode  23 = eight
+shiftr  ctrll   keycode  23 = eight
+altgr   ctrll   keycode  23 = U+039b
+
+                keycode  24 = m
+shift   shiftl  keycode  24 = m
+shift   shiftr  keycode  24 = m
+        shiftl  keycode  24 = +M
+        shiftr  keycode  24 = +M
+        altgr   keycode  24 = equal
+altgr   shiftl  keycode  24 = U+03bc
+altgr   shiftr  keycode  24 = U+03bc
+        ctrll   keycode  24 = nine
+shiftl  ctrll   keycode  24 = nine
+shiftr  ctrll   keycode  24 = nine
+altgr   ctrll   keycode  24 = U+21d4
+
+                keycode  25 = w
+shift   shiftl  keycode  25 = w
+shift   shiftr  keycode  25 = w
+        shiftl  keycode  25 = +W
+        shiftr  keycode  25 = +W
+        altgr   keycode  25 = ampersand
+altgr   shiftl  keycode  25 = U+03c9
+altgr   shiftr  keycode  25 = U+03c9
+        ctrll   keycode  25 = plus
+shiftl  ctrll   keycode  25 = plus
+shiftr  ctrll   keycode  25 = plus
+altgr   ctrll   keycode  25 = U+03a9
+
+                keycode  26 = ssharp
+        shiftl  keycode  26 = U+1E9E
+        shiftr  keycode  26 = U+1E9E
+        altgr   keycode  26 = U+017F
+altgr   shiftl  keycode  26 = U+03c2
+altgr   shiftr  keycode  26 = U+03c2
+        ctrll   keycode  26 = U+2212
+altgr   ctrll   keycode  26 = U+2218
+
+                keycode  30 = c
+shift   shiftl  keycode  30 = c
+shift   shiftr  keycode  30 = c
+        shiftl  keycode  30 = +C
+        shiftr  keycode  30 = +C
+        altgr   keycode  30 = backslash
+altgr   shiftl  keycode  30 = U+03c7
+altgr   shiftr  keycode  30 = U+03c7
+        ctrll   keycode  30 = Home
+shiftl  ctrll   keycode  30 = Home
+shiftr  ctrll   keycode  30 = Home
+altgr   ctrll   keycode  30 = U+2102
+
+                keycode  31 = t
+shift   shiftl  keycode  31 = t
+shift   shiftr  keycode  31 = t
+        shiftl  keycode  31 = +T
+        shiftr  keycode  31 = +T
+        altgr   keycode  31 = slash
+altgr   shiftl  keycode  31 = U+03c4
+altgr   shiftr  keycode  31 = U+03c4
+        ctrll   keycode  31 = Left
+shiftl  ctrll   keycode  31 = Left
+shiftr  ctrll   keycode  31 = Left
+altgr   ctrll   keycode  31 = U+2202
+
+                keycode  32 = i
+shift   shiftl  keycode  32 = i
+shift   shiftr  keycode  32 = i
+        shiftl  keycode  32 = +I
+        shiftr  keycode  32 = +I
+        altgr   keycode  32 = braceleft
+altgr   shiftl  keycode  32 = U+03b9
+altgr   shiftr  keycode  32 = U+03b9
+        ctrll   keycode  32 = Down
+shiftl  ctrll   keycode  32 = Down
+shiftr  ctrll   keycode  32 = Down
+altgr   ctrll   keycode  32 = U+222b
+
+                keycode  33 = e
+shift   shiftl  keycode  33 = e
+shift   shiftr  keycode  33 = e
+        shiftl  keycode  33 = +E
+        shiftr  keycode  33 = +E
+        altgr   keycode  33 = braceright
+altgr   shiftl  keycode  33 = U+03b5
+altgr   shiftr  keycode  33 = U+03b5
+        ctrll   keycode  33 = Right
+shiftl  ctrll   keycode  33 = Right
+shiftr  ctrll   keycode  33 = Right
+altgr   ctrll   keycode  33 = U+2203
+
+                keycode  34 = o
+shift   shiftl  keycode  34 = o
+shift   shiftr  keycode  34 = o
+        shiftl  keycode  34 = +O
+        shiftr  keycode  34 = +O
+        altgr   keycode  34 = asterisk
+altgr   shiftl  keycode  34 = U+03bf
+altgr   shiftr  keycode  34 = U+03bf
+        ctrll   keycode  34 = End
+shiftl  ctrll   keycode  34 = End
+shiftr  ctrll   keycode  34 = End
+
+                keycode  35 = b
+shift   shiftl  keycode  35 = b
+shift   shiftr  keycode  35 = b
+        shiftl  keycode  35 = +B
+        shiftr  keycode  35 = +B
+        altgr   keycode  35 = question
+altgr   shiftl  keycode  35 = U+03b2
+altgr   shiftr  keycode  35 = U+03b2
+        ctrll   keycode  35 = questiondown
+altgr   ctrll   keycode  35 = U+21D0
+
+                keycode  36 = n
+shift   shiftl  keycode  36 = n
+shift   shiftr  keycode  36 = n
+        shiftl  keycode  36 = +N
+        shiftr  keycode  36 = +N
+        altgr   keycode  36 = parenleft
+altgr   shiftl  keycode  36 = U+03bd
+altgr   shiftr  keycode  36 = U+03bd
+        ctrll   keycode  36 = four
+shiftl  ctrll   keycode  36 = four
+shiftr  ctrll   keycode  36 = four
+altgr   ctrll   keycode  36 = U+2115
+
+                keycode  37 = r
+shift   shiftl  keycode  37 = r
+shift   shiftr  keycode  37 = r
+        shiftl  keycode  37 = +R
+        shiftr  keycode  37 = +R
+        altgr   keycode  37 = parenright
+altgr   shiftl  keycode  37 = U+03c1
+altgr   shiftr  keycode  37 = U+03c1
+        ctrll   keycode  37 = five
+shiftl  ctrll   keycode  37 = five
+shiftr  ctrll   keycode  37 = five
+altgr   ctrll   keycode  37 = U+211D
+
+                keycode  38 = s
+shift   shiftl  keycode  38 = s
+shift   shiftr  keycode  38 = s
+        shiftl  keycode  38 = +S
+        shiftr  keycode  38 = +S
+        altgr   keycode  38 = minus
+altgr   shiftl  keycode  38 = U+03c3
+altgr   shiftr  keycode  38 = U+03c3
+        ctrll   keycode  38 = six
+shiftl  ctrll   keycode  38 = six
+shiftr  ctrll   keycode  38 = six
+altgr   ctrll   keycode  38 = U+03a3
+
+                keycode  39 = g
+shift   shiftl  keycode  39 = g
+shift   shiftr  keycode  39 = g
+        shiftl  keycode  39 = +G
+        shiftr  keycode  39 = +G
+        altgr   keycode  39 = colon
+altgr   shiftl  keycode  39 = U+03b3
+altgr   shiftr  keycode  39 = U+03b3
+        ctrll   keycode  39 = U+002c
+shiftl  ctrll   keycode  39 = comma
+shiftr  ctrll   keycode  39 = comma
+altgr   ctrll   keycode  39 = U+0393
+
+                keycode  40 = q
+shift   shiftl  keycode  40 = q
+shift   shiftr  keycode  40 = q
+        shiftl  keycode  40 = +Q
+        shiftr  keycode  40 = +Q
+        altgr   keycode  40 = at
+altgr   shiftl  keycode  40 = U+03D5
+altgr   shiftr  keycode  40 = U+03D5
+        ctrll   keycode  40 = period
+shiftl  ctrll   keycode  40 = U+002e
+shiftr  ctrll   keycode  40 = U+002e
+altgr   ctrll   keycode  40 = U+211A
+
+                keycode  44 = f
+shift   shiftl  keycode  44 = f
+shift   shiftr  keycode  44 = f
+        shiftl  keycode  44 = +F
+        shiftr  keycode  44 = +F
+        altgr   keycode  44 = numbersign
+altgr   shiftl  keycode  44 = U+03c6
+altgr   shiftr  keycode  44 = U+03c6
+        ctrll   keycode  44 = Escape
+shiftl  ctrll   keycode  44 = Escape
+shiftr  ctrll   keycode  44 = Escape
+altgr   ctrll   keycode  44 = U+03a6
+
+                keycode  45 = v
+shift   shiftl  keycode  45 = v
+shift   shiftr  keycode  45 = v
+        shiftl  keycode  45 = +V
+        shiftr  keycode  45 = +V
+        altgr   keycode  45 = dollar
+        ctrll   keycode  45 = Tab
+altgr   ctrll   keycode  45 = U+221a
+
+                keycode  46 = udiaeresis
+        shiftl  keycode  46 = Udiaeresis
+        shiftr  keycode  46 = Udiaeresis
+        altgr   keycode  46 = bar
+altgr   shiftl  keycode  46 = VoidSymbol
+altgr   shiftr  keycode  46 = VoidSymbol
+        ctrll   keycode  46 = Insert
+shiftl  ctrll   keycode  46 = Insert
+shiftr  ctrll   keycode  46 = Insert
+altgr   ctrll   keycode  46 = U+222a
+
+                keycode  47 = adiaeresis
+        shiftl  keycode  47 = Adiaeresis
+        shiftr  keycode  47 = Adiaeresis
+        altgr   keycode  47 = asciitilde
+altgr   shiftl  keycode  47 = U+03b7
+altgr   shiftr  keycode  47 = U+03b7
+        ctrll   keycode  47 = Return
+shiftl  ctrll   keycode  47 = Return
+shiftr  ctrll   keycode  47 = Return
+altgr   ctrll   keycode  47 = U+2135
+
+                keycode  48 = odiaeresis
+        shiftl  keycode  48 = Odiaeresis
+        shiftr  keycode  48 = Odiaeresis
+        altgr   keycode  48 = grave
+altgr   shiftl  keycode  48 = U+03F5
+altgr   shiftr  keycode  48 = U+03F5
+altgr   ctrll   keycode  48 = U+2229
+
+                keycode  49 = y
+shift   shiftl  keycode  49 = y
+shift   shiftr  keycode  49 = y
+        shiftl  keycode  49 = +Y
+        shiftr  keycode  49 = +Y
+        altgr   keycode  49 = plus
+altgr   shiftl  keycode  49 = U+03c5
+altgr   shiftr  keycode  49 = U+03c5
+        ctrll   keycode  49 = colon
+altgr   ctrll   keycode  49 = U+2207
+
+                keycode  50 = z
+shift   shiftl  keycode  50 = z
+shift   shiftr  keycode  50 = z
+        shiftl  keycode  50 = +Z
+        shiftr  keycode  50 = +Z
+        altgr   keycode  50 = percent
+altgr   shiftl  keycode  50 = U+03b6
+altgr   shiftr  keycode  50 = U+03b6
+        ctrll   keycode  50 = one
+shiftl  ctrll   keycode  50 = one
+shiftr  ctrll   keycode  50 = one
+altgr   ctrll   keycode  50 = U+2124
+
+                keycode  51 = comma
+        shiftl  keycode  51 = U+2013
+        shiftr  keycode  51 = U+2013
+        altgr   keycode  51 = quotedbl
+altgr   shiftl  keycode  51 = U+03F1
+altgr   shiftr  keycode  51 = U+03F1
+        ctrll   keycode  51 = two
+shiftl  ctrll   keycode  51 = two
+shiftr  ctrll   keycode  51 = two
+altgr   ctrll   keycode  51 = U+21D2
+
+                keycode  52 = period
+        shiftl  keycode  52 = U+2022
+        shiftr  keycode  52 = U+2022
+        altgr   keycode  52 = apostrophe
+altgr   shiftl  keycode  52 = U+03D1
+altgr   shiftr  keycode  52 = U+03D1
+        ctrll   keycode  52 = three
+shiftl  ctrll   keycode  52 = three
+shiftr  ctrll   keycode  52 = three
+altgr   ctrll   keycode  52 = U+21A6
+
+                keycode  53 = k
+shift   shiftl  keycode  53 = k
+shift   shiftr  keycode  53 = k
+        shiftl  keycode  53 = +K
+        shiftr  keycode  53 = +K
+        altgr   keycode  53 = semicolon
+altgr   shiftl  keycode  53 = U+03ba
+altgr   shiftr  keycode  53 = U+03ba
+        ctrll   keycode  53 = semicolon
+altgr   ctrll   keycode  53 = multiply
+
+#==========================================================================
+# Keypad
+#==========================================================================
+
+                keycode  69 = Tab              
+        shiftl  keycode  69 = Tab              
+        shiftr  keycode  69 = Tab              
+        altgr   keycode  69 = equal            
+        ctrll   keycode  69 = U+2260           
+shiftl  ctrll   keycode  69 = U+2260           
+shiftr  ctrll   keycode  69 = U+2260           
+shiftl  altgr   keycode  69 = U+2248           
+shiftr  altgr   keycode  69 = U+2248           
+ctrll   altgr   keycode  69 = U+2261           
+
+                keycode  98 = slash            
+        shiftl  keycode  98 = slash            
+        shiftr  keycode  98 = slash            
+        altgr   keycode  98 = division         
+        ctrll   keycode  98 = U+2044           
+shiftl  ctrll   keycode  98 = U+2044           
+shiftr  ctrll   keycode  98 = U+2044           
+shiftl  altgr   keycode  98 = U+2300           
+shiftr  altgr   keycode  98 = U+2300           
+ctrll   altgr   keycode  98 = U+2223           
+
+                keycode  55 = asterisk         
+        shiftl  keycode  55 = asterisk         
+        shiftr  keycode  55 = asterisk         
+        altgr   keycode  55 = U+22c5           
+        ctrll   keycode  55 = multiply         
+shiftl  ctrll   keycode  55 = multiply         
+shiftr  ctrll   keycode  55 = multiply         
+shiftl  altgr   keycode  55 = U+2299           
+shiftr  altgr   keycode  55 = U+2299           
+ctrll   altgr   keycode  55 = U+2297           
+
+                keycode  74 = minus            
+        shiftl  keycode  74 = minus            
+        shiftr  keycode  74 = minus            
+        altgr   keycode  74 = U+2212           
+        ctrll   keycode  74 = U+2216           
+shiftl  ctrll   keycode  74 = U+2216           
+shiftr  ctrll   keycode  74 = U+2216           
+shiftl  altgr   keycode  74 = U+2296           
+shiftr  altgr   keycode  74 = U+2296           
+ctrll   altgr   keycode  74 = U+2238           
+
+                keycode  71 = seven            
+        shiftl  keycode  71 = U+2714           
+        shiftr  keycode  71 = U+2714           
+        altgr   keycode  71 = U+2195           
+        ctrll   keycode  71 = Home             
+shiftl  ctrll   keycode  71 = Home             
+shiftr  ctrll   keycode  71 = Home             
+shiftl  altgr   keycode  71 = U+226a           
+shiftr  altgr   keycode  71 = U+226a           
+ctrll   altgr   keycode  71 = U+2308           
+
+                keycode  72 = eight            
+        shiftl  keycode  72 = U+2718           
+        shiftr  keycode  72 = U+2718           
+        altgr   keycode  72 = U+2191           
+        ctrll   keycode  72 = Up               
+shiftl  ctrll   keycode  72 = Up               
+shiftr  ctrll   keycode  72 = Up               
+shiftl  altgr   keycode  72 = U+2229           
+shiftr  altgr   keycode  72 = U+2229           
+ctrll   altgr   keycode  72 = U+22c2           
+
+                keycode  73 = nine             
+        shiftl  keycode  73 = U+2020           
+        shiftr  keycode  73 = U+2020           
+        altgr   keycode  73 = VoidSymbol       
+        ctrll   keycode  73 = Prior            
+shiftl  ctrll   keycode  73 = Prior            
+shiftr  ctrll   keycode  73 = Prior            
+shiftl  altgr   keycode  73 = U+226b           
+shiftr  altgr   keycode  73 = U+226b           
+ctrll   altgr   keycode  73 = U+2309           
+
+                keycode  75 = four             
+        shiftl  keycode  75 = U+2663           
+        shiftr  keycode  75 = U+2663           
+        altgr   keycode  75 = U+2190           
+        ctrll   keycode  75 = Left             
+shiftl  ctrll   keycode  75 = Left             
+shiftr  ctrll   keycode  75 = Left             
+shiftl  altgr   keycode  75 = U+2282           
+shiftr  altgr   keycode  75 = U+2282           
+ctrll   altgr   keycode  75 = U+2286           
+
+                keycode  76 = five             
+        shiftl  keycode  76 = U+20ac           
+        shiftr  keycode  76 = U+20ac           
+        altgr   keycode  76 = colon            
+        ctrll   keycode  76 = VoidSymbol       
+shiftl  ctrll   keycode  76 = VoidSymbol       
+shiftr  ctrll   keycode  76 = VoidSymbol       
+shiftl  altgr   keycode  76 = U+22b6           
+shiftr  altgr   keycode  76 = U+22b6           
+ctrll   altgr   keycode  76 = U+22b7           
+
+                keycode  77 = six              
+        shiftl  keycode  77 = U+2023           
+        shiftr  keycode  77 = U+2023           
+        altgr   keycode  77 = U+2192           
+        ctrll   keycode  77 = Right            
+shiftl  ctrll   keycode  77 = Right            
+shiftr  ctrll   keycode  77 = Right            
+shiftl  altgr   keycode  77 = U+2283           
+shiftr  altgr   keycode  77 = U+2283           
+ctrll   altgr   keycode  77 = U+2287           
+
+                keycode  78 = plus             
+        shiftl  keycode  78 = plus             
+        shiftr  keycode  78 = plus             
+        altgr   keycode  78 = plusminus        
+        ctrll   keycode  78 = U+2213           
+shiftl  ctrll   keycode  78 = U+2213           
+shiftr  ctrll   keycode  78 = U+2213           
+shiftl  altgr   keycode  78 = U+2295           
+shiftr  altgr   keycode  78 = U+2295           
+ctrll   altgr   keycode  78 = U+2214           
+
+                keycode  79 = one              
+        shiftl  keycode  79 = U+2666           
+        shiftr  keycode  79 = U+2666           
+        altgr   keycode  79 = U+2194           
+        ctrll   keycode  79 = End              
+shiftl  ctrll   keycode  79 = End              
+shiftr  ctrll   keycode  79 = End              
+shiftl  altgr   keycode  79 = U+2264           
+shiftr  altgr   keycode  79 = U+2264           
+ctrll   altgr   keycode  79 = U+230a           
+
+                keycode  80 = two              
+        shiftl  keycode  80 = U+2665           
+        shiftr  keycode  80 = U+2665           
+        altgr   keycode  80 = U+2193           
+        ctrll   keycode  80 = Down             
+shiftl  ctrll   keycode  80 = Down             
+shiftr  ctrll   keycode  80 = Down             
+shiftl  altgr   keycode  80 = U+222a           
+shiftr  altgr   keycode  80 = U+222a           
+ctrll   altgr   keycode  80 = U+22c3           
+
+                keycode  81 = three            
+        shiftl  keycode  81 = U+2660           
+        shiftr  keycode  81 = U+2660           
+        altgr   keycode  81 = U+21cc           
+        ctrll   keycode  81 = Next             
+shiftl  ctrll   keycode  81 = Next             
+shiftr  ctrll   keycode  81 = Next             
+shiftl  altgr   keycode  81 = U+2265           
+shiftr  altgr   keycode  81 = U+2265           
+ctrll   altgr   keycode  81 = U+230b           
+
+                keycode  82 = zero             
+        shiftl  keycode  82 = U+2423           
+        shiftr  keycode  82 = U+2423           
+        altgr   keycode  82 = percent          
+        ctrll   keycode  82 = Insert           
+shiftl  ctrll   keycode  82 = Insert           
+shiftr  ctrll   keycode  82 = Insert           
+shiftl  altgr   keycode  82 = U+2030           
+shiftr  altgr   keycode  82 = U+2030           
+ctrll   altgr   keycode  82 = U+25a1           
+
+                keycode  83 = comma            
+        shiftl  keycode  83 = period           
+        shiftr  keycode  83 = period           
+        altgr   keycode  83 = comma            
+        ctrll   keycode  83 = Remove           
+shiftl  ctrll   keycode  83 = Remove           
+shiftr  ctrll   keycode  83 = Remove           
+shiftl  altgr   keycode  83 = U+2032           
+shiftr  altgr   keycode  83 = U+2032           
+ctrll   altgr   keycode  83 = U+2033           
+
+                keycode  96 = KP_Enter         
+
+#==========================================================================
+# additional Keys with control function (has to be edited manually!!!!)
+#==========================================================================
+           control keycode  57 = nul
+# for some obscure reason, this is required even when we set alt_is_meta
+   alt     control keycode  57 = Meta_nul
+   control altgr   keycode  30 = Control_backslash
+   control altgr   keycode  19 = Control_bracketright
+   control altgr   keycode  17 = Control_underscore
+   control altgr   keycode  20 = Control_asciicircum
+
+
+#==========================================================================
+# Strings and Compose
+#==========================================================================
+# string F100 = "setleds +num\n"
diff --git a/data/keymaps/i386/neo/koy.map b/data/keymaps/i386/neo/koy.map
new file mode 100644
index 0000000..cdb7cc7
--- /dev/null
+++ b/data/keymaps/i386/neo/koy.map
@@ -0,0 +1,923 @@
+! koy.map - German Koy Keyboard Layout
+!
+
+#keymaps 0-3,16-19,32-35,64-67,80-83,96-99
+keymaps 0-127
+compose as usual
+strings as usual
+alt_is_meta
+
+#==========================================================================
+# Default Keys (usually not needed)
+#==========================================================================
+
+                keycode   1 = Escape
+            alt keycode   1 = Meta_Escape
+
+     shiftr alt keycode   1 = Meta_Escape
+
+                keycode  14 = Delete
+            alt keycode  14 = Meta_Delete
+     shiftl alt keycode  14 = Meta_Delete
+     shiftr alt keycode  14 = Meta_Delete
+
+                keycode  15 = Tab
+         shiftl keycode  15 = Meta_Tab
+         shiftr keycode  15 = Meta_Tab
+            alt keycode  15 = Meta_Tab
+
+                keycode  28 = Return
+            alt keycode  28 = Meta_Control_m
+
+                keycode  29 = Control
+                keycode  97 = Control
+
+                keycode  56 = Alt
+
+#==========================================================================
+# linux-keys-bare, Control Keys
+#==========================================================================
+
+                keycode  59 = F1
+            alt keycode  59 = Console_1
+    control alt keycode  59 = Console_1
+         shiftl keycode  59 = F13
+         shiftr keycode  59 = F13
+                keycode  60 = F2
+            alt keycode  60 = Console_2
+    control alt keycode  60 = Console_2
+         shiftl keycode  60 = F14
+         shiftr keycode  60 = F14
+                keycode  61 = F3
+            alt keycode  61 = Console_3
+    control alt keycode  61 = Console_3
+         shiftl keycode  61 = F15
+         shiftr keycode  61 = F15
+                keycode  62 = F4
+            alt keycode  62 = Console_4
+    control alt keycode  62 = Console_4
+         shiftl keycode  62 = F16
+         shiftr keycode  62 = F16
+
+                keycode  63 = F5
+            alt keycode  63 = Console_5
+    control alt keycode  63 = Console_5
+         shiftl keycode  63 = F17
+         shiftr keycode  63 = F17
+                keycode  64 = F6
+            alt keycode  64 = Console_6
+    control alt keycode  64 = Console_6
+         shiftl keycode  64 = F18
+         shiftr keycode  64 = F18
+                keycode  65 = F7
+            alt keycode  65 = Console_7
+    control alt keycode  65 = Console_7
+         shiftl keycode  65 = F19
+         shiftr keycode  65 = F19
+                keycode  66 = F8
+            alt keycode  66 = Console_8
+    control alt keycode  66 = Console_8
+         shiftl keycode  66 = F20
+         shiftr keycode  66 = F20
+
+                keycode  67 = F9
+            alt keycode  67 = Console_9
+    control alt keycode  67 = Console_9
+         shiftl keycode  67 = F21
+         shiftr keycode  67 = F21
+                keycode  68 = F10
+            alt keycode  68 = Console_10
+    control alt keycode  68 = Console_10
+         shiftl keycode  68 = F22
+         shiftr keycode  68 = F22
+                keycode  87 = F11
+            alt keycode  87 = Console_11
+    control alt keycode  87 = Console_11
+         shiftl keycode  87 = F23
+         shiftr keycode  87 = F23
+                keycode  88 = F12
+            alt keycode  88 = Console_12
+    control alt keycode  88 = Console_12
+         shiftl keycode  88 = F24
+         shiftr keycode  88 = F24
+
+                keycode 103 = Up
+            alt keycode 103 = KeyboardSignal
+                keycode 105 = Left
+            alt keycode 105 = Decr_Console
+                keycode 106 = Right
+            alt keycode 106 = Incr_Console
+                keycode 108 = Down
+
+                keycode 110 = Insert
+                keycode 111 = Remove
+    control alt keycode 111 = Boot
+                keycode 102 = Home
+                keycode 107 = End
+                keycode 104 = PageUp
+         shiftl keycode 104 = Scroll_Backward
+         shiftr keycode 104 = Scroll_Backward
+                keycode 109 = PageDown
+         shiftl keycode 109 = Scroll_Forward
+         shiftr keycode 109 = Scroll_Forward
+
+                keycode  99 = Compose
+            alt keycode  99 = Control_backslash
+        control keycode  99 = Control_backslash
+          plain keycode  70 = Scroll_Lock
+         shiftl keycode  70 = Show_Memory
+         shiftr keycode  70 = Show_Memory
+        control keycode  70 = Show_State
+            alt keycode  70 = Show_Registers
+                keycode 119 = Pause
+
+## Alternatively:
+#
+#include "linux-keys-bare"
+#
+#         shiftl keycode  59 = F13
+#         shiftr keycode  59 = F13
+#         shiftl keycode  60 = F14
+#         shiftr keycode  60 = F14
+#         shiftl keycode  61 = F15
+#         shiftr keycode  61 = F15
+#         shiftl keycode  62 = F16
+#         shiftr keycode  62 = F16
+#
+#         shiftl keycode  63 = F17
+#         shiftr keycode  63 = F17
+#         shiftl keycode  64 = F18
+#         shiftr keycode  64 = F18
+#         shiftl keycode  65 = F19
+#         shiftr keycode  65 = F19
+#         shiftl keycode  66 = F20
+#         shiftr keycode  66 = F20
+#
+#         shiftl keycode  67 = F21
+#         shiftr keycode  67 = F21
+#         shiftl keycode  68 = F22
+#         shiftr keycode  68 = F22
+#         shiftl keycode  87 = F23
+#         shiftr keycode  87 = F23
+#         shiftl keycode  88 = F24
+#         shiftr keycode  88 = F24
+#
+#         shiftl keycode 104 = Scroll_Backward
+#         shiftr keycode 104 = Scroll_Backward
+#
+#         shiftl keycode 109 = Scroll_Forward
+#         shiftr keycode 109 = Scroll_Forward
+#
+#         shiftl keycode  70 = Show_Memory
+#         shiftr keycode  70 = Show_Memory
+
+#==========================================================================
+# Modifier
+#==========================================================================
+
+                keycode  42 = ShiftL
+        shiftr  keycode  42 = Caps_Lock
+                keycode  54 = ShiftR
+        shiftl  keycode  54 = Caps_Lock
+
+                keycode  58 = AltGr            # Mod3 Left
+                keycode  43 = AltGr            # Mod3 Right
+
+                keycode  86 = CtrlL            # Mod4 Left
+                keycode 100 = CtrlL            # Mod4 Right
+
+#==========================================================================
+# Compose
+#==========================================================================
+
+# TODO: add most important compose definitions
+
+        altgr   keycode  15 = Compose          # Mod3 + Tab: Compose
+
+#==========================================================================
+# Character keys
+#==========================================================================
+                keycode  57 = space
+        shiftl  keycode  57 = space
+        shiftr  keycode  57 = space
+        altgr   keycode  57 = space
+altgr   shiftl  keycode  57 = nobreakspace
+altgr   shiftr  keycode  57 = nobreakspace
+        ctrll   keycode  57 = zero
+shiftl  ctrll   keycode  57 = zero
+shiftr  ctrll   keycode  57 = zero
+altgr   ctrll   keycode  57 = U+202F
+
+                keycode  41 = dead_circumflex
+        shiftl  keycode  41 = dead_caron
+        shiftr  keycode  41 = dead_caron
+        altgr   keycode  41 = U+21BB
+altgr   shiftl  keycode  41 = U+02DE
+altgr   shiftr  keycode  41 = U+02DE
+        ctrll   keycode  41 = U+0307
+
+                keycode  13 = dead_grave
+        shiftl  keycode  13 = dead_cedilla
+        shiftr  keycode  13 = dead_cedilla
+        altgr   keycode  13 = U+030a
+altgr   shiftl  keycode  13 = VoidSymbol
+altgr   shiftr  keycode  13 = VoidSymbol
+        ctrll   keycode  13 = dead_diaeresis
+altgr   ctrll   keycode  13 = U+0304
+
+                keycode  27 = dead_acute
+        shiftl  keycode  27 = dead_tilde
+        shiftr  keycode  27 = dead_tilde
+        altgr   keycode  27 = VoidSymbol
+altgr   shiftl  keycode  27 = VoidSymbol
+altgr   shiftr  keycode  27 = VoidSymbol
+        ctrll   keycode  27 = dead_doubleacute
+altgr   ctrll   keycode  27 = dead_breve
+
+                keycode   2 = one
+        shiftl  keycode   2 = degree
+        shiftr  keycode   2 = degree
+        altgr   keycode   2 = onesuperior
+altgr   shiftl  keycode   2 = VoidSymbol
+altgr   shiftr  keycode   2 = VoidSymbol
+        ctrll   keycode   2 = ordfeminine
+altgr   ctrll   keycode   2 = notsign
+
+                keycode   3 = two
+        shiftl  keycode   3 = section
+        shiftr  keycode   3 = section
+        altgr   keycode   3 = twosuperior
+altgr   shiftl  keycode   3 = VoidSymbol
+altgr   shiftr  keycode   3 = VoidSymbol
+        ctrll   keycode   3 = masculine
+altgr   ctrll   keycode   3 = U+2228
+
+                keycode   4 = three
+        shiftl  keycode   4 = U+2113
+        shiftr  keycode   4 = U+2113
+        altgr   keycode   4 = threesuperior
+altgr   shiftl  keycode   4 = VoidSymbol
+altgr   shiftr  keycode   4 = VoidSymbol
+        ctrll   keycode   4 = U+2116
+altgr   ctrll   keycode   4 = U+2227
+
+                keycode   5 = four
+        shiftl  keycode   5 = guillemotright
+        shiftr  keycode   5 = guillemotright
+        altgr   keycode   5 = U+203A
+altgr   shiftl  keycode   5 = U+2640
+altgr   shiftr  keycode   5 = U+2640
+altgr   ctrll   keycode   5 = U+22A5
+
+                keycode   6 = five
+        shiftl  keycode   6 = guillemotleft
+        shiftr  keycode   6 = guillemotleft
+        altgr   keycode   6 = U+2039
+altgr   shiftl  keycode   6 = U+2642
+altgr   shiftr  keycode   6 = U+2642
+        ctrll   keycode   6 = periodcentered
+altgr   ctrll   keycode   6 = U+2221
+
+                keycode   7 = six
+        shiftl  keycode   7 = dollar
+        shiftr  keycode   7 = dollar
+        altgr   keycode   7 = cent
+altgr   shiftl  keycode   7 = U+26A5
+altgr   shiftr  keycode   7 = U+26A5
+        ctrll   keycode   7 = sterling
+altgr   ctrll   keycode   7 = U+2225
+
+                keycode   8 = seven
+        shiftl  keycode   8 = U+20ac
+        shiftr  keycode   8 = U+20ac
+        altgr   keycode   8 = yen
+altgr   shiftl  keycode   8 = U+03F0
+altgr   shiftr  keycode   8 = U+03F0
+        ctrll   keycode   8 = currency
+altgr   ctrll   keycode   8 = U+2192
+
+                keycode   9 = eight
+        shiftl  keycode   9 = U+201e
+        shiftr  keycode   9 = U+201e
+        altgr   keycode   9 = U+201a
+altgr   shiftl  keycode   9 = U+2329
+altgr   shiftr  keycode   9 = U+2329
+        ctrll   keycode   9 = Tab
+altgr   ctrll   keycode   9 = U+221e
+
+                keycode  10 = nine
+        shiftl  keycode  10 = U+201c
+        shiftr  keycode  10 = U+201c
+        altgr   keycode  10 = U+2018
+altgr   shiftl  keycode  10 = U+232a
+altgr   shiftr  keycode  10 = U+232a
+        ctrll   keycode  10 = slash
+shiftl  ctrll   keycode  10 = slash
+shiftr  ctrll   keycode  10 = slash
+altgr   ctrll   keycode  10 = U+221d
+
+                keycode  11 = zero
+        shiftl  keycode  11 = U+201d
+        shiftr  keycode  11 = U+201d
+        altgr   keycode  11 = U+2019
+altgr   shiftl  keycode  11 = VoidSymbol
+altgr   shiftr  keycode  11 = VoidSymbol
+        ctrll   keycode  11 = asterisk
+shiftl  ctrll   keycode  11 = asterisk
+shiftr  ctrll   keycode  11 = asterisk
+
+                keycode  12 = minus
+        shiftl  keycode  12 = U+2014
+        shiftr  keycode  12 = U+2014
+        altgr   keycode  12 = VoidSymbol
+altgr   shiftl  keycode  12 = U+2011
+altgr   shiftr  keycode  12 = U+2011
+        ctrll   keycode  12 = KP_Subtract
+shiftl  ctrll   keycode  12 = KP_Subtract
+shiftr  ctrll   keycode  12 = KP_Subtract
+altgr   ctrll   keycode  12 = hyphen
+
+                keycode  16 = k
+shift   shiftl  keycode  16 = k
+shift   shiftr  keycode  16 = k
+        shiftl  keycode  16 = +K
+        shiftr  keycode  16 = +K
+        altgr   keycode  16 = U+2026
+altgr   shiftl  keycode  16 = U+03ba
+altgr   shiftr  keycode  16 = U+03ba
+        ctrll   keycode  16 = Prior
+shiftl  ctrll   keycode  16 = Prior
+shiftr  ctrll   keycode  16 = Prior
+altgr   ctrll   keycode  16 = multiply
+
+                keycode  17 = period
+        shiftl  keycode  17 = U+2022
+        shiftr  keycode  17 = U+2022
+        altgr   keycode  17 = underscore
+        ctrll   keycode  17 = BackSpace
+shiftl  ctrll   keycode  17 = BackSpace
+shiftr  ctrll   keycode  17 = BackSpace
+altgr   ctrll   keycode  17 = U+2282
+
+                keycode  18 = o
+shift   shiftl  keycode  18 = o
+shift   shiftr  keycode  18 = o
+        shiftl  keycode  18 = +O
+        shiftr  keycode  18 = +O
+        altgr   keycode  18 = bracketleft
+altgr   shiftl  keycode  18 = U+03bb
+altgr   shiftr  keycode  18 = U+03bb
+        ctrll   keycode  18 = Up
+shiftl  ctrll   keycode  18 = Up
+shiftr  ctrll   keycode  18 = Up
+altgr   ctrll   keycode  18 = U+222a
+
+                keycode  19 = comma
+        shiftl  keycode  19 = U+2013
+        shiftr  keycode  19 = U+2013
+        altgr   keycode  19 = bracketright
+altgr   shiftl  keycode  19 = U+03D1
+altgr   shiftr  keycode  19 = U+03D1
+        ctrll   keycode  19 = Remove
+shiftl  ctrll   keycode  19 = Remove
+shiftr  ctrll   keycode  19 = Remove
+altgr   ctrll   keycode  19 = U+21A6
+
+                keycode  20 = y
+shift   shiftl  keycode  20 = y
+shift   shiftr  keycode  20 = y
+        shiftl  keycode  20 = +Y
+        shiftr  keycode  20 = +Y
+        altgr   keycode  20 = asciicircum
+altgr   shiftl  keycode  20 = U+03b7
+altgr   shiftr  keycode  20 = U+03b7
+        ctrll   keycode  20 = Next
+shiftl  ctrll   keycode  20 = Next
+shiftr  ctrll   keycode  20 = Next
+altgr   ctrll   keycode  20 = U+2135
+
+                keycode  21 = v
+shift   shiftl  keycode  21 = v
+shift   shiftr  keycode  21 = v
+        shiftl  keycode  21 = +V
+        shiftr  keycode  21 = +V
+        altgr   keycode  21 = exclam
+altgr   shiftl  keycode  21 = U+221a
+altgr   shiftr  keycode  21 = U+221a
+        ctrll   keycode  21 = exclamdown
+
+                keycode  22 = g
+shift   shiftl  keycode  22 = g
+shift   shiftr  keycode  22 = g
+        shiftl  keycode  22 = +G
+        shiftr  keycode  22 = +G
+        altgr   keycode  22 = less
+altgr   shiftl  keycode  22 = U+03b3
+altgr   shiftr  keycode  22 = U+03b3
+        ctrll   keycode  22 = seven
+shiftl  ctrll   keycode  22 = seven
+shiftr  ctrll   keycode  22 = seven
+altgr   ctrll   keycode  22 = U+0393
+
+                keycode  23 = c
+shift   shiftl  keycode  23 = c
+shift   shiftr  keycode  23 = c
+        shiftl  keycode  23 = +C
+        shiftr  keycode  23 = +C
+        altgr   keycode  23 = greater
+altgr   shiftl  keycode  23 = U+03c7
+altgr   shiftr  keycode  23 = U+03c7
+        ctrll   keycode  23 = eight
+shiftl  ctrll   keycode  23 = eight
+shiftr  ctrll   keycode  23 = eight
+altgr   ctrll   keycode  23 = U+2102
+
+                keycode  24 = l
+shift   shiftl  keycode  24 = l
+shift   shiftr  keycode  24 = l
+        shiftl  keycode  24 = +L
+        shiftr  keycode  24 = +L
+        altgr   keycode  24 = equal
+altgr   shiftl  keycode  24 = U+03bb
+altgr   shiftr  keycode  24 = U+03bb
+        ctrll   keycode  24 = nine
+shiftl  ctrll   keycode  24 = nine
+shiftr  ctrll   keycode  24 = nine
+altgr   ctrll   keycode  24 = U+039b
+
+                keycode  25 = ssharp
+        shiftl  keycode  25 = U+1E9E
+        shiftr  keycode  25 = U+1E9E
+        altgr   keycode  25 = ampersand
+altgr   shiftl  keycode  25 = U+03b8
+altgr   shiftr  keycode  25 = U+03b8
+        ctrll   keycode  25 = KP_Add
+shiftl  ctrll   keycode  25 = KP_Add
+shiftr  ctrll   keycode  25 = KP_Add
+altgr   ctrll   keycode  25 = U+0398
+
+                keycode  26 = z
+shift   shiftl  keycode  26 = z
+shift   shiftr  keycode  26 = z
+        shiftl  keycode  26 = +Z
+        shiftr  keycode  26 = +Z
+        altgr   keycode  26 = U+017F
+altgr   shiftl  keycode  26 = U+03c6
+altgr   shiftr  keycode  26 = U+03c6
+        ctrll   keycode  26 = U+2212
+altgr   ctrll   keycode  26 = U+03a6
+
+                keycode  30 = h
+shift   shiftl  keycode  30 = h
+shift   shiftr  keycode  30 = h
+        shiftl  keycode  30 = +H
+        shiftr  keycode  30 = +H
+        altgr   keycode  30 = backslash
+altgr   shiftl  keycode  30 = U+03c8
+altgr   shiftr  keycode  30 = U+03c8
+        ctrll   keycode  30 = Home
+shiftl  ctrll   keycode  30 = Home
+shiftr  ctrll   keycode  30 = Home
+altgr   ctrll   keycode  30 = U+03a8
+
+                keycode  31 = a
+shift   shiftl  keycode  31 = a
+shift   shiftr  keycode  31 = a
+        shiftl  keycode  31 = +A
+        shiftr  keycode  31 = +A
+        altgr   keycode  31 = slash
+altgr   shiftl  keycode  31 = U+03b9
+altgr   shiftr  keycode  31 = U+03b9
+        ctrll   keycode  31 = Left
+shiftl  ctrll   keycode  31 = Left
+shiftr  ctrll   keycode  31 = Left
+altgr   ctrll   keycode  31 = U+222b
+
+                keycode  32 = e
+shift   shiftl  keycode  32 = e
+shift   shiftr  keycode  32 = e
+        shiftl  keycode  32 = +E
+        shiftr  keycode  32 = +E
+        altgr   keycode  32 = braceleft
+altgr   shiftl  keycode  32 = U+03b5
+altgr   shiftr  keycode  32 = U+03b5
+        ctrll   keycode  32 = Down
+shiftl  ctrll   keycode  32 = Down
+shiftr  ctrll   keycode  32 = Down
+altgr   ctrll   keycode  32 = U+2203
+
+                keycode  33 = i
+shift   shiftl  keycode  33 = i
+shift   shiftr  keycode  33 = i
+        shiftl  keycode  33 = +I
+        shiftr  keycode  33 = +I
+        altgr   keycode  33 = braceright
+altgr   shiftl  keycode  33 = U+03b1
+altgr   shiftr  keycode  33 = U+03b1
+        ctrll   keycode  33 = Right
+shiftl  ctrll   keycode  33 = Right
+shiftr  ctrll   keycode  33 = Right
+altgr   ctrll   keycode  33 = U+2200
+
+                keycode  34 = u
+shift   shiftl  keycode  34 = u
+shift   shiftr  keycode  34 = u
+        shiftl  keycode  34 = +U
+        shiftr  keycode  34 = +U
+        altgr   keycode  34 = asterisk
+altgr   shiftl  keycode  34 = U+03bf
+altgr   shiftr  keycode  34 = U+03bf
+        ctrll   keycode  34 = End
+shiftl  ctrll   keycode  34 = End
+shiftr  ctrll   keycode  34 = End
+
+                keycode  35 = d
+shift   shiftl  keycode  35 = d
+shift   shiftr  keycode  35 = d
+        shiftl  keycode  35 = +D
+        shiftr  keycode  35 = +D
+        altgr   keycode  35 = question
+altgr   shiftl  keycode  35 = U+03b4
+altgr   shiftr  keycode  35 = U+03b4
+        ctrll   keycode  35 = questiondown
+altgr   ctrll   keycode  35 = U+0394
+
+                keycode  36 = t
+shift   shiftl  keycode  36 = t
+shift   shiftr  keycode  36 = t
+        shiftl  keycode  36 = +T
+        shiftr  keycode  36 = +T
+        altgr   keycode  36 = parenleft
+altgr   shiftl  keycode  36 = U+03c4
+altgr   shiftr  keycode  36 = U+03c4
+        ctrll   keycode  36 = four
+shiftl  ctrll   keycode  36 = four
+shiftr  ctrll   keycode  36 = four
+altgr   ctrll   keycode  36 = U+2202
+
+                keycode  37 = r
+shift   shiftl  keycode  37 = r
+shift   shiftr  keycode  37 = r
+        shiftl  keycode  37 = +R
+        shiftr  keycode  37 = +R
+        altgr   keycode  37 = parenright
+altgr   shiftl  keycode  37 = U+03c1
+altgr   shiftr  keycode  37 = U+03c1
+        ctrll   keycode  37 = five
+shiftl  ctrll   keycode  37 = five
+shiftr  ctrll   keycode  37 = five
+altgr   ctrll   keycode  37 = U+211D
+
+                keycode  38 = n
+shift   shiftl  keycode  38 = n
+shift   shiftr  keycode  38 = n
+        shiftl  keycode  38 = +N
+        shiftr  keycode  38 = +N
+        altgr   keycode  38 = minus
+altgr   shiftl  keycode  38 = U+03bd
+altgr   shiftr  keycode  38 = U+03bd
+        ctrll   keycode  38 = six
+shiftl  ctrll   keycode  38 = six
+shiftr  ctrll   keycode  38 = six
+altgr   ctrll   keycode  38 = U+2115
+
+                keycode  39 = s
+shift   shiftl  keycode  39 = s
+shift   shiftr  keycode  39 = s
+        shiftl  keycode  39 = +S
+        shiftr  keycode  39 = +S
+        altgr   keycode  39 = colon
+altgr   shiftl  keycode  39 = U+03c3
+altgr   shiftr  keycode  39 = U+03c3
+        ctrll   keycode  39 = U+002c
+shiftl  ctrll   keycode  39 = comma
+shiftr  ctrll   keycode  39 = comma
+altgr   ctrll   keycode  39 = U+03a3
+
+                keycode  40 = f
+shift   shiftl  keycode  40 = f
+shift   shiftr  keycode  40 = f
+        shiftl  keycode  40 = +F
+        shiftr  keycode  40 = +F
+        altgr   keycode  40 = at
+altgr   shiftl  keycode  40 = U+03c2
+altgr   shiftr  keycode  40 = U+03c2
+        ctrll   keycode  40 = period
+shiftl  ctrll   keycode  40 = U+002e
+shiftr  ctrll   keycode  40 = U+002e
+altgr   ctrll   keycode  40 = U+2218
+
+                keycode  44 = x
+shift   shiftl  keycode  44 = x
+shift   shiftr  keycode  44 = x
+        shiftl  keycode  44 = +X
+        shiftr  keycode  44 = +X
+        altgr   keycode  44 = numbersign
+altgr   shiftl  keycode  44 = U+03be
+altgr   shiftr  keycode  44 = U+03be
+        ctrll   keycode  44 = Escape
+shiftl  ctrll   keycode  44 = Escape
+shiftr  ctrll   keycode  44 = Escape
+altgr   ctrll   keycode  44 = U+039e
+
+                keycode  45 = q
+shift   shiftl  keycode  45 = q
+shift   shiftr  keycode  45 = q
+        shiftl  keycode  45 = +Q
+        shiftr  keycode  45 = +Q
+        altgr   keycode  45 = dollar
+altgr   shiftl  keycode  45 = U+03c5
+altgr   shiftr  keycode  45 = U+03c5
+        ctrll   keycode  45 = Tab
+altgr   ctrll   keycode  45 = U+2207
+
+                keycode  46 = adiaeresis
+        shiftl  keycode  46 = Adiaeresis
+        shiftr  keycode  46 = Adiaeresis
+        altgr   keycode  46 = bar
+altgr   shiftl  keycode  46 = U+03F5
+altgr   shiftr  keycode  46 = U+03F5
+        ctrll   keycode  46 = Insert
+shiftl  ctrll   keycode  46 = Insert
+shiftr  ctrll   keycode  46 = Insert
+altgr   ctrll   keycode  46 = U+2229
+
+                keycode  47 = udiaeresis
+        shiftl  keycode  47 = Udiaeresis
+        shiftr  keycode  47 = Udiaeresis
+        altgr   keycode  47 = asciitilde
+altgr   shiftl  keycode  47 = U+03F1
+altgr   shiftr  keycode  47 = U+03F1
+        ctrll   keycode  47 = Return
+shiftl  ctrll   keycode  47 = Return
+shiftr  ctrll   keycode  47 = Return
+altgr   ctrll   keycode  47 = U+21D2
+
+                keycode  48 = odiaeresis
+        shiftl  keycode  48 = Odiaeresis
+        shiftr  keycode  48 = Odiaeresis
+        altgr   keycode  48 = grave
+altgr   shiftl  keycode  48 = U+03D5
+altgr   shiftr  keycode  48 = U+03D5
+        ctrll   keycode  48 = Caps_Lock
+altgr   ctrll   keycode  48 = U+211A
+
+                keycode  49 = b
+shift   shiftl  keycode  49 = b
+shift   shiftr  keycode  49 = b
+        shiftl  keycode  49 = +B
+        shiftr  keycode  49 = +B
+        altgr   keycode  49 = plus
+altgr   shiftl  keycode  49 = U+03b2
+altgr   shiftr  keycode  49 = U+03b2
+        ctrll   keycode  49 = colon
+altgr   ctrll   keycode  49 = U+21D0
+
+                keycode  50 = p
+shift   shiftl  keycode  50 = p
+shift   shiftr  keycode  50 = p
+        shiftl  keycode  50 = +P
+        shiftr  keycode  50 = +P
+        altgr   keycode  50 = percent
+altgr   shiftl  keycode  50 = U+03c0
+altgr   shiftr  keycode  50 = U+03c0
+        ctrll   keycode  50 = one
+shiftl  ctrll   keycode  50 = one
+shiftr  ctrll   keycode  50 = one
+altgr   ctrll   keycode  50 = U+03a0
+
+                keycode  51 = w
+shift   shiftl  keycode  51 = w
+shift   shiftr  keycode  51 = w
+        shiftl  keycode  51 = +W
+        shiftr  keycode  51 = +W
+        altgr   keycode  51 = quotedbl
+altgr   shiftl  keycode  51 = U+03c9
+altgr   shiftr  keycode  51 = U+03c9
+        ctrll   keycode  51 = two
+shiftl  ctrll   keycode  51 = two
+shiftr  ctrll   keycode  51 = two
+altgr   ctrll   keycode  51 = U+03a9
+
+                keycode  52 = m
+shift   shiftl  keycode  52 = m
+shift   shiftr  keycode  52 = m
+        shiftl  keycode  52 = +M
+        shiftr  keycode  52 = +M
+        altgr   keycode  52 = apostrophe
+altgr   shiftl  keycode  52 = U+03bc
+altgr   shiftr  keycode  52 = U+03bc
+        ctrll   keycode  52 = three
+shiftl  ctrll   keycode  52 = three
+shiftr  ctrll   keycode  52 = three
+altgr   ctrll   keycode  52 = U+21d4
+
+                keycode  53 = j
+shift   shiftl  keycode  53 = j
+shift   shiftr  keycode  53 = j
+        shiftl  keycode  53 = +J
+        shiftr  keycode  53 = +J
+        altgr   keycode  53 = semicolon
+altgr   shiftl  keycode  53 = U+03b6
+altgr   shiftr  keycode  53 = U+03b6
+        ctrll   keycode  53 = semicolon
+altgr   ctrll   keycode  53 = U+2124
+
+#==========================================================================
+# Keypad
+#==========================================================================
+
+                keycode  69 = Tab              
+        shiftl  keycode  69 = Tab              
+        shiftr  keycode  69 = Tab              
+        altgr   keycode  69 = equal            
+        ctrll   keycode  69 = U+2260           
+shiftl  ctrll   keycode  69 = U+2260           
+shiftr  ctrll   keycode  69 = U+2260           
+shiftl  altgr   keycode  69 = U+2248           
+shiftr  altgr   keycode  69 = U+2248           
+ctrll   altgr   keycode  69 = U+2261           
+
+                keycode  98 = slash            
+        shiftl  keycode  98 = slash            
+        shiftr  keycode  98 = slash            
+        altgr   keycode  98 = division         
+        ctrll   keycode  98 = U+2044           
+shiftl  ctrll   keycode  98 = U+2044           
+shiftr  ctrll   keycode  98 = U+2044           
+shiftl  altgr   keycode  98 = U+2300           
+shiftr  altgr   keycode  98 = U+2300           
+ctrll   altgr   keycode  98 = U+2223           
+
+                keycode  55 = asterisk         
+        shiftl  keycode  55 = asterisk         
+        shiftr  keycode  55 = asterisk         
+        altgr   keycode  55 = U+22c5           
+        ctrll   keycode  55 = multiply         
+shiftl  ctrll   keycode  55 = multiply         
+shiftr  ctrll   keycode  55 = multiply         
+shiftl  altgr   keycode  55 = U+2299           
+shiftr  altgr   keycode  55 = U+2299           
+ctrll   altgr   keycode  55 = U+2297           
+
+                keycode  74 = minus            
+        shiftl  keycode  74 = minus            
+        shiftr  keycode  74 = minus            
+        altgr   keycode  74 = U+2212           
+        ctrll   keycode  74 = U+2216           
+shiftl  ctrll   keycode  74 = U+2216           
+shiftr  ctrll   keycode  74 = U+2216           
+shiftl  altgr   keycode  74 = U+2296           
+shiftr  altgr   keycode  74 = U+2296           
+ctrll   altgr   keycode  74 = U+2238           
+
+                keycode  71 = seven            
+        shiftl  keycode  71 = U+2714           
+        shiftr  keycode  71 = U+2714           
+        altgr   keycode  71 = U+2195           
+        ctrll   keycode  71 = Home             
+shiftl  ctrll   keycode  71 = Home             
+shiftr  ctrll   keycode  71 = Home             
+shiftl  altgr   keycode  71 = U+226a           
+shiftr  altgr   keycode  71 = U+226a           
+ctrll   altgr   keycode  71 = U+2308           
+
+                keycode  72 = eight            
+        shiftl  keycode  72 = U+2718           
+        shiftr  keycode  72 = U+2718           
+        altgr   keycode  72 = U+2191           
+        ctrll   keycode  72 = Up               
+shiftl  ctrll   keycode  72 = Up               
+shiftr  ctrll   keycode  72 = Up               
+shiftl  altgr   keycode  72 = U+2229           
+shiftr  altgr   keycode  72 = U+2229           
+ctrll   altgr   keycode  72 = U+22c2           
+
+                keycode  73 = nine             
+        shiftl  keycode  73 = U+2020           
+        shiftr  keycode  73 = U+2020           
+        altgr   keycode  73 = VoidSymbol       
+        ctrll   keycode  73 = Prior            
+shiftl  ctrll   keycode  73 = Prior            
+shiftr  ctrll   keycode  73 = Prior            
+shiftl  altgr   keycode  73 = U+226b           
+shiftr  altgr   keycode  73 = U+226b           
+ctrll   altgr   keycode  73 = U+2309           
+
+                keycode  75 = four             
+        shiftl  keycode  75 = U+2663           
+        shiftr  keycode  75 = U+2663           
+        altgr   keycode  75 = U+2190           
+        ctrll   keycode  75 = Left             
+shiftl  ctrll   keycode  75 = Left             
+shiftr  ctrll   keycode  75 = Left             
+shiftl  altgr   keycode  75 = U+2282           
+shiftr  altgr   keycode  75 = U+2282           
+ctrll   altgr   keycode  75 = U+2286           
+
+                keycode  76 = five             
+        shiftl  keycode  76 = U+20ac           
+        shiftr  keycode  76 = U+20ac           
+        altgr   keycode  76 = colon            
+        ctrll   keycode  76 = VoidSymbol       
+shiftl  ctrll   keycode  76 = VoidSymbol       
+shiftr  ctrll   keycode  76 = VoidSymbol       
+shiftl  altgr   keycode  76 = U+22b6           
+shiftr  altgr   keycode  76 = U+22b6           
+ctrll   altgr   keycode  76 = U+22b7           
+
+                keycode  77 = six              
+        shiftl  keycode  77 = U+2023           
+        shiftr  keycode  77 = U+2023           
+        altgr   keycode  77 = U+2192           
+        ctrll   keycode  77 = Right            
+shiftl  ctrll   keycode  77 = Right            
+shiftr  ctrll   keycode  77 = Right            
+shiftl  altgr   keycode  77 = U+2283           
+shiftr  altgr   keycode  77 = U+2283           
+ctrll   altgr   keycode  77 = U+2287           
+
+                keycode  78 = plus             
+        shiftl  keycode  78 = plus             
+        shiftr  keycode  78 = plus             
+        altgr   keycode  78 = plusminus        
+        ctrll   keycode  78 = U+2213           
+shiftl  ctrll   keycode  78 = U+2213           
+shiftr  ctrll   keycode  78 = U+2213           
+shiftl  altgr   keycode  78 = U+2295           
+shiftr  altgr   keycode  78 = U+2295           
+ctrll   altgr   keycode  78 = U+2214           
+
+                keycode  79 = one              
+        shiftl  keycode  79 = U+2666           
+        shiftr  keycode  79 = U+2666           
+        altgr   keycode  79 = U+2194           
+        ctrll   keycode  79 = End              
+shiftl  ctrll   keycode  79 = End              
+shiftr  ctrll   keycode  79 = End              
+shiftl  altgr   keycode  79 = U+2264           
+shiftr  altgr   keycode  79 = U+2264           
+ctrll   altgr   keycode  79 = U+230a           
+
+                keycode  80 = two              
+        shiftl  keycode  80 = U+2665           
+        shiftr  keycode  80 = U+2665           
+        altgr   keycode  80 = U+2193           
+        ctrll   keycode  80 = Down             
+shiftl  ctrll   keycode  80 = Down             
+shiftr  ctrll   keycode  80 = Down             
+shiftl  altgr   keycode  80 = U+222a           
+shiftr  altgr   keycode  80 = U+222a           
+ctrll   altgr   keycode  80 = U+22c3           
+
+                keycode  81 = three            
+        shiftl  keycode  81 = U+2660           
+        shiftr  keycode  81 = U+2660           
+        altgr   keycode  81 = U+21cc           
+        ctrll   keycode  81 = Next             
+shiftl  ctrll   keycode  81 = Next             
+shiftr  ctrll   keycode  81 = Next             
+shiftl  altgr   keycode  81 = U+2265           
+shiftr  altgr   keycode  81 = U+2265           
+ctrll   altgr   keycode  81 = U+230b           
+
+                keycode  82 = zero             
+        shiftl  keycode  82 = U+2423           
+        shiftr  keycode  82 = U+2423           
+        altgr   keycode  82 = percent          
+        ctrll   keycode  82 = Insert           
+shiftl  ctrll   keycode  82 = Insert           
+shiftr  ctrll   keycode  82 = Insert           
+shiftl  altgr   keycode  82 = U+2030           
+shiftr  altgr   keycode  82 = U+2030           
+ctrll   altgr   keycode  82 = U+25a1           
+
+                keycode  83 = comma            
+        shiftl  keycode  83 = period           
+        shiftr  keycode  83 = period           
+        altgr   keycode  83 = comma            
+        ctrll   keycode  83 = Remove           
+shiftl  ctrll   keycode  83 = Remove           
+shiftr  ctrll   keycode  83 = Remove           
+shiftl  altgr   keycode  83 = U+2032           
+shiftr  altgr   keycode  83 = U+2032           
+ctrll   altgr   keycode  83 = U+2033           
+
+                keycode  96 = KP_Enter         
+
+#==========================================================================
+# additional Keys with control function (has to be edited manually!!!!)
+#==========================================================================
+           control keycode  57 = nul
+# for some obscure reason, this is required even when we set alt_is_meta
+   alt     control keycode  57 = Meta_nul
+   control altgr   keycode  30 = Control_backslash
+   control altgr   keycode  19 = Control_bracketright
+   control altgr   keycode  17 = Control_underscore
+   control altgr   keycode  20 = Control_asciicircum
+
+
+#==========================================================================
+# Strings and Compose
+#==========================================================================
+# string F100 = "setleds +num\n"
diff --git a/data/keymaps/i386/neo/neoqwertz.map b/data/keymaps/i386/neo/neoqwertz.map
new file mode 100644
index 0000000..5a6f8a1
--- /dev/null
+++ b/data/keymaps/i386/neo/neoqwertz.map
@@ -0,0 +1,926 @@
+! neoqwertz.map, based on
+!
+! neo.map - German Neo 2 Keyboard Layout
+! 2010 Pascal Hauck, <neo at pascalhauck.de>
+!
+
+#keymaps 0-3,16-19,32-35,64-67,80-83,96-99
+keymaps 0-127
+compose as usual
+strings as usual
+alt_is_meta
+
+#==========================================================================
+# Default Keys (usually not needed)
+#==========================================================================
+
+                keycode   1 = Escape
+            alt keycode   1 = Meta_Escape
+
+     shiftr alt keycode   1 = Meta_Escape
+
+                keycode  14 = Delete
+            alt keycode  14 = Meta_Delete
+     shiftl alt keycode  14 = Meta_Delete
+     shiftr alt keycode  14 = Meta_Delete
+
+                keycode  15 = Tab
+         shiftl keycode  15 = Meta_Tab
+         shiftr keycode  15 = Meta_Tab
+            alt keycode  15 = Meta_Tab
+
+                keycode  28 = Return
+            alt keycode  28 = Meta_Control_m
+
+                keycode  29 = Control
+                keycode  97 = Control
+
+                keycode  56 = Alt
+
+#==========================================================================
+# linux-keys-bare, Control Keys
+#==========================================================================
+
+                keycode  59 = F1
+            alt keycode  59 = Console_1
+    control alt keycode  59 = Console_1
+         shiftl keycode  59 = F13
+         shiftr keycode  59 = F13
+                keycode  60 = F2
+            alt keycode  60 = Console_2
+    control alt keycode  60 = Console_2
+         shiftl keycode  60 = F14
+         shiftr keycode  60 = F14
+                keycode  61 = F3
+            alt keycode  61 = Console_3
+    control alt keycode  61 = Console_3
+         shiftl keycode  61 = F15
+         shiftr keycode  61 = F15
+                keycode  62 = F4
+            alt keycode  62 = Console_4
+    control alt keycode  62 = Console_4
+         shiftl keycode  62 = F16
+         shiftr keycode  62 = F16
+
+                keycode  63 = F5
+            alt keycode  63 = Console_5
+    control alt keycode  63 = Console_5
+         shiftl keycode  63 = F17
+         shiftr keycode  63 = F17
+                keycode  64 = F6
+            alt keycode  64 = Console_6
+    control alt keycode  64 = Console_6
+         shiftl keycode  64 = F18
+         shiftr keycode  64 = F18
+                keycode  65 = F7
+            alt keycode  65 = Console_7
+    control alt keycode  65 = Console_7
+         shiftl keycode  65 = F19
+         shiftr keycode  65 = F19
+                keycode  66 = F8
+            alt keycode  66 = Console_8
+    control alt keycode  66 = Console_8
+         shiftl keycode  66 = F20
+         shiftr keycode  66 = F20
+
+                keycode  67 = F9
+            alt keycode  67 = Console_9
+    control alt keycode  67 = Console_9
+         shiftl keycode  67 = F21
+         shiftr keycode  67 = F21
+                keycode  68 = F10
+            alt keycode  68 = Console_10
+    control alt keycode  68 = Console_10
+         shiftl keycode  68 = F22
+         shiftr keycode  68 = F22
+                keycode  87 = F11
+            alt keycode  87 = Console_11
+    control alt keycode  87 = Console_11
+         shiftl keycode  87 = F23
+         shiftr keycode  87 = F23
+                keycode  88 = F12
+            alt keycode  88 = Console_12
+    control alt keycode  88 = Console_12
+         shiftl keycode  88 = F24
+         shiftr keycode  88 = F24
+
+                keycode 103 = Up
+            alt keycode 103 = KeyboardSignal
+                keycode 105 = Left
+            alt keycode 105 = Decr_Console
+                keycode 106 = Right
+            alt keycode 106 = Incr_Console
+                keycode 108 = Down
+
+                keycode 110 = Insert
+                keycode 111 = Remove
+    control alt keycode 111 = Boot
+                keycode 102 = Home
+                keycode 107 = End
+                keycode 104 = PageUp
+         shiftl keycode 104 = Scroll_Backward
+         shiftr keycode 104 = Scroll_Backward
+                keycode 109 = PageDown
+         shiftl keycode 109 = Scroll_Forward
+         shiftr keycode 109 = Scroll_Forward
+
+                keycode  99 = Compose
+            alt keycode  99 = Control_backslash
+        control keycode  99 = Control_backslash
+          plain keycode  70 = Scroll_Lock
+         shiftl keycode  70 = Show_Memory
+         shiftr keycode  70 = Show_Memory
+        control keycode  70 = Show_State
+            alt keycode  70 = Show_Registers
+                keycode 119 = Pause
+
+## Alternatively:
+#
+#include "linux-keys-bare"
+#
+#         shiftl keycode  59 = F13
+#         shiftr keycode  59 = F13
+#         shiftl keycode  60 = F14
+#         shiftr keycode  60 = F14
+#         shiftl keycode  61 = F15
+#         shiftr keycode  61 = F15
+#         shiftl keycode  62 = F16
+#         shiftr keycode  62 = F16
+#
+#         shiftl keycode  63 = F17
+#         shiftr keycode  63 = F17
+#         shiftl keycode  64 = F18
+#         shiftr keycode  64 = F18
+#         shiftl keycode  65 = F19
+#         shiftr keycode  65 = F19
+#         shiftl keycode  66 = F20
+#         shiftr keycode  66 = F20
+#
+#         shiftl keycode  67 = F21
+#         shiftr keycode  67 = F21
+#         shiftl keycode  68 = F22
+#         shiftr keycode  68 = F22
+#         shiftl keycode  87 = F23
+#         shiftr keycode  87 = F23
+#         shiftl keycode  88 = F24
+#         shiftr keycode  88 = F24
+#
+#         shiftl keycode 104 = Scroll_Backward
+#         shiftr keycode 104 = Scroll_Backward
+#
+#         shiftl keycode 109 = Scroll_Forward
+#         shiftr keycode 109 = Scroll_Forward
+#
+#         shiftl keycode  70 = Show_Memory
+#         shiftr keycode  70 = Show_Memory
+
+#==========================================================================
+# Modifier
+#==========================================================================
+
+                keycode  42 = ShiftL
+        shiftr  keycode  42 = Caps_Lock
+                keycode  54 = ShiftR
+        shiftl  keycode  54 = Caps_Lock
+
+                keycode  58 = AltGr            # Mod3 Left
+                keycode  43 = AltGr            # Mod3 Right
+
+                keycode  86 = CtrlL            # Mod4 Left
+                keycode 100 = CtrlL            # Mod4 Right
+
+#==========================================================================
+# Compose
+#==========================================================================
+
+# TODO: add most important compose definitions
+
+        altgr   keycode  15 = Compose          # Mod3 + Tab: Compose
+
+#==========================================================================
+# Character keys
+#==========================================================================
+                keycode  57 = space
+        shiftl  keycode  57 = space
+        shiftr  keycode  57 = space
+        altgr   keycode  57 = space
+altgr   shiftl  keycode  57 = nobreakspace
+altgr   shiftr  keycode  57 = nobreakspace
+        ctrll   keycode  57 = zero
+shiftl  ctrll   keycode  57 = zero
+shiftr  ctrll   keycode  57 = zero
+altgr   ctrll   keycode  57 = U+202F
+
+                keycode  41 = dead_circumflex
+        shiftl  keycode  41 = dead_caron
+        shiftr  keycode  41 = dead_caron
+        altgr   keycode  41 = U+21BB
+altgr   shiftl  keycode  41 = U+02DE
+altgr   shiftr  keycode  41 = U+02DE
+        ctrll   keycode  41 = U+0307
+
+                keycode  13 = dead_grave
+        shiftl  keycode  13 = dead_cedilla
+        shiftr  keycode  13 = dead_cedilla
+        altgr   keycode  13 = U+030a
+altgr   shiftl  keycode  13 = VoidSymbol
+altgr   shiftr  keycode  13 = VoidSymbol
+        ctrll   keycode  13 = dead_diaeresis
+altgr   ctrll   keycode  13 = macron
+
+                keycode  27 = dead_acute
+        shiftl  keycode  27 = dead_tilde
+        shiftr  keycode  27 = dead_tilde
+        altgr   keycode  27 = VoidSymbol
+altgr   shiftl  keycode  27 = VoidSymbol
+altgr   shiftr  keycode  27 = VoidSymbol
+        ctrll   keycode  27 = dead_doubleacute
+altgr   ctrll   keycode  27 = dead_breve
+
+                keycode   2 = one
+        shiftl  keycode   2 = degree
+        shiftr  keycode   2 = degree
+        altgr   keycode   2 = onesuperior
+altgr   shiftl  keycode   2 = VoidSymbol
+altgr   shiftr  keycode   2 = VoidSymbol
+        ctrll   keycode   2 = ordfeminine
+altgr   ctrll   keycode   2 = notsign
+
+                keycode   3 = two
+        shiftl  keycode   3 = section
+        shiftr  keycode   3 = section
+        altgr   keycode   3 = twosuperior
+altgr   shiftl  keycode   3 = VoidSymbol
+altgr   shiftr  keycode   3 = VoidSymbol
+        ctrll   keycode   3 = masculine
+altgr   ctrll   keycode   3 = U+2228
+
+                keycode   4 = three
+        shiftl  keycode   4 = U+2113
+        shiftr  keycode   4 = U+2113
+        altgr   keycode   4 = threesuperior
+altgr   shiftl  keycode   4 = VoidSymbol
+altgr   shiftr  keycode   4 = VoidSymbol
+        ctrll   keycode   4 = U+2116
+altgr   ctrll   keycode   4 = U+2227
+
+                keycode   5 = four
+        shiftl  keycode   5 = guillemotright
+        shiftr  keycode   5 = guillemotright
+        altgr   keycode   5 = U+203A
+altgr   shiftl  keycode   5 = U+2640
+altgr   shiftr  keycode   5 = U+2640
+altgr   ctrll   keycode   5 = U+22A5
+
+                keycode   6 = five
+        shiftl  keycode   6 = guillemotleft
+        shiftr  keycode   6 = guillemotleft
+        altgr   keycode   6 = U+2039
+altgr   shiftl  keycode   6 = U+2642
+altgr   shiftr  keycode   6 = U+2642
+        ctrll   keycode   6 = periodcentered
+altgr   ctrll   keycode   6 = U+2221
+
+                keycode   7 = six
+        shiftl  keycode   7 = dollar
+        shiftr  keycode   7 = dollar
+        altgr   keycode   7 = cent
+altgr   shiftl  keycode   7 = U+26A5
+altgr   shiftr  keycode   7 = U+26A5
+        ctrll   keycode   7 = sterling
+altgr   ctrll   keycode   7 = U+2225
+
+                keycode   8 = seven
+        shiftl  keycode   8 = U+20ac
+        shiftr  keycode   8 = U+20ac
+        altgr   keycode   8 = yen
+altgr   shiftl  keycode   8 = U+03F0
+altgr   shiftr  keycode   8 = U+03F0
+        ctrll   keycode   8 = currency
+altgr   ctrll   keycode   8 = U+2192
+
+                keycode   9 = eight
+        shiftl  keycode   9 = U+201e
+        shiftr  keycode   9 = U+201e
+        altgr   keycode   9 = U+201a
+altgr   shiftl  keycode   9 = U+2329
+altgr   shiftr  keycode   9 = U+2329
+        ctrll   keycode   9 = Tab
+altgr   ctrll   keycode   9 = U+221e
+
+                keycode  10 = nine
+        shiftl  keycode  10 = U+201c
+        shiftr  keycode  10 = U+201c
+        altgr   keycode  10 = U+2018
+altgr   shiftl  keycode  10 = U+232a
+altgr   shiftr  keycode  10 = U+232a
+        ctrll   keycode  10 = slash
+shiftl  ctrll   keycode  10 = slash
+shiftr  ctrll   keycode  10 = slash
+altgr   ctrll   keycode  10 = U+221d
+
+                keycode  11 = zero
+        shiftl  keycode  11 = U+201d
+        shiftr  keycode  11 = U+201d
+        altgr   keycode  11 = U+2019
+altgr   shiftl  keycode  11 = VoidSymbol
+altgr   shiftr  keycode  11 = VoidSymbol
+        ctrll   keycode  11 = asterisk
+shiftl  ctrll   keycode  11 = asterisk
+shiftr  ctrll   keycode  11 = asterisk
+
+                keycode  12 = ssharp
+        shiftl  keycode  12 = U+1E9E
+        shiftr  keycode  12 = U+1E9E
+        altgr   keycode  12 = VoidSymbol
+altgr   shiftl  keycode  12 = U+03c2
+altgr   shiftr  keycode  12 = U+03c2
+        ctrll   keycode  12 = minus
+shiftl  ctrll   keycode  12 = minus
+shiftr  ctrll   keycode  12 = minus
+altgr   ctrll   keycode  12 = U+2218
+
+                keycode  16 = q
+shift   shiftl  keycode  16 = q
+shift   shiftr  keycode  16 = q
+        shiftl  keycode  16 = +Q
+        shiftr  keycode  16 = +Q
+        altgr   keycode  16 = U+2026
+altgr   shiftl  keycode  16 = U+03D5
+altgr   shiftr  keycode  16 = U+03D5
+        ctrll   keycode  16 = Prior
+shiftl  ctrll   keycode  16 = Prior
+shiftr  ctrll   keycode  16 = Prior
+altgr   ctrll   keycode  16 = U+211A
+
+                keycode  17 = w
+shift   shiftl  keycode  17 = w
+shift   shiftr  keycode  17 = w
+        shiftl  keycode  17 = +W
+        shiftr  keycode  17 = +W
+        altgr   keycode  17 = underscore
+altgr   shiftl  keycode  17 = U+03c9
+altgr   shiftr  keycode  17 = U+03c9
+        ctrll   keycode  17 = BackSpace
+shiftl  ctrll   keycode  17 = BackSpace
+shiftr  ctrll   keycode  17 = BackSpace
+altgr   ctrll   keycode  17 = U+03a9
+
+                keycode  18 = e
+shift   shiftl  keycode  18 = e
+shift   shiftr  keycode  18 = e
+        shiftl  keycode  18 = +E
+        shiftr  keycode  18 = +E
+        altgr   keycode  18 = bracketleft
+altgr   shiftl  keycode  18 = U+03b5
+altgr   shiftr  keycode  18 = U+03b5
+        ctrll   keycode  18 = Up
+shiftl  ctrll   keycode  18 = Up
+shiftr  ctrll   keycode  18 = Up
+altgr   ctrll   keycode  18 = U+2203
+
+                keycode  19 = r
+shift   shiftl  keycode  19 = r
+shift   shiftr  keycode  19 = r
+        shiftl  keycode  19 = +R
+        shiftr  keycode  19 = +R
+        altgr   keycode  19 = bracketright
+altgr   shiftl  keycode  19 = U+03c1
+altgr   shiftr  keycode  19 = U+03c1
+        ctrll   keycode  19 = Remove
+shiftl  ctrll   keycode  19 = Remove
+shiftr  ctrll   keycode  19 = Remove
+altgr   ctrll   keycode  19 = U+211D
+
+                keycode  20 = t
+shift   shiftl  keycode  20 = t
+shift   shiftr  keycode  20 = t
+        shiftl  keycode  20 = +T
+        shiftr  keycode  20 = +T
+        altgr   keycode  20 = asciicircum
+altgr   shiftl  keycode  20 = U+03c4
+altgr   shiftr  keycode  20 = U+03c4
+        ctrll   keycode  20 = Next
+shiftl  ctrll   keycode  20 = Next
+shiftr  ctrll   keycode  20 = Next
+altgr   ctrll   keycode  20 = U+2202
+
+                keycode  21 = z
+shift   shiftl  keycode  21 = z
+shift   shiftr  keycode  21 = z
+        shiftl  keycode  21 = +Z
+        shiftr  keycode  21 = +Z
+        altgr   keycode  21 = exclam
+altgr   shiftl  keycode  21 = U+03b6
+altgr   shiftr  keycode  21 = U+03b6
+        ctrll   keycode  21 = exclamdown
+altgr   ctrll   keycode  21 = U+2124
+
+                keycode  22 = u
+shift   shiftl  keycode  22 = u
+shift   shiftr  keycode  22 = u
+        shiftl  keycode  22 = +U
+        shiftr  keycode  22 = +U
+        altgr   keycode  22 = less
+        ctrll   keycode  22 = seven
+shiftl  ctrll   keycode  22 = seven
+shiftr  ctrll   keycode  22 = seven
+altgr   ctrll   keycode  22 = U+2282
+
+                keycode  23 = i
+shift   shiftl  keycode  23 = i
+shift   shiftr  keycode  23 = i
+        shiftl  keycode  23 = +I
+        shiftr  keycode  23 = +I
+        altgr   keycode  23 = greater
+altgr   shiftl  keycode  23 = U+03b9
+altgr   shiftr  keycode  23 = U+03b9
+        ctrll   keycode  23 = eight
+shiftl  ctrll   keycode  23 = eight
+shiftr  ctrll   keycode  23 = eight
+altgr   ctrll   keycode  23 = U+222b
+
+                keycode  24 = o
+shift   shiftl  keycode  24 = o
+shift   shiftr  keycode  24 = o
+        shiftl  keycode  24 = +O
+        shiftr  keycode  24 = +O
+        altgr   keycode  24 = equal
+altgr   shiftl  keycode  24 = U+03bf
+altgr   shiftr  keycode  24 = U+03bf
+        ctrll   keycode  24 = nine
+shiftl  ctrll   keycode  24 = nine
+shiftr  ctrll   keycode  24 = nine
+
+                keycode  25 = p
+shift   shiftl  keycode  25 = p
+shift   shiftr  keycode  25 = p
+        shiftl  keycode  25 = +P
+        shiftr  keycode  25 = +P
+        altgr   keycode  25 = ampersand
+altgr   shiftl  keycode  25 = U+03c0
+altgr   shiftr  keycode  25 = U+03c0
+        ctrll   keycode  25 = plus
+shiftl  ctrll   keycode  25 = plus
+shiftr  ctrll   keycode  25 = plus
+altgr   ctrll   keycode  25 = U+03a0
+
+                keycode  26 = udiaeresis
+        shiftl  keycode  26 = Udiaeresis
+        shiftr  keycode  26 = Udiaeresis
+        altgr   keycode  26 = U+017F
+altgr   shiftl  keycode  26 = VoidSymbol
+altgr   shiftr  keycode  26 = VoidSymbol
+        ctrll   keycode  26 = U+2212
+altgr   ctrll   keycode  26 = U+222a
+
+                keycode  30 = a
+shift   shiftl  keycode  30 = a
+shift   shiftr  keycode  30 = a
+        shiftl  keycode  30 = +A
+        shiftr  keycode  30 = +A
+        altgr   keycode  30 = backslash
+altgr   shiftl  keycode  30 = U+03b1
+altgr   shiftr  keycode  30 = U+03b1
+        ctrll   keycode  30 = Home
+shiftl  ctrll   keycode  30 = Home
+shiftr  ctrll   keycode  30 = Home
+altgr   ctrll   keycode  30 = U+2200
+
+                keycode  31 = s
+shift   shiftl  keycode  31 = s
+shift   shiftr  keycode  31 = s
+        shiftl  keycode  31 = +S
+        shiftr  keycode  31 = +S
+        altgr   keycode  31 = slash
+altgr   shiftl  keycode  31 = U+03c3
+altgr   shiftr  keycode  31 = U+03c3
+        ctrll   keycode  31 = Left
+shiftl  ctrll   keycode  31 = Left
+shiftr  ctrll   keycode  31 = Left
+altgr   ctrll   keycode  31 = U+03a3
+
+                keycode  32 = d
+shift   shiftl  keycode  32 = d
+shift   shiftr  keycode  32 = d
+        shiftl  keycode  32 = +D
+        shiftr  keycode  32 = +D
+        altgr   keycode  32 = braceleft
+altgr   shiftl  keycode  32 = U+03b4
+altgr   shiftr  keycode  32 = U+03b4
+        ctrll   keycode  32 = Down
+shiftl  ctrll   keycode  32 = Down
+shiftr  ctrll   keycode  32 = Down
+altgr   ctrll   keycode  32 = U+0394
+
+                keycode  33 = f
+shift   shiftl  keycode  33 = f
+shift   shiftr  keycode  33 = f
+        shiftl  keycode  33 = +F
+        shiftr  keycode  33 = +F
+        altgr   keycode  33 = braceright
+altgr   shiftl  keycode  33 = U+03c6
+altgr   shiftr  keycode  33 = U+03c6
+        ctrll   keycode  33 = Right
+shiftl  ctrll   keycode  33 = Right
+shiftr  ctrll   keycode  33 = Right
+altgr   ctrll   keycode  33 = U+03a6
+
+                keycode  34 = g
+shift   shiftl  keycode  34 = g
+shift   shiftr  keycode  34 = g
+        shiftl  keycode  34 = +G
+        shiftr  keycode  34 = +G
+        altgr   keycode  34 = asterisk
+altgr   shiftl  keycode  34 = U+03b3
+altgr   shiftr  keycode  34 = U+03b3
+        ctrll   keycode  34 = End
+shiftl  ctrll   keycode  34 = End
+shiftr  ctrll   keycode  34 = End
+altgr   ctrll   keycode  34 = U+0393
+
+                keycode  35 = h
+shift   shiftl  keycode  35 = h
+shift   shiftr  keycode  35 = h
+        shiftl  keycode  35 = +H
+        shiftr  keycode  35 = +H
+        altgr   keycode  35 = question
+altgr   shiftl  keycode  35 = U+03c8
+altgr   shiftr  keycode  35 = U+03c8
+        ctrll   keycode  35 = questiondown
+altgr   ctrll   keycode  35 = U+03a8
+
+                keycode  36 = j
+shift   shiftl  keycode  36 = j
+shift   shiftr  keycode  36 = j
+        shiftl  keycode  36 = +J
+        shiftr  keycode  36 = +J
+        altgr   keycode  36 = parenleft
+altgr   shiftl  keycode  36 = U+03b8
+altgr   shiftr  keycode  36 = U+03b8
+        ctrll   keycode  36 = four
+shiftl  ctrll   keycode  36 = four
+shiftr  ctrll   keycode  36 = four
+altgr   ctrll   keycode  36 = U+0398
+
+                keycode  37 = k
+shift   shiftl  keycode  37 = k
+shift   shiftr  keycode  37 = k
+        shiftl  keycode  37 = +K
+        shiftr  keycode  37 = +K
+        altgr   keycode  37 = parenright
+altgr   shiftl  keycode  37 = U+03ba
+altgr   shiftr  keycode  37 = U+03ba
+        ctrll   keycode  37 = five
+shiftl  ctrll   keycode  37 = five
+shiftr  ctrll   keycode  37 = five
+altgr   ctrll   keycode  37 = multiply
+
+                keycode  38 = l
+shift   shiftl  keycode  38 = l
+shift   shiftr  keycode  38 = l
+        shiftl  keycode  38 = +L
+        shiftr  keycode  38 = +L
+        altgr   keycode  38 = minus
+altgr   shiftl  keycode  38 = U+03bb
+altgr   shiftr  keycode  38 = U+03bb
+        ctrll   keycode  38 = six
+shiftl  ctrll   keycode  38 = six
+shiftr  ctrll   keycode  38 = six
+altgr   ctrll   keycode  38 = U+039b
+
+                keycode  39 = odiaeresis
+        shiftl  keycode  39 = Odiaeresis
+        shiftr  keycode  39 = Odiaeresis
+        altgr   keycode  39 = colon
+altgr   shiftl  keycode  39 = U+03F5
+altgr   shiftr  keycode  39 = U+03F5
+        ctrll   keycode  39 = U+002c
+shiftl  ctrll   keycode  39 = comma
+shiftr  ctrll   keycode  39 = comma
+altgr   ctrll   keycode  39 = U+2229
+
+                keycode  40 = adiaeresis
+        shiftl  keycode  40 = Adiaeresis
+        shiftr  keycode  40 = Adiaeresis
+        altgr   keycode  40 = at
+altgr   shiftl  keycode  40 = U+03b7
+altgr   shiftr  keycode  40 = U+03b7
+        ctrll   keycode  40 = period
+shiftl  ctrll   keycode  40 = U+002e
+shiftr  ctrll   keycode  40 = U+002e
+altgr   ctrll   keycode  40 = U+2135
+
+                keycode  44 = y
+shift   shiftl  keycode  44 = y
+shift   shiftr  keycode  44 = y
+        shiftl  keycode  44 = +Y
+        shiftr  keycode  44 = +Y
+        altgr   keycode  44 = numbersign
+altgr   shiftl  keycode  44 = U+03c5
+altgr   shiftr  keycode  44 = U+03c5
+        ctrll   keycode  44 = Escape
+shiftl  ctrll   keycode  44 = Escape
+shiftr  ctrll   keycode  44 = Escape
+altgr   ctrll   keycode  44 = U+2207
+
+                keycode  45 = x
+shift   shiftl  keycode  45 = x
+shift   shiftr  keycode  45 = x
+        shiftl  keycode  45 = +X
+        shiftr  keycode  45 = +X
+        altgr   keycode  45 = dollar
+altgr   shiftl  keycode  45 = U+03be
+altgr   shiftr  keycode  45 = U+03be
+        ctrll   keycode  45 = Tab
+altgr   ctrll   keycode  45 = U+039e
+
+                keycode  46 = c
+shift   shiftl  keycode  46 = c
+shift   shiftr  keycode  46 = c
+        shiftl  keycode  46 = +C
+        shiftr  keycode  46 = +C
+        altgr   keycode  46 = bar
+altgr   shiftl  keycode  46 = U+03c7
+altgr   shiftr  keycode  46 = U+03c7
+        ctrll   keycode  46 = Insert
+shiftl  ctrll   keycode  46 = Insert
+shiftr  ctrll   keycode  46 = Insert
+altgr   ctrll   keycode  46 = U+2102
+
+                keycode  47 = v
+shift   shiftl  keycode  47 = v
+shift   shiftr  keycode  47 = v
+        shiftl  keycode  47 = +V
+        shiftr  keycode  47 = +V
+        altgr   keycode  47 = asciitilde
+altgr   shiftl  keycode  47 = U+03b7
+altgr   shiftr  keycode  47 = U+03b7
+        ctrll   keycode  47 = Return
+shiftl  ctrll   keycode  47 = Return
+shiftr  ctrll   keycode  47 = Return
+altgr   ctrll   keycode  47 = U+221a
+
+                keycode  48 = b
+shift   shiftl  keycode  48 = b
+shift   shiftr  keycode  48 = b
+        shiftl  keycode  48 = +B
+        shiftr  keycode  48 = +B
+        altgr   keycode  48 = grave
+altgr   shiftl  keycode  48 = U+03b2
+altgr   shiftr  keycode  48 = U+03b2
+altgr   ctrll   keycode  48 = U+21D0
+
+                keycode  49 = n
+shift   shiftl  keycode  49 = n
+shift   shiftr  keycode  49 = n
+        shiftl  keycode  49 = +N
+        shiftr  keycode  49 = +N
+        altgr   keycode  49 = plus
+altgr   shiftl  keycode  49 = U+03bd
+altgr   shiftr  keycode  49 = U+03bd
+        ctrll   keycode  49 = colon
+altgr   ctrll   keycode  49 = U+2115
+
+                keycode  50 = m
+shift   shiftl  keycode  50 = m
+shift   shiftr  keycode  50 = m
+        shiftl  keycode  50 = +M
+        shiftr  keycode  50 = +M
+        altgr   keycode  50 = percent
+altgr   shiftl  keycode  50 = U+03bc
+altgr   shiftr  keycode  50 = U+03bc
+        ctrll   keycode  50 = one
+shiftl  ctrll   keycode  50 = one
+shiftr  ctrll   keycode  50 = one
+altgr   ctrll   keycode  50 = U+2124
+
+                keycode  51 = comma
+        shiftl  keycode  51 = U+2013
+        shiftr  keycode  51 = U+2013
+        altgr   keycode  51 = quotedbl
+altgr   shiftl  keycode  51 = U+03F1
+altgr   shiftr  keycode  51 = U+03F1
+        ctrll   keycode  51 = two
+shiftl  ctrll   keycode  51 = two
+shiftr  ctrll   keycode  51 = two
+altgr   ctrll   keycode  51 = U+21D2
+
+                keycode  52 = period
+        shiftl  keycode  52 = U+2022
+        shiftr  keycode  52 = U+2022
+        altgr   keycode  52 = apostrophe
+altgr   shiftl  keycode  52 = U+03D1
+altgr   shiftr  keycode  52 = U+03D1
+        ctrll   keycode  52 = three
+shiftl  ctrll   keycode  52 = three
+shiftr  ctrll   keycode  52 = three
+altgr   ctrll   keycode  52 = U+21A6
+
+                keycode  53 = minus
+        shiftl  keycode  53 = U+2014
+        shiftr  keycode  53 = U+2014
+        altgr   keycode  53 = semicolon
+altgr   shiftl  keycode  53 = hyphen
+altgr   shiftr  keycode  53 = hyphen
+        ctrll   keycode  53 = semicolon
+altgr   ctrll   keycode  53 = U+21d4
+
+#==========================================================================
+# Keypad
+#==========================================================================
+
+                keycode  69 = Tab              
+        shiftl  keycode  69 = Tab              
+        shiftr  keycode  69 = Tab              
+        altgr   keycode  69 = equal            
+        ctrll   keycode  69 = U+2260           
+shiftl  ctrll   keycode  69 = U+2260           
+shiftr  ctrll   keycode  69 = U+2260           
+shiftl  altgr   keycode  69 = U+2248           
+shiftr  altgr   keycode  69 = U+2248           
+ctrll   altgr   keycode  69 = U+2261           
+
+                keycode  98 = slash            
+        shiftl  keycode  98 = slash            
+        shiftr  keycode  98 = slash            
+        altgr   keycode  98 = division         
+        ctrll   keycode  98 = U+2044           
+shiftl  ctrll   keycode  98 = U+2044           
+shiftr  ctrll   keycode  98 = U+2044           
+shiftl  altgr   keycode  98 = U+2300           
+shiftr  altgr   keycode  98 = U+2300           
+ctrll   altgr   keycode  98 = U+2223           
+
+                keycode  55 = asterisk         
+        shiftl  keycode  55 = asterisk         
+        shiftr  keycode  55 = asterisk         
+        altgr   keycode  55 = U+22c5           
+        ctrll   keycode  55 = multiply         
+shiftl  ctrll   keycode  55 = multiply         
+shiftr  ctrll   keycode  55 = multiply         
+shiftl  altgr   keycode  55 = U+2299           
+shiftr  altgr   keycode  55 = U+2299           
+ctrll   altgr   keycode  55 = U+2297           
+
+                keycode  74 = minus            
+        shiftl  keycode  74 = minus            
+        shiftr  keycode  74 = minus            
+        altgr   keycode  74 = U+2212           
+        ctrll   keycode  74 = U+2216           
+shiftl  ctrll   keycode  74 = U+2216           
+shiftr  ctrll   keycode  74 = U+2216           
+shiftl  altgr   keycode  74 = U+2296           
+shiftr  altgr   keycode  74 = U+2296           
+ctrll   altgr   keycode  74 = U+2238           
+
+                keycode  71 = seven            
+        shiftl  keycode  71 = U+2714           
+        shiftr  keycode  71 = U+2714           
+        altgr   keycode  71 = U+2195           
+        ctrll   keycode  71 = Home             
+shiftl  ctrll   keycode  71 = Home             
+shiftr  ctrll   keycode  71 = Home             
+shiftl  altgr   keycode  71 = U+226a           
+shiftr  altgr   keycode  71 = U+226a           
+ctrll   altgr   keycode  71 = U+2308           
+
+                keycode  72 = eight            
+        shiftl  keycode  72 = U+2718           
+        shiftr  keycode  72 = U+2718           
+        altgr   keycode  72 = U+2191           
+        ctrll   keycode  72 = Up               
+shiftl  ctrll   keycode  72 = Up               
+shiftr  ctrll   keycode  72 = Up               
+shiftl  altgr   keycode  72 = U+2229           
+shiftr  altgr   keycode  72 = U+2229           
+ctrll   altgr   keycode  72 = U+22c2           
+
+                keycode  73 = nine             
+        shiftl  keycode  73 = U+2020           
+        shiftr  keycode  73 = U+2020           
+        altgr   keycode  73 = VoidSymbol       
+        ctrll   keycode  73 = Prior            
+shiftl  ctrll   keycode  73 = Prior            
+shiftr  ctrll   keycode  73 = Prior            
+shiftl  altgr   keycode  73 = U+226b           
+shiftr  altgr   keycode  73 = U+226b           
+ctrll   altgr   keycode  73 = U+2309           
+
+                keycode  75 = four             
+        shiftl  keycode  75 = U+2663           
+        shiftr  keycode  75 = U+2663           
+        altgr   keycode  75 = U+2190           
+        ctrll   keycode  75 = Left             
+shiftl  ctrll   keycode  75 = Left             
+shiftr  ctrll   keycode  75 = Left             
+shiftl  altgr   keycode  75 = U+2282           
+shiftr  altgr   keycode  75 = U+2282           
+ctrll   altgr   keycode  75 = U+2286           
+
+                keycode  76 = five             
+        shiftl  keycode  76 = U+20ac           
+        shiftr  keycode  76 = U+20ac           
+        altgr   keycode  76 = colon            
+        ctrll   keycode  76 = VoidSymbol       
+shiftl  ctrll   keycode  76 = VoidSymbol       
+shiftr  ctrll   keycode  76 = VoidSymbol       
+shiftl  altgr   keycode  76 = U+22b6           
+shiftr  altgr   keycode  76 = U+22b6           
+ctrll   altgr   keycode  76 = U+22b7           
+
+                keycode  77 = six              
+        shiftl  keycode  77 = U+2023           
+        shiftr  keycode  77 = U+2023           
+        altgr   keycode  77 = U+2192           
+        ctrll   keycode  77 = Right            
+shiftl  ctrll   keycode  77 = Right            
+shiftr  ctrll   keycode  77 = Right            
+shiftl  altgr   keycode  77 = U+2283           
+shiftr  altgr   keycode  77 = U+2283           
+ctrll   altgr   keycode  77 = U+2287           
+
+                keycode  78 = plus             
+        shiftl  keycode  78 = plus             
+        shiftr  keycode  78 = plus             
+        altgr   keycode  78 = plusminus        
+        ctrll   keycode  78 = U+2213           
+shiftl  ctrll   keycode  78 = U+2213           
+shiftr  ctrll   keycode  78 = U+2213           
+shiftl  altgr   keycode  78 = U+2295           
+shiftr  altgr   keycode  78 = U+2295           
+ctrll   altgr   keycode  78 = U+2214           
+
+                keycode  79 = one              
+        shiftl  keycode  79 = U+2666           
+        shiftr  keycode  79 = U+2666           
+        altgr   keycode  79 = U+2194           
+        ctrll   keycode  79 = End              
+shiftl  ctrll   keycode  79 = End              
+shiftr  ctrll   keycode  79 = End              
+shiftl  altgr   keycode  79 = U+2264           
+shiftr  altgr   keycode  79 = U+2264           
+ctrll   altgr   keycode  79 = U+230a           
+
+                keycode  80 = two              
+        shiftl  keycode  80 = U+2665           
+        shiftr  keycode  80 = U+2665           
+        altgr   keycode  80 = U+2193           
+        ctrll   keycode  80 = Down             
+shiftl  ctrll   keycode  80 = Down             
+shiftr  ctrll   keycode  80 = Down             
+shiftl  altgr   keycode  80 = U+222a           
+shiftr  altgr   keycode  80 = U+222a           
+ctrll   altgr   keycode  80 = U+22c3           
+
+                keycode  81 = three            
+        shiftl  keycode  81 = U+2660           
+        shiftr  keycode  81 = U+2660           
+        altgr   keycode  81 = U+21cc           
+        ctrll   keycode  81 = Next             
+shiftl  ctrll   keycode  81 = Next             
+shiftr  ctrll   keycode  81 = Next             
+shiftl  altgr   keycode  81 = U+2265           
+shiftr  altgr   keycode  81 = U+2265           
+ctrll   altgr   keycode  81 = U+230b           
+
+                keycode  82 = zero             
+        shiftl  keycode  82 = U+2423           
+        shiftr  keycode  82 = U+2423           
+        altgr   keycode  82 = percent          
+        ctrll   keycode  82 = Insert           
+shiftl  ctrll   keycode  82 = Insert           
+shiftr  ctrll   keycode  82 = Insert           
+shiftl  altgr   keycode  82 = U+2030           
+shiftr  altgr   keycode  82 = U+2030           
+ctrll   altgr   keycode  82 = U+25a1           
+
+                keycode  83 = comma            
+        shiftl  keycode  83 = period           
+        shiftr  keycode  83 = period           
+        altgr   keycode  83 = comma            
+        ctrll   keycode  83 = Remove           
+shiftl  ctrll   keycode  83 = Remove           
+shiftr  ctrll   keycode  83 = Remove           
+shiftl  altgr   keycode  83 = U+2032           
+shiftr  altgr   keycode  83 = U+2032           
+ctrll   altgr   keycode  83 = U+2033           
+
+                keycode  96 = KP_Enter         
+
+#==========================================================================
+# additional Keys with control function (has to be edited manually!!!!)
+#==========================================================================
+           control keycode  57 = nul
+# for some obscure reason, this is required even when we set alt_is_meta
+   alt     control keycode  57 = Meta_nul
+   control altgr   keycode  30 = Control_backslash
+   control altgr   keycode  19 = Control_bracketright
+   control altgr   keycode  17 = Control_underscore
+   control altgr   keycode  20 = Control_asciicircum
+
+
+#==========================================================================
+# Strings and Compose
+#==========================================================================
+# string F100 = "setleds +num\n"
-- 
2.25.4



More information about the kbd mailing list