summaryrefslogtreecommitdiffstats
path: root/source/a/kbd/sources
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/kbd/sources')
-rw-r--r--source/a/kbd/sources/kbd-1.15-keycodes-man.patch52
-rw-r--r--source/a/kbd/sources/kbd-1.15-po.patch31
-rw-r--r--source/a/kbd/sources/kbd-1.15-quiet_doc.patch34
-rw-r--r--source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch15
-rw-r--r--source/a/kbd/sources/kbd-1.15-sparc.patch97
-rw-r--r--source/a/kbd/sources/kbd-1.15-unicode_start.patch21
-rw-r--r--source/a/kbd/sources/kbd-1.15.tar.bz2.sign8
-rw-r--r--source/a/kbd/sources/nl.euro.diff10
-rw-r--r--source/a/kbd/sources/speakupmap.map308
9 files changed, 576 insertions, 0 deletions
diff --git a/source/a/kbd/sources/kbd-1.15-keycodes-man.patch b/source/a/kbd/sources/kbd-1.15-keycodes-man.patch
new file mode 100644
index 000000000..d18a8c8b5
--- /dev/null
+++ b/source/a/kbd/sources/kbd-1.15-keycodes-man.patch
@@ -0,0 +1,52 @@
+diff -up kbd-1.15/man/man1/showkey.1_old kbd-1.15/man/man1/showkey.1
+--- kbd-1.15/man/man1/showkey.1_old 2008-03-13 17:46:23.000000000 +0100
++++ kbd-1.15/man/man1/showkey.1 2008-12-10 12:31:38.000000000 +0100
+@@ -80,6 +80,19 @@ corresponds to what the keyboard hardwar
+ to know the scan codes sent by various keys it is better to boot a
+ 2.4 kernel. Since 2.6.9 there also is the boot option atkbd.softraw=0
+ that tells the 2.6 kernel to return the actual scan codes.
++
++.SH NOTES
++The raw scan codes are available only on AT and PS/2 keyboards,
++and even then they are disabled unless the
++.B atkbd.softraw=0
++kernel parameter is used.
++When the raw scan codes are not available, the kernel uses a fixed built-in
++table to produce scan codes from keycodes. Thus,
++.BR setkeycodes (8)
++can affect the output of
++.B showkey
++in scan code dump mode.
++
+ .SH "SEE ALSO"
+ .BR loadkeys (1),
+ .BR dumpkeys (1),
+diff -up kbd-1.15/man/man8/setkeycodes.8_old kbd-1.15/man/man8/setkeycodes.8
+--- kbd-1.15/man/man8/setkeycodes.8_old 2008-12-10 12:31:56.000000000 +0100
++++ kbd-1.15/man/man8/setkeycodes.8 2008-12-10 12:37:36.000000000 +0100
+@@ -41,6 +41,10 @@ to showkey(1), the command
+ will assign the keycode 112 to it, and then loadkeys(1) can be used
+ to define the function of this key.
+
++USB keyboards have standardized keycodes and
++.B setkeycodes
++doesn't affect them at all.
++
+ .SH "2.6 KERNELS"
+ In 2.6 kernels key codes lie in the range 1-255, instead of 1-127.
+ (It might be best to confine oneself to the range 1-239.)
+@@ -54,6 +58,14 @@ None.
+ .SH BUGS
+ The keycodes of X have nothing to do with those of Linux.
+ Unusual keys can be made visible under Linux, but not under X.
++
++.B setkeycodes
++affects only the "first" input device
++that has modifiable scancode-to-keycode mapping.
++If there is more than one such device,
++.B setkeycodes
++cannot change the mapping of other devices than the "first" one.
++
+ .SH "SEE ALSO"
+ .I "dumpkeys (1), loadkeys (1), showkey (1), getkeycodes (8)"
+
diff --git a/source/a/kbd/sources/kbd-1.15-po.patch b/source/a/kbd/sources/kbd-1.15-po.patch
new file mode 100644
index 000000000..0221f60c9
--- /dev/null
+++ b/source/a/kbd/sources/kbd-1.15-po.patch
@@ -0,0 +1,31 @@
+diff -up kbd-1.15/po/Makefile.in_old kbd-1.15/po/Makefile.in
+--- kbd-1.15/po/Makefile.in_old 2008-10-23 21:03:59.000000000 +0200
++++ kbd-1.15/po/Makefile.in 2008-12-09 15:35:58.000000000 +0100
+@@ -4,10 +4,10 @@ srcdir = @srcdir@
+
+ prefix = @prefix@
+ datarootdir = @datarootdir@
+-datadir = @datadir@
+-localedir = $(DESTDIR)$(datadir)/locale
+-gnulocaledir = $(DESTDIR)$(datadir)/locale
+-gettextsrcdir = $(DESTDIR)$(datadir)/gettext/po
++datadir = $(DESTDIR)@datadir@
++localedir = $(DESTDIR)@localedir@
++gnulocaledir = $(DESTDIR)@localedir@
++gettextsrcdir = $(datadir)/gettext/po
+
+ FOREIGN = @FOREIGN@
+ HAVE_XGETTEXT = @HAVE_XGETTEXT@
+@@ -36,10 +36,10 @@ INCLUDES = -I.. -I$(INTL)
+ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+
+ # Enter here all .po files
+-POFILES = cs.po da.po de.po el.po es.po fr.po gr.po nl.po pl.po \
++POFILES = cs.po da.po de.po el.po es.po fr.po nl.po pl.po \
+ ro.po ru.po sv.po tr.po
+ # the same but with .gmo
+-GMOFILES = cs.gmo da.gmo de.gmo el.gmo es.gmo fr.gmo gr.gmo nl.gmo \
++GMOFILES = cs.gmo da.gmo de.gmo el.gmo es.gmo fr.gmo nl.gmo \
+ pl.gmo ro.gmo ru.gmo sv.gmo tr.gmo
+
+ CATALOGS = $(GMOFILES)
diff --git a/source/a/kbd/sources/kbd-1.15-quiet_doc.patch b/source/a/kbd/sources/kbd-1.15-quiet_doc.patch
new file mode 100644
index 000000000..eca867b85
--- /dev/null
+++ b/source/a/kbd/sources/kbd-1.15-quiet_doc.patch
@@ -0,0 +1,34 @@
+diff -up kbd-1.15/man/man1/loadkeys.1.in_old kbd-1.15/man/man1/loadkeys.1.in
+--- kbd-1.15/man/man1/loadkeys.1.in_old 2008-10-23 21:03:59.000000000 +0200
++++ kbd-1.15/man/man1/loadkeys.1.in 2009-03-05 13:11:08.000000000 +0100
+@@ -19,6 +19,8 @@ loadkeys \- load keyboard translation ta
+ ] [
+ .I -m --mktable
+ ] [
++.I -q --quiet
++] [
+ .I -s --clearstrings
+ ] [
+ .I -v --verbose
+@@ -148,6 +150,10 @@ command (and does not modify the current
+ .B loadkeys
+ prints its version number and a short usage message to the programs
+ standard error output and exits.
++.TP
++.B \-q \-\-quiet
++.B loadkeys
++suppresses all normal output.
+ .SH WARNING
+ Note that anyone having read access to
+ .B /dev/console
+diff -up kbd-1.15/src/loadkeys.c_old kbd-1.15/src/loadkeys.c
+--- kbd-1.15/src/loadkeys.c_old 2008-10-23 21:03:59.000000000 +0200
++++ kbd-1.15/src/loadkeys.c 2009-03-05 13:09:00.000000000 +0100
+@@ -1966,6 +1966,7 @@ usage(void) {
+ " -d --default load \"%s\"\n"
+ " -h --help display this help text\n"
+ " -m --mktable output a \"defkeymap.c\" to stdout\n"
++" -q --quiet suppress all normal output\n"
+ " -s --clearstrings clear kernel string table\n"
+ " -u --unicode implicit conversion to Unicode\n"
+ " -v --verbose report the changes\n"), PACKAGE_VERSION, DEFMAP);
diff --git a/source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch b/source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch
new file mode 100644
index 000000000..5e8350a86
--- /dev/null
+++ b/source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch
@@ -0,0 +1,15 @@
+diff -up kbd-1.15/configure_old kbd-1.15/configure
+--- kbd-1.15/configure_old 2009-01-08 15:11:04.000000000 +0100
++++ kbd-1.15/configure 2009-01-08 15:11:45.000000000 +0100
+@@ -7637,8 +7637,9 @@ fi
+
+
+ case $host_cpu in
+- i?86*) RESIZECONS_PROGS=yes ;;
+- *) RESIZECONS_PROGS=no ;;
++ i?86*) RESIZECONS_PROGS=yes ;;
++ x86_64*) RESIZECONS_PROGS=yes ;;
++ *) RESIZECONS_PROGS=no ;;
+ esac
+ if test "$RESIZECONS_PROGS" = "yes"; then
+ RESIZECONS_PROGS_TRUE=
diff --git a/source/a/kbd/sources/kbd-1.15-sparc.patch b/source/a/kbd/sources/kbd-1.15-sparc.patch
new file mode 100644
index 000000000..a858a253a
--- /dev/null
+++ b/source/a/kbd/sources/kbd-1.15-sparc.patch
@@ -0,0 +1,97 @@
+diff -up kbd-1.15/man/man8/kbdrate.8_old kbd-1.15/man/man8/kbdrate.8
+--- kbd-1.15/man/man8/kbdrate.8_old 2008-12-10 14:20:33.000000000 +0100
++++ kbd-1.15/man/man8/kbdrate.8 2008-12-10 14:41:10.000000000 +0100
+@@ -22,7 +22,7 @@ Using
+ without any options will reset the repeat rate to 10.9 characters per second (cps)
+ and the delay to 250 milliseconds (ms) for Intel- and M68K-based systems.
+ These are the IBM defaults. On SPARC-based systems it will reset the repeat rate
+-to 5 cps and the delay to 200 ms.
++to 20 cps and the delay to 200 ms.
+
+ .SH OPTIONS
+ .TP
+@@ -69,3 +69,5 @@ When these ioctls fail an ioport interfa
+ .I /etc/rc.local
+ .br
+ .I /dev/port
++.br
++.I /dev/kbd
+diff -up kbd-1.15/src/kbdrate.c_old kbd-1.15/src/kbdrate.c
+--- kbd-1.15/src/kbdrate.c_old 2008-12-10 14:00:25.000000000 +0100
++++ kbd-1.15/src/kbdrate.c 2008-12-10 14:20:11.000000000 +0100
+@@ -77,7 +77,6 @@ beats rebuilding the kernel!
+
+ #ifdef __sparc__
+ #include <asm/param.h>
+-#include <asm/kbio.h>
+ #endif
+
+ #ifndef KDKBDREP
+@@ -109,11 +108,15 @@ static int valid_delays[] = { 250, 500,
+
+ static int
+ KDKBDREP_ioctl_ok(double rate, int delay, int silent) {
++#if defined(KDKBDREP) && !defined(__sparc__)
+ /*
+ * This ioctl is defined in <linux/kd.h> but is not
+ * implemented anywhere - must be in some m68k patches.
++ * We cannot blindly try unimplemented ioctls on sparc64 -
++ * the 32<->64bit transition layer does not like it.
+ * Since 2.4.9 also on i386.
+- */
++ */
++
+ struct my_kbd_repeat kbdrep_s;
+
+ /* don't change, just test */
+@@ -177,6 +180,9 @@ KDKBDREP_ioctl_ok(double rate, int delay
+ rate, kbdrep_s.delay );
+
+ return 1; /* success! */
++#else /* no KDKBDREP or __sparc__ */
++ return 0;
++#endif /* KDKBDREP */
+ }
+
+ static int
+@@ -221,7 +227,7 @@ sigalrmhandler( int sig ) {
+ int
+ main( int argc, char **argv ) {
+ #ifdef __sparc__
+- double rate = 5.0; /* Default rate */
++ double rate = 20.0; /* Default rate */
+ int delay = 200; /* Default delay */
+ #else
+ double rate = 10.9; /* Default rate */
+@@ -272,7 +278,9 @@ main( int argc, char **argv ) {
+
+
+ /* The ioport way */
++ /* The ioport way - will crash on sparc */
+
++#ifndef __sparc__
+ for (i = 0; i < RATE_COUNT; i++)
+ if (rate * 10 >= valid_rates[i]) {
+ value &= 0x60;
+@@ -335,5 +343,7 @@ main( int argc, char **argv ) {
+ valid_rates[value & 0x1f] / 10.0,
+ valid_delays[ (value & 0x60) >> 5 ] );
+
++#endif
++
+ return 0;
+ }
+diff -up kbd-1.15/src/setleds.c_old kbd-1.15/src/setleds.c
+--- kbd-1.15/src/setleds.c_old 2008-12-10 14:00:02.000000000 +0100
++++ kbd-1.15/src/setleds.c 2008-12-10 14:00:16.000000000 +0100
+@@ -14,10 +14,6 @@
+ #include "nls.h"
+ #include "version.h"
+
+-#ifdef __sparc__
+-#include <asm/kbio.h>
+-#endif
+-
+ static void
+ usage(void)
+ {
diff --git a/source/a/kbd/sources/kbd-1.15-unicode_start.patch b/source/a/kbd/sources/kbd-1.15-unicode_start.patch
new file mode 100644
index 000000000..d3dab3fe3
--- /dev/null
+++ b/source/a/kbd/sources/kbd-1.15-unicode_start.patch
@@ -0,0 +1,21 @@
+diff -up kbd-1.15/src/unicode_start_old kbd-1.15/src/unicode_start
+--- kbd-1.15/src/unicode_start_old 2009-01-08 13:34:10.000000000 +0100
++++ kbd-1.15/src/unicode_start 2009-01-08 14:02:12.000000000 +0100
+@@ -72,6 +72,9 @@ stty iutf8
+ # have a Unicode map attached, or explicitly specified, e.g.,
+ # by giving `def.uni' as a second argument.
+
++DEFAULT_UNICODE_FONT=LatArCyrHeb-16
++# Also drdos8x16 is a good candidate.
++
+ case "$#" in
+ 2)
+ setfont "$1" -u "$2"
+@@ -80,6 +83,7 @@ case "$#" in
+ setfont "$1"
+ ;;
+ 0)
++ setfont $DEFAULT_UNICODE_FONT
+ ;;
+ *)
+ echo "usage: unicode_start [font [unicode map]]"
diff --git a/source/a/kbd/sources/kbd-1.15.tar.bz2.sign b/source/a/kbd/sources/kbd-1.15.tar.bz2.sign
new file mode 100644
index 000000000..39388b383
--- /dev/null
+++ b/source/a/kbd/sources/kbd-1.15.tar.bz2.sign
@@ -0,0 +1,8 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+Comment: See http://www.kernel.org/signature.html for info
+
+iD8DBQBJj684yGugalF9Dw4RAqQuAJ9fBsk3RWp6BT4UWHjceFn5YuEBygCff3dW
+qo/ACrIhyBx/eiZEpao8N4o=
+=0zxS
+-----END PGP SIGNATURE-----
diff --git a/source/a/kbd/sources/nl.euro.diff b/source/a/kbd/sources/nl.euro.diff
new file mode 100644
index 000000000..655a7e228
--- /dev/null
+++ b/source/a/kbd/sources/nl.euro.diff
@@ -0,0 +1,10 @@
+--- ./data/keymaps/i386/qwerty/nl.map.orig 2004-01-03 09:01:22.000000000 -0800
++++ ./data/keymaps/i386/qwerty/nl.map 2004-05-29 21:16:31.000000000 -0700
+@@ -12,6 +12,7 @@
+ keymaps 0-6,8-9,12
+ alt_is_meta
+ include "qwerty-layout"
++ altgr keycode 18 = euro
+ altgr keycode 19 = paragraph
+ altgr keycode 31 = ssharp
+ altgr keycode 44 = guillemotleft
diff --git a/source/a/kbd/sources/speakupmap.map b/source/a/kbd/sources/speakupmap.map
new file mode 100644
index 000000000..9c73e35df
--- /dev/null
+++ b/source/a/kbd/sources/speakupmap.map
@@ -0,0 +1,308 @@
+# us.map
+# with some additions from quinlan@spectrum.cs.bucknell.edu (Daniel Quinlan)
+# 14 Mar 1994
+keymaps 0-2,4-6,8,9,12,13
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_exclam
+keycode 3 = two at at
+ control keycode 3 = nul
+ control shift keycode 3 = nul
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_at
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ control shift keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ alt shift keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ alt shift keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = 0x080d
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ alt shift keycode 43 = Meta_bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+keycode 52 = period greater
+ alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 55 = 0x0d26
+#keycode 55 = KP_Multiply
+ altgr keycode 55 = 0x0406
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = 0x0d0b
+ altgr keycode 71 = 0x0d0f
+#keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = 0x0d0a
+ altgr keycode 72 = 0x0d20
+#keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = 0x0d0c
+ altgr keycode 73 = 0x0d0d
+#keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = 0x0d1e
+ altgr keycode 74 = 0x0d24
+keycode 75 = 0x0d08
+ altgr keycode 75 = 0x0d22
+#keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = 0x0d07
+#keycode 76 = KP_5
+ altgr keycode 76 = 0x0d12
+ alt keycode 76 = Ascii_5
+keycode 77 = 0x0d09
+ altgr keycode 77 = 0x0d23
+#keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+#keycode 78 = KP_Add
+keycode 78 = 0x0d14
+ altgr keycode 78 = 0x0d21
+keycode 79 = 0x0d05
+#keycode 79 = KP_1
+ altgr keycode 79 = 0x0d10
+ alt keycode 79 = Ascii_1
+keycode 80 = 0x0d04
+#keycode 80 = KP_2
+ altgr keycode 80 = 0x0d11
+ alt keycode 80 = Ascii_2
+keycode 81 = 0x0d06
+ altgr keycode 81 = 0x0d0e
+#keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+#keycode 82 = 0x0d14
+keycode 82 = AltGr
+#keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+#keycode 83 = KP_Period
+keycode 83 = 0x0d1b
+ altgr keycode 83 = 0x0d1d
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = 0x0d03
+ altgr keycode 96 = 0x0d1c
+#keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = 0x0d27
+#keycode 98 = KP_Divide
+ altgr keycode 98 = 0x0d28
+#keycode 99 = Control_backslash
+keycode 99 = 0x0d25
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = Alt
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 =
+keycode 113 =
+keycode 114 =
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""