Blame docs/doc/as400.kbd

Packit Service 50ad14
Edward Flottwell <edward@mudhoney.mitropa.com> wrote the following
Packit Service 50ad14
about his kernel patch for allowing the kernel to work with an
Packit Service 50ad14
adapted AS400 keyboard.
Packit Service 50ad14
Packit Service 50ad14
(In fact no kernel patch is required - the utility setkeycodes will do.
Packit Service 50ad14
But the technical info below might be useful for somebody.)
Packit Service 50ad14
----aeb
Packit Service 50ad14
Packit Service 50ad14
"Keyboard.c patch for IBM Keyboards" (Aug  9, 20:04):
Packit Service 50ad14
Packit Service 50ad14
> The last 2 Weekends I spent on hacking a little bit in the keyboard code to
Packit Service 50ad14
> make a keyboard from a IBM AS400 Terminal work with LinuX. It's a very nice
Packit Service 50ad14
> piece of hardware, 122 keys and 2 kg :-), mostly used in Banks and
Packit Service 50ad14
> Companies. I got mine from a bank service company for 10 Marks (aprox.
Packit Service 50ad14
> 7.5$).
Packit Service 50ad14
> 
Packit Service 50ad14
> The patch against keyboard.c from 1.3.15 and a README is following:
Packit Service 50ad14
> 
Packit Service 50ad14
> --------------------------------schnipp-----------------------------------
Packit Service 50ad14
Packit Service 50ad14
--- keyboard.1.3.15.orig	Wed Aug  9 12:51:28 1995
Packit Service 50ad14
+++ keyboard.c	Wed Aug  9 13:11:56 1995
Packit Service 50ad14
@@ -39,6 +39,11 @@
Packit Service 50ad14
 #define KBD_REPORT_ERR
Packit Service 50ad14
 #define KBD_REPORT_UNKN
Packit Service 50ad14
 /* #define KBD_IS_FOCUS_9000 */
Packit Service 50ad14
+/* #define KBD_IS_IBM_AS400 */
Packit Service 50ad14
+
Packit Service 50ad14
+/* When using an original IBM AS_400 Keyboard you should enable both
Packit Service 50ad14
+ * KBD_IS_FOCUS_9000 and KBD_IS_IBM_AS400
Packit Service 50ad14
+ */
Packit Service 50ad14
 
Packit Service 50ad14
 #ifndef KBD_DEFMODE
Packit Service 50ad14
 #define KBD_DEFMODE ((1 << VC_REPEAT) | (1 << VC_META))
Packit Service 50ad14
@@ -228,6 +233,29 @@
Packit Service 50ad14
 
Packit Service 50ad14
 #define E1_PAUSE   119
Packit Service 50ad14
 
Packit Service 50ad14
+#ifdef KBD_IS_IBM_AS400 
Packit Service 50ad14
+#define E0_GR      105
Packit Service 50ad14
+#define E0_SIGN    43
Packit Service 50ad14
+#define E0_LINE    108
Packit Service 50ad14
+#define IBM_PF9    112
Packit Service 50ad14
+#define IBM_PF10   113
Packit Service 50ad14
+#define IBM_PF11   114
Packit Service 50ad14
+#define IBM_PF12   115
Packit Service 50ad14
+#define IBM_PF13   116
Packit Service 50ad14
+#define IBM_PF14   117
Packit Service 50ad14
+#define IBM_PF15   118
Packit Service 50ad14
+#define IBM_PF16   120
Packit Service 50ad14
+#define IBM_PF17   121
Packit Service 50ad14
+#define IBM_PF18   122
Packit Service 50ad14
+#define IBM_PF19   123
Packit Service 50ad14
+#define IBM_PF20   124
Packit Service 50ad14
+#define IBM_PF21   125
Packit Service 50ad14
+#define IBM_PF22   126
Packit Service 50ad14
+#define IBM_PF23   127
Packit Service 50ad14
+#define IBM_PF24   119
Packit Service 50ad14
+#endif
Packit Service 50ad14
+
Packit Service 50ad14
+
Packit Service 50ad14
 /*
Packit Service 50ad14
  * The keycodes below are randomly located in 89-95,112-118,120-127.
Packit Service 50ad14
  * They could be thrown away (and all occurrences below replaced by 0),
Packit Service 50ad14
@@ -262,6 +290,7 @@
Packit Service 50ad14
 #define RGN3 126
Packit Service 50ad14
 #define RGN4 127
Packit Service 50ad14
 
Packit Service 50ad14
+#ifndef KBD_IS_IBM_AS400
Packit Service 50ad14
 static unsigned char high_keys[128 - SC_LIM] = {
Packit Service 50ad14
   RGN1, RGN2, RGN3, RGN4, 0, 0, 0,                   /* 0x59-0x5f */
Packit Service 50ad14
   0, 0, 0, 0, 0, 0, 0, 0,                            /* 0x60-0x67 */
Packit Service 50ad14
@@ -270,6 +299,20 @@
Packit Service 50ad14
   FOCUS_PF4, FOCUS_PF5, FOCUS_PF6, FOCUS_PF7,        /* 0x78-0x7b */
Packit Service 50ad14
   FOCUS_PF8, JAP_86, FOCUS_PF10, 0                   /* 0x7c-0x7f */
Packit Service 50ad14
 };
Packit Service 50ad14
+#endif
Packit Service 50ad14
+#ifdef KBD_IS_IBM_AS400
Packit Service 50ad14
+static unsigned char high_keys[128 - SC_LIM] = {
Packit Service 50ad14
+  FOCUS_PF2, FOCUS_PF3, FOCUS_PF4, FOCUS_PF5, FOCUS_PF6,
Packit Service 50ad14
+  FOCUS_PF7, FOCUS_PF8,          /* 0x59-0x5f */
Packit Service 50ad14
+  IBM_PF9, IBM_PF10, IBM_PF11, IBM_PF12,
Packit Service 50ad14
+  IBM_PF13, IBM_PF14, IBM_PF15, IBM_PF16,    /* 0x60-0x67 */
Packit Service 50ad14
+  IBM_PF17, IBM_PF18, IBM_PF19, IBM_PF20, IBM_PF21, 
Packit Service 50ad14
+  IBM_PF22, IBM_PF23, E0_PGUP, /* 0x68-0x6f */
Packit Service 50ad14
+  E0_GR, E0_RCTRL, E0_RALT, 0, E0_SIGN, 0, IBM_PF24, E0_LINE, /* 0x70-0x77 */
Packit Service 50ad14
+  E0_UP, E0_DEL, E0_END, E0_INS,        /* 0x78-0x7b */
Packit Service 50ad14
+  0, E0_RIGHT, E0_PGDN, E0_HOME                /* 0x7c-0x7f */
Packit Service 50ad14
+};
Packit Service 50ad14
+#endif
Packit Service 50ad14
 
Packit Service 50ad14
 /* BTC */
Packit Service 50ad14
 #define E0_MACRO   112
Packit Service 50ad14
Packit Service 50ad14
--------------------------------schnipp-----------------------------------
Packit Service 50ad14
Packit Service 50ad14
This is an explaining README.  ( README.AS400 )
Packit Service 50ad14
Packit Service 50ad14
--------------------------------schnipp-----------------------------------
Packit Service 50ad14
Packit Service 50ad14
	Connecting and using a non standard IBM keyboard
Packit Service 50ad14
Packit Service 50ad14
				by 
Packit Service 50ad14
			Edward von Flottwell 
Packit Service 50ad14
		     edward@mudhoney.mitropa.com
Packit Service 50ad14
Packit Service 50ad14
If you would like to use an old IBM 122-key AS400 Terminal keyboard with Linux,
Packit Service 50ad14
you should to do some small things:
Packit Service 50ad14
Packit Service 50ad14
1. Get your 'new' keyboard from a recycling company. 
Packit Service 50ad14
   If you haven't done this already :-)
Packit Service 50ad14
2. Solder a new 5pin DIN Connector instead of the RJ/??? Plug to the wire.
Packit Service 50ad14
3. Patch the kernel and build an new one.
Packit Service 50ad14
4. Load a new keymap and fit it to your needs.
Packit Service 50ad14
Packit Service 50ad14
I hope you managed the first step - so I'll continue with the second one:
Packit Service 50ad14
Get a keyboard connector from your nearest electronic-shop, cut off the
Packit Service 50ad14
original plug and you will hopefully find 4 colored wires: black, red,
Packit Service 50ad14
yellow and white. Connect them in the following way with the DIN Plug:
Packit Service 50ad14
Packit Service 50ad14
	Wire	Signal	DIN	  ___	
Packit Service 50ad14
	Black	+5V	4	 / 3 \  Soldering
Packit Service 50ad14
	White	GND	2	(2   4)	View
Packit Service 50ad14
	Red	Data	3	 \1^5/
Packit Service 50ad14
	Yellow	Clock	1	  
Packit Service 50ad14
			
Packit Service 50ad14
BUT BE VERY CAREFUL!!! Connecting the wrong signals can damage or blow up 
Packit Service 50ad14
your keyboard or your mainboard! The table above comes with NO warranty,
Packit Service 50ad14
because I don't believe IBM always use the same type of cable :-}
Packit Service 50ad14
You should open the keyboard and trace the wires to find the matching out.
Packit Service 50ad14
And you should consult your mainboard for the keyboard-plug layout!
Packit Service 50ad14
Packit Service 50ad14
Now you're ready to switch on the computer... Some mainboard bioses will
Packit Service 50ad14
produce a keyboard error. You can ignore this :-) BTW the F1 key is the 
Packit Service 50ad14
very left of the function-key group near the tabulator key.
Packit Service 50ad14
O.K., now you can try to type something, e.g. LILO: linux :-)
Packit Service 50ad14
You will find out that some keys are swapped, others are dead. To make all
Packit Service 50ad14
of the keys work apply the kernel-patch to 
Packit Service 50ad14
/usr/src/linux/drivers/char/keyboard.c and comment the lines with
Packit Service 50ad14
Packit Service 50ad14
/* #define KBD_IS_FOCUS_9000 */
Packit Service 50ad14
/* #define KBD_IS_IBM_AS400 */
Packit Service 50ad14
Packit Service 50ad14
out. Recompile and install the new kernel.
Packit Service 50ad14
Packit Service 50ad14
Now you need the last missing part: the keymap. At the end of this README
Packit Service 50ad14
you will find an example for German users. How to make it fit to your
Packit Service 50ad14
national keyboard is explained in the Keystroke-HOWTO. Most other questions 
Packit Service 50ad14
about keymaps, scancodes,... are explained there, too. 
Packit Service 50ad14
I would also suggest you read the manpages of showkey and loadkeys. 
Packit Service 50ad14
Don't forget to load the keymap every time you boot, 
Packit Service 50ad14
I prefer the rc.local shellscript doing this for me :-)
Packit Service 50ad14
Packit Service 50ad14
The keymap:
Packit Service 50ad14
Packit Service 50ad14
#
Packit Service 50ad14
# File:        AS400.map
Packit Service 50ad14
#
Packit Service 50ad14
Packit Service 50ad14
keycode   0 =
Packit Service 50ad14
keycode   1 = Escape           Escape
Packit Service 50ad14
	alt     keycode   1 = Meta_Escape
Packit Service 50ad14
	shift alt keycode 1 = Meta_Escape
Packit Service 50ad14
Packit Service 50ad14
keycode   2 = one              exclam
Packit Service 50ad14
	alt     keycode   2 = Meta_one
Packit Service 50ad14
	shift alt keycode 2 = Meta_exclam
Packit Service 50ad14
Packit Service 50ad14
keycode   3 = two              quotedbl         twosuperior
Packit Service 50ad14
	control keycode   3 = nul
Packit Service 50ad14
	alt     keycode   3 = Meta_two
Packit Service 50ad14
	shift alt keycode 3 = Meta_quotedbl
Packit Service 50ad14
Packit Service 50ad14
keycode   4 = three            section          threesuperior
Packit Service 50ad14
	control keycode   4 = Escape
Packit Service 50ad14
	alt     keycode   4 = Meta_three
Packit Service 50ad14
Packit Service 50ad14
keycode   5 = four             dollar           dollar
Packit Service 50ad14
	control keycode   5 = Control_backslash
Packit Service 50ad14
	alt     keycode   5 = Meta_four
Packit Service 50ad14
	shift alt keycode 5 = Meta_dollar
Packit Service 50ad14
    
Packit Service 50ad14
keycode   6 = five             percent
Packit Service 50ad14
	control keycode   6 = Control_bracketright
Packit Service 50ad14
	alt     keycode   6 = Meta_five
Packit Service 50ad14
	shift alt keycode 6 = Meta_percent
Packit Service 50ad14
       
Packit Service 50ad14
keycode   7 = six              ampersand
Packit Service 50ad14
	control keycode   7 = Control_asciicircum
Packit Service 50ad14
	alt     keycode   7 = Meta_six
Packit Service 50ad14
	shift alt keycode 7 = Meta_ampersand
Packit Service 50ad14
Packit Service 50ad14
keycode   8 = seven            slash            braceleft
Packit Service 50ad14
	control keycode   8 = Control_underscore
Packit Service 50ad14
	alt     keycode   8 = Meta_seven
Packit Service 50ad14
	shift alt keycode 8 = Meta_slash
Packit Service 50ad14
  
Packit Service 50ad14
keycode   9 = eight            parenleft        bracketleft
Packit Service 50ad14
	control keycode   9 = Delete
Packit Service 50ad14
	alt     keycode   9 = Meta_eight
Packit Service 50ad14
	shift alt keycode 9 = Meta_parenleft
Packit Service 50ad14
Packit Service 50ad14
keycode  10 = nine             parenright       bracketright
Packit Service 50ad14
	alt     keycode  10 = Meta_nine
Packit Service 50ad14
 	control altgr keycode 10 = Control_bracketright
Packit Service 50ad14
	shift alt keycode 10 = Meta_parenright
Packit Service 50ad14
Packit Service 50ad14
keycode  11 = zero             equal            braceright
Packit Service 50ad14
	alt     keycode  11 = Meta_zero
Packit Service 50ad14
	shift alt keycode 11 = Meta_equal
Packit Service 50ad14
Packit Service 50ad14
keycode  12 = ssharp           question         backslash
Packit Service 50ad14
	control keycode  12 = Control_underscore
Packit Service 50ad14
	alt     keycode  12 = Meta_minus
Packit Service 50ad14
 	control altgr keycode  12 = Control_backslash
Packit Service 50ad14
	shift alt keycode 12 = Meta_question
Packit Service 50ad14
	alt altgr keycode 12 = Meta_backslash
Packit Service 50ad14
Packit Service 50ad14
keycode  13 = apostrophe       grave
Packit Service 50ad14
	alt     keycode  13 = Meta_equal
Packit Service 50ad14
	shift alt keycode 13 = Meta_grave
Packit Service 50ad14
Packit Service 50ad14
keycode  14 = Delete           Delete
Packit Service 50ad14
	alt     keycode  14 = Meta_Delete
Packit Service 50ad14
Packit Service 50ad14
keycode  15 = Tab              Tab
Packit Service 50ad14
	alt     keycode  15 = Meta_Tab
Packit Service 50ad14
Packit Service 50ad14
keycode  16 = q
Packit Service 50ad14
	altgr	keycode 16 = at
Packit Service 50ad14
	control keycode 16 = Control_q
Packit Service 50ad14
	alt	keycode 16 = Meta_q
Packit Service 50ad14
	shift alt keycode 16 = Meta_Q
Packit Service 50ad14
	altgr	alt	keycode 16 = Meta_at
Packit Service 50ad14
Packit Service 50ad14
keycode  17 = w
Packit Service 50ad14
	control keycode 17 = Control_w
Packit Service 50ad14
	alt	keycode 17 = Meta_w
Packit Service 50ad14
	shift alt keycode 17 = Meta_W
Packit Service 50ad14
Packit Service 50ad14
keycode  18 = e
Packit Service 50ad14
	control keycode 18 = Control_e
Packit Service 50ad14
	alt	keycode 18 = Meta_e
Packit Service 50ad14
	shift alt keycode 18 = Meta_E
Packit Service 50ad14
Packit Service 50ad14
keycode  19 = r
Packit Service 50ad14
	control keycode 19 = Control_r
Packit Service 50ad14
	alt	keycode 19 = Meta_r
Packit Service 50ad14
	shift alt keycode 19 = Meta_R
Packit Service 50ad14
Packit Service 50ad14
keycode  20 = t
Packit Service 50ad14
	control keycode 20 = Control_t
Packit Service 50ad14
	alt	keycode 20 = Meta_t
Packit Service 50ad14
	shift alt keycode 20 = Meta_T
Packit Service 50ad14
Packit Service 50ad14
keycode  21 = z
Packit Service 50ad14
	control keycode 21 = Control_z
Packit Service 50ad14
	alt	keycode 21 = Meta_z
Packit Service 50ad14
	shift alt keycode 21 = Meta_Z
Packit Service 50ad14
Packit Service 50ad14
keycode  22 = u
Packit Service 50ad14
	control keycode 22 = Control_u
Packit Service 50ad14
	alt	keycode 22 = Meta_u
Packit Service 50ad14
	shift alt keycode 22 = Meta_U
Packit Service 50ad14
Packit Service 50ad14
keycode  23 = i
Packit Service 50ad14
	alt	keycode 23 = Meta_i
Packit Service 50ad14
	shift alt keycode 23 = Meta_I
Packit Service 50ad14
Packit Service 50ad14
keycode  24 = o
Packit Service 50ad14
	control keycode 24 = Control_o
Packit Service 50ad14
	alt	keycode 24 = Meta_o
Packit Service 50ad14
	shift alt keycode 24 = Meta_O
Packit Service 50ad14
Packit Service 50ad14
keycode  25 = p
Packit Service 50ad14
	control keycode 25 = Control_p
Packit Service 50ad14
	alt	keycode 25 = Meta_p
Packit Service 50ad14
	shift alt keycode 25 = Meta_P
Packit Service 50ad14
Packit Service 50ad14
keycode  26 = +udiaeresis       +Udiaeresis
Packit Service 50ad14
	control keycode  26 = Escape
Packit Service 50ad14
	alt     keycode  26 = Meta_bracketleft
Packit Service 50ad14
	shift alt keycode 26 = Meta_braceleft
Packit Service 50ad14
Packit Service 50ad14
keycode  27 = plus             asterisk         asciitilde
Packit Service 50ad14
	control keycode  27 = Control_bracketright
Packit Service 50ad14
	alt     keycode  27 = Meta_bracketright
Packit Service 50ad14
	shift alt keycode 27 = Meta_braceright
Packit Service 50ad14
Packit Service 50ad14
keycode  28 = Return
Packit Service 50ad14
	alt     keycode  28 = 0x080d
Packit Service 50ad14
Packit Service 50ad14
keycode  29 = Caps_Lock
Packit Service 50ad14
Packit Service 50ad14
keycode  30 = a
Packit Service 50ad14
	control keycode 30 = Control_a
Packit Service 50ad14
	alt	keycode 30 = Meta_a
Packit Service 50ad14
	shift alt keycode 30 = Meta_A
Packit Service 50ad14
Packit Service 50ad14
keycode  31 = s
Packit Service 50ad14
	control keycode 31 = Control_s
Packit Service 50ad14
	alt	keycode 31 = Meta_s
Packit Service 50ad14
	shift alt keycode 31 = Meta_S
Packit Service 50ad14
Packit Service 50ad14
keycode  32 = d
Packit Service 50ad14
	control keycode 32 = Control_d
Packit Service 50ad14
	alt	keycode 32 = Meta_d
Packit Service 50ad14
	shift alt keycode 32 = Meta_D
Packit Service 50ad14
Packit Service 50ad14
keycode  33 = f
Packit Service 50ad14
	control keycode 33 = Control_f
Packit Service 50ad14
	alt	keycode 33 = Meta_f
Packit Service 50ad14
	shift alt keycode 33 = Meta_F
Packit Service 50ad14
Packit Service 50ad14
keycode  34 = g
Packit Service 50ad14
	control keycode 34 = Control_g
Packit Service 50ad14
	alt	keycode 34 = Meta_g
Packit Service 50ad14
	shift alt keycode 34 = Meta_G
Packit Service 50ad14
Packit Service 50ad14
keycode  35 = h
Packit Service 50ad14
	alt	keycode 35 = Meta_h
Packit Service 50ad14
	shift alt keycode 35 = Meta_H
Packit Service 50ad14
Packit Service 50ad14
keycode  36 = j
Packit Service 50ad14
	alt	keycode 36 = Meta_j
Packit Service 50ad14
	shift alt keycode 36 = Meta_J
Packit Service 50ad14
Packit Service 50ad14
keycode  37 = k
Packit Service 50ad14
	control keycode 37 = Control_k
Packit Service 50ad14
	alt	keycode 37 = Meta_k
Packit Service 50ad14
	shift alt keycode 37 = Meta_K
Packit Service 50ad14
Packit Service 50ad14
keycode  38 = l
Packit Service 50ad14
	control keycode 38 = Control_l
Packit Service 50ad14
	alt	keycode 38 = Meta_l
Packit Service 50ad14
	shift alt keycode 38 = Meta_L
Packit Service 50ad14
Packit Service 50ad14
keycode  39 = +odiaeresis       +Odiaeresis
Packit Service 50ad14
	alt     keycode  39 = Meta_semicolon
Packit Service 50ad14
	shift alt keycode 39 = Meta_colon
Packit Service 50ad14
	shift keycode  39 = Odiaeresis
Packit Service 50ad14
Packit Service 50ad14
keycode  40 = +adiaeresis       +Adiaeresis
Packit Service 50ad14
	control keycode  40 = Control_g
Packit Service 50ad14
	alt     keycode  40 = Meta_apostrophe
Packit Service 50ad14
	shift alt keycode 40 = Meta_quotedbl
Packit Service 50ad14
Packit Service 50ad14
keycode  41 = asciicircum  degree
Packit Service 50ad14
	control keycode  41 = nul
Packit Service 50ad14
	alt     keycode  41 = Meta_grave
Packit Service 50ad14
	shift alt keycode 41 = Meta_asciitilde
Packit Service 50ad14
Packit Service 50ad14
keycode  42 = Shift
Packit Service 50ad14
Packit Service 50ad14
keycode  43 = numbersign       apostrophe
Packit Service 50ad14
	control keycode  43 = Control_backslash
Packit Service 50ad14
	alt     keycode  43 = Meta_backslash
Packit Service 50ad14
	shift alt keycode 43 = Meta_apostrophe
Packit Service 50ad14
Packit Service 50ad14
keycode  44 = y
Packit Service 50ad14
	control keycode 44 = Control_y
Packit Service 50ad14
	alt	keycode 44 = Meta_y
Packit Service 50ad14
	shift alt keycode 44 = Meta_Y
Packit Service 50ad14
Packit Service 50ad14
keycode  45 = x
Packit Service 50ad14
	control keycode 45 = Control_x
Packit Service 50ad14
	alt	keycode 45 = Meta_x
Packit Service 50ad14
	shift alt keycode 45 = Meta_X
Packit Service 50ad14
Packit Service 50ad14
keycode  46 = c
Packit Service 50ad14
	control keycode 46 = Control_c
Packit Service 50ad14
	alt	keycode 46 = Meta_c
Packit Service 50ad14
	shift alt keycode 46 = Meta_C
Packit Service 50ad14
Packit Service 50ad14
keycode  47 = v
Packit Service 50ad14
	control keycode 47 = Control_v
Packit Service 50ad14
	alt	keycode 47 = Meta_v
Packit Service 50ad14
	shift alt keycode 47 = Meta_V
Packit Service 50ad14
Packit Service 50ad14
keycode  48 = b
Packit Service 50ad14
	control keycode 48 = Control_b
Packit Service 50ad14
	alt	keycode 48 = Meta_b
Packit Service 50ad14
	shift alt keycode 48 = Meta_B
Packit Service 50ad14
Packit Service 50ad14
keycode  49 = n
Packit Service 50ad14
	control keycode 49 = Control_n
Packit Service 50ad14
	alt	keycode 49 = Meta_n
Packit Service 50ad14
	shift alt keycode 49 = Meta_N
Packit Service 50ad14
Packit Service 50ad14
keycode  50 = m
Packit Service 50ad14
	altgr	keycode 50 = mu
Packit Service 50ad14
	control keycode 50 = Control_m
Packit Service 50ad14
	alt	keycode 50 = Meta_m
Packit Service 50ad14
	shift alt keycode 50 = Meta_M
Packit Service 50ad14
Packit Service 50ad14
keycode  51 = comma            semicolon
Packit Service 50ad14
	alt     keycode  51 = Meta_comma
Packit Service 50ad14
	alt shift keycode 51 = Meta_semicolon
Packit Service 50ad14
Packit Service 50ad14
keycode  52 = period           colon
Packit Service 50ad14
	alt     keycode  52 = Meta_period
Packit Service 50ad14
	alt shift keycode 21 = Meta_colon
Packit Service 50ad14
Packit Service 50ad14
keycode  53 = minus            underscore
Packit Service 50ad14
	control keycode  53 = Delete
Packit Service 50ad14
	alt     keycode  53 = Meta_slash
Packit Service 50ad14
	shift control keycode 53 = Control_underscore
Packit Service 50ad14
Packit Service 50ad14
keycode  54 = Shift
Packit Service 50ad14
Packit Service 50ad14
keycode  55 = KP_Multiply
Packit Service 50ad14
Packit Service 50ad14
keycode  56 = Control
Packit Service 50ad14
     
Packit Service 50ad14
keycode  57 = space            space
Packit Service 50ad14
	control keycode  57 = nul
Packit Service 50ad14
	alt     keycode  57 = Meta_space
Packit Service 50ad14
Packit Service 50ad14
keycode 58 = Control
Packit Service 50ad14
Packit Service 50ad14
keycode  59 = Escape           Escape
Packit Service 50ad14
	alt     keycode   1 = Meta_Escape
Packit Service 50ad14
	shift alt keycode 1 = Meta_Escape
Packit Service 50ad14
Packit Service 50ad14
keycode  60 = Control_z
Packit Service 50ad14
Packit Service 50ad14
keycode  61 = 
Packit Service 50ad14
Packit Service 50ad14
keycode  62 = Last_Console
Packit Service 50ad14
Packit Service 50ad14
keycode  63 = Control_a
Packit Service 50ad14
Packit Service 50ad14
keycode  64 = Up
Packit Service 50ad14
Packit Service 50ad14
keycode  65 = Control_backslash
Packit Service 50ad14
	control keycode  99 = Control_backslash
Packit Service 50ad14
	alt     keycode  99 = Control_backslash
Packit Service 50ad14
Packit Service 50ad14
keycode  66 = Control_c
Packit Service 50ad14
Packit Service 50ad14
keycode  67 = Control_q
Packit Service 50ad14
Packit Service 50ad14
keycode  68 = Control_s
Packit Service 50ad14
Packit Service 50ad14
keycode  69 = Num_Lock
Packit Service 50ad14
Packit Service 50ad14
keycode  70 = Control_r
Packit Service 50ad14
Packit Service 50ad14
keycode  71 = KP_7
Packit Service 50ad14
	alt     keycode  71 = Ascii_7
Packit Service 50ad14
Packit Service 50ad14
keycode  72 = KP_8
Packit Service 50ad14
	alt     keycode  72 = Ascii_8
Packit Service 50ad14
Packit Service 50ad14
keycode  73 = KP_9
Packit Service 50ad14
	alt     keycode  73 = Ascii_9
Packit Service 50ad14
Packit Service 50ad14
keycode  74 = KP_Subtract
Packit Service 50ad14
Packit Service 50ad14
keycode  75 = KP_4
Packit Service 50ad14
	alt     keycode  75 = Ascii_4
Packit Service 50ad14
Packit Service 50ad14
keycode  76 = KP_5
Packit Service 50ad14
	alt     keycode  76 = Ascii_5
Packit Service 50ad14
Packit Service 50ad14
keycode  77 = KP_6
Packit Service 50ad14
	alt     keycode  77 = Ascii_6
Packit Service 50ad14
Packit Service 50ad14
keycode  78 = KP_Enter
Packit Service 50ad14
Packit Service 50ad14
keycode  79 = KP_1
Packit Service 50ad14
	alt     keycode  79 = Ascii_1
Packit Service 50ad14
Packit Service 50ad14
keycode  80 = KP_2
Packit Service 50ad14
	alt     keycode  80 = Ascii_2
Packit Service 50ad14
Packit Service 50ad14
keycode  81 = KP_3
Packit Service 50ad14
	alt     keycode  81 = Ascii_3
Packit Service 50ad14
Packit Service 50ad14
keycode  82 = KP_0
Packit Service 50ad14
	alt     keycode  82 = Ascii_0
Packit Service 50ad14
Packit Service 50ad14
keycode  83 = KP_Comma
Packit Service 50ad14
	altgr   control keycode  83 = Boot
Packit Service 50ad14
	control alt     keycode  83 = Boot
Packit Service 50ad14
Packit Service 50ad14
keycode  84 = slash
Packit Service 50ad14
Packit Service 50ad14
keycode  85 = Down
Packit Service 50ad14
Packit Service 50ad14
keycode  86 = Left
Packit Service 50ad14
Packit Service 50ad14
keycode  87 = F11              F11              Console_23
Packit Service 50ad14
	control keycode  87 = F11
Packit Service 50ad14
	alt     keycode  87 = Console_11
Packit Service 50ad14
	control	alt     keycode  87 = Console_11
Packit Service 50ad14
Packit Service 50ad14
keycode  88 = F1               F11              Console_13
Packit Service 50ad14
	control keycode  88 = F1
Packit Service 50ad14
	alt     keycode  88 = Console_1
Packit Service 50ad14
	control	alt     keycode  88 = Console_1
Packit Service 50ad14
Packit Service 50ad14
keycode  89 = F2               F12              Console_14
Packit Service 50ad14
	control keycode  89 = F2
Packit Service 50ad14
	alt     keycode  89 = Console_2
Packit Service 50ad14
	control	alt     keycode  89 = Console_2
Packit Service 50ad14
Packit Service 50ad14
keycode  90 = F3               F13              Console_15
Packit Service 50ad14
	control keycode  90 = F3
Packit Service 50ad14
	alt     keycode  90 = Console_3
Packit Service 50ad14
	control	alt     keycode  90 = Console_3
Packit Service 50ad14
Packit Service 50ad14
keycode  91 = F4               F14              Console_16
Packit Service 50ad14
	control keycode  91 = F4
Packit Service 50ad14
	alt     keycode  91 = Console_4
Packit Service 50ad14
	control	alt     keycode  91 = Console_4
Packit Service 50ad14
Packit Service 50ad14
keycode  92 = F5               F15              Console_17
Packit Service 50ad14
	control keycode  92 = F5
Packit Service 50ad14
	alt     keycode  92 = Console_5
Packit Service 50ad14
	control	alt     keycode  92 = Console_5
Packit Service 50ad14
Packit Service 50ad14
keycode  93 = F6               F16              Console_18
Packit Service 50ad14
	control keycode  93 = F6
Packit Service 50ad14
	alt     keycode  93 = Console_6
Packit Service 50ad14
	control	alt     keycode  93 = Console_6
Packit Service 50ad14
Packit Service 50ad14
keycode  94 = F7               F17              Console_19
Packit Service 50ad14
	control keycode  94 = F7
Packit Service 50ad14
	alt     keycode  94 = Console_7
Packit Service 50ad14
	control	alt     keycode  94 = Console_7
Packit Service 50ad14
Packit Service 50ad14
keycode  95 = F8               F18              Console_20
Packit Service 50ad14
	control keycode  95 = F8
Packit Service 50ad14
	alt     keycode  95 = Console_8
Packit Service 50ad14
	control	alt     keycode  95 = Console_8
Packit Service 50ad14
Packit Service 50ad14
keycode  96 = KP_Enter
Packit Service 50ad14
Packit Service 50ad14
keycode  97 = Alt
Packit Service 50ad14
Packit Service 50ad14
keycode  98 = KP_Divide
Packit Service 50ad14
Packit Service 50ad14
keycode  99 = 
Packit Service 50ad14
Packit Service 50ad14
keycode 100 = AltGr
Packit Service 50ad14
Packit Service 50ad14
keycode 101 = Break
Packit Service 50ad14
Packit Service 50ad14
keycode 102 = Find
Packit Service 50ad14
Packit Service 50ad14
keycode 103 = Up
Packit Service 50ad14
Packit Service 50ad14
keycode 104 = Prior
Packit Service 50ad14
	shift   keycode 104 = Scroll_Backward
Packit Service 50ad14
Packit Service 50ad14
keycode 105 = less	greater		bar
Packit Service 50ad14
 	alt     keycode  86 = Meta_less
Packit Service 50ad14
 	shift alt keycode  86 = Meta_greater
Packit Service 50ad14
	altgr alt keycode  86 = Meta_bar
Packit Service 50ad14
Packit Service 50ad14
keycode 106 = Right
Packit Service 50ad14
Packit Service 50ad14
keycode 107 = Select
Packit Service 50ad14
Packit Service 50ad14
keycode 108 = F25
Packit Service 50ad14
Packit Service 50ad14
keycode 109 = Next            
Packit Service 50ad14
	shift   keycode 109 = Scroll_Forward  
Packit Service 50ad14
Packit Service 50ad14
keycode 110 = Insert          
Packit Service 50ad14
Packit Service 50ad14
keycode 111 = Remove          
Packit Service 50ad14
	altgr   control keycode 111 = Boot            
Packit Service 50ad14
	control alt     keycode 111 = Boot            
Packit Service 50ad14
Packit Service 50ad14
keycode 112 = F9
Packit Service 50ad14
keycode 113 = F10
Packit Service 50ad14
keycode 114 = F11
Packit Service 50ad14
keycode 115 = F12
Packit Service 50ad14
keycode 116 = Console_1
Packit Service 50ad14
keycode 117 = Console_2
Packit Service 50ad14
keycode 118 = Console_3
Packit Service 50ad14
keycode 119 = 
Packit Service 50ad14
keycode 120 = Console_4
Packit Service 50ad14
keycode 121 = Console_5
Packit Service 50ad14
keycode 122 = Console_6
Packit Service 50ad14
keycode 123 = Console_7
Packit Service 50ad14
keycode 124 = Console_8
Packit Service 50ad14
keycode 125 = F21
Packit Service 50ad14
keycode 126 = F22
Packit Service 50ad14
keycode 127 = F23
Packit Service 50ad14
Packit Service 50ad14
# mom
Packit Service 50ad14
string F1 = "\033[[A"
Packit Service 50ad14
string F2 = "\033[[B"
Packit Service 50ad14
string F3 = "\033[[C"
Packit Service 50ad14
string F4 = "\033[[D"
Packit Service 50ad14
string F5 = "\033[[E"
Packit Service 50ad14
string F6 = "\033[17~"
Packit Service 50ad14
string F7 = "\033[18~"
Packit Service 50ad14
string F8 = "\033[19~"
Packit Service 50ad14
string F9 = "\033[20~"
Packit Service 50ad14
string F10 = "\033[21~"
Packit Service 50ad14
string F11 = "\033[23~"
Packit Service 50ad14
string F12 = "\033[24~"
Packit Service 50ad14
string F13 = "\033[25~"
Packit Service 50ad14
string F14 = "\033[26~"
Packit Service 50ad14
string F15 = "\033[28~"
Packit Service 50ad14
string F16 = "\033[29~"
Packit Service 50ad14
string F17 = "\033[31~"
Packit Service 50ad14
string F18 = "\033[32~"
Packit Service 50ad14
string F19 = "\033[33~"
Packit Service 50ad14
string F20 = "\033[34~"
Packit Service 50ad14
string Find = "\033[1~"
Packit Service 50ad14
string Insert = "\033[2~"
Packit Service 50ad14
string Remove = "\033[3~"
Packit Service 50ad14
string Select = "\033[4~"
Packit Service 50ad14
string Prior = "\033[5~"
Packit Service 50ad14
string Next = "\033[6~"
Packit Service 50ad14
string F21 = ""
Packit Service 50ad14
string F22 = ""
Packit Service 50ad14
string F23 = ""
Packit Service 50ad14
string F24 = ""
Packit Service 50ad14
string F25 = ""
Packit Service 50ad14
string F26 = ""
Packit Service 50ad14
Packit Service 50ad14