xref: /OK3568_Linux_fs/kernel/drivers/s390/char/defkeymap.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun 
3*4882a593Smuzhiyun /* Do not edit this file! It was automatically generated by   */
4*4882a593Smuzhiyun /*    loadkeys --mktable defkeymap.map > defkeymap.c          */
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun #include <linux/types.h>
7*4882a593Smuzhiyun #include <linux/keyboard.h>
8*4882a593Smuzhiyun #include <linux/kd.h>
9*4882a593Smuzhiyun #include <linux/kbd_kern.h>
10*4882a593Smuzhiyun #include <linux/kbd_diacr.h>
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #include "keyboard.h"
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun u_short ebc_plain_map[NR_KEYS] = {
15*4882a593Smuzhiyun 	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,
16*4882a593Smuzhiyun 	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,
17*4882a593Smuzhiyun 	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,
18*4882a593Smuzhiyun 	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,
19*4882a593Smuzhiyun 	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,
20*4882a593Smuzhiyun 	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,
21*4882a593Smuzhiyun 	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,
22*4882a593Smuzhiyun 	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,	0xf000,
23*4882a593Smuzhiyun 	0xf020,	0xf000,	0xf0e2,	0xf0e4,	0xf0e0,	0xf0e1,	0xf0e3,	0xf0e5,
24*4882a593Smuzhiyun 	0xf0e7,	0xf0f1,	0xf0a2,	0xf02e,	0xf03c,	0xf028,	0xf02b,	0xf07c,
25*4882a593Smuzhiyun 	0xf026,	0xf0e9,	0xf0e2,	0xf0eb,	0xf0e8,	0xf0ed,	0xf0ee,	0xf0ef,
26*4882a593Smuzhiyun 	0xf0ec,	0xf0df,	0xf021,	0xf024,	0xf02a,	0xf029,	0xf03b,	0xf0ac,
27*4882a593Smuzhiyun 	0xf02d,	0xf02f,	0xf0c2,	0xf0c4,	0xf0c0,	0xf0c1,	0xf0c3,	0xf0c5,
28*4882a593Smuzhiyun 	0xf0c7,	0xf0d1,	0xf0a6,	0xf02c,	0xf025,	0xf05f,	0xf03e,	0xf03f,
29*4882a593Smuzhiyun 	0xf0f8,	0xf0c9,	0xf0ca,	0xf0cb,	0xf0c8,	0xf0cd,	0xf0ce,	0xf0cf,
30*4882a593Smuzhiyun 	0xf0cc,	0xf060,	0xf03a,	0xf023,	0xf040,	0xf027,	0xf03d,	0xf022,
31*4882a593Smuzhiyun };
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun static u_short shift_map[NR_KEYS] = {
34*4882a593Smuzhiyun 	0xf0d8,	0xf061,	0xf062,	0xf063,	0xf064,	0xf065,	0xf066,	0xf067,
35*4882a593Smuzhiyun 	0xf068,	0xf069,	0xf0ab,	0xf0bb,	0xf0f0,	0xf0fd,	0xf0fe,	0xf0b1,
36*4882a593Smuzhiyun 	0xf0b0,	0xf06a,	0xf06b,	0xf06c,	0xf06d,	0xf06e,	0xf06f,	0xf070,
37*4882a593Smuzhiyun 	0xf071,	0xf072,	0xf000,	0xf000,	0xf0e6,	0xf0b8,	0xf0c6,	0xf0a4,
38*4882a593Smuzhiyun 	0xf0b5,	0xf07e,	0xf073,	0xf074,	0xf075,	0xf076,	0xf077,	0xf078,
39*4882a593Smuzhiyun 	0xf079,	0xf07a,	0xf0a1,	0xf0bf,	0xf0d0,	0xf0dd,	0xf0de,	0xf0ae,
40*4882a593Smuzhiyun 	0xf402,	0xf0a3,	0xf0a5,	0xf0b7,	0xf0a9,	0xf0a7,	0xf0b6,	0xf0bc,
41*4882a593Smuzhiyun 	0xf0bd,	0xf0be,	0xf05b,	0xf05d,	0xf000,	0xf0a8,	0xf0b4,	0xf0d7,
42*4882a593Smuzhiyun 	0xf07b,	0xf041,	0xf042,	0xf043,	0xf044,	0xf045,	0xf046,	0xf047,
43*4882a593Smuzhiyun 	0xf048,	0xf049,	0xf000,	0xf0f4,	0xf0f6,	0xf0f2,	0xf0f3,	0xf0f5,
44*4882a593Smuzhiyun 	0xf07d,	0xf04a,	0xf04b,	0xf04c,	0xf04d,	0xf04e,	0xf04f,	0xf050,
45*4882a593Smuzhiyun 	0xf051,	0xf052,	0xf0b9,	0xf0fb,	0xf0fc,	0xf0f9,	0xf0fa,	0xf0ff,
46*4882a593Smuzhiyun 	0xf05c,	0xf0f7,	0xf053,	0xf054,	0xf055,	0xf056,	0xf057,	0xf058,
47*4882a593Smuzhiyun 	0xf059,	0xf05a,	0xf0b2,	0xf0d4,	0xf0d6,	0xf0d2,	0xf0d3,	0xf0d5,
48*4882a593Smuzhiyun 	0xf030,	0xf031,	0xf032,	0xf033,	0xf034,	0xf035,	0xf036,	0xf037,
49*4882a593Smuzhiyun 	0xf038,	0xf039,	0xf0b3,	0xf0db,	0xf0dc,	0xf0d9,	0xf0da,	0xf000,
50*4882a593Smuzhiyun };
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun static u_short ctrl_map[NR_KEYS] = {
53*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
54*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
55*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
56*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
57*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
58*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
59*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
60*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
61*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
62*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf11f,	0xf120,	0xf121,	0xf200,	0xf200,	0xf200,
63*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
64*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
65*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
66*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf01a,	0xf003,	0xf212,	0xf004,	0xf200,
67*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
68*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf109,	0xf10a,	0xf206,	0xf00a,	0xf200,	0xf200,
69*4882a593Smuzhiyun };
70*4882a593Smuzhiyun 
71*4882a593Smuzhiyun static u_short shift_ctrl_map[NR_KEYS] = {
72*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
73*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
74*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
75*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
76*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
77*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
78*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
79*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
80*4882a593Smuzhiyun 	0xf200,	0xf10c,	0xf10d,	0xf10e,	0xf10f,	0xf110,	0xf111,	0xf112,
81*4882a593Smuzhiyun 	0xf113,	0xf11e,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
82*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
83*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
84*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
85*4882a593Smuzhiyun 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
86*4882a593Smuzhiyun 	0xf200,	0xf100,	0xf101,	0xf211,	0xf103,	0xf104,	0xf105,	0xf20b,
87*4882a593Smuzhiyun 	0xf20a,	0xf108,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
88*4882a593Smuzhiyun };
89*4882a593Smuzhiyun 
90*4882a593Smuzhiyun ushort *ebc_key_maps[MAX_NR_KEYMAPS] = {
91*4882a593Smuzhiyun 	ebc_plain_map, shift_map, NULL, NULL,
92*4882a593Smuzhiyun 	ctrl_map, shift_ctrl_map, NULL,
93*4882a593Smuzhiyun };
94*4882a593Smuzhiyun 
95*4882a593Smuzhiyun unsigned int ebc_keymap_count = 4;
96*4882a593Smuzhiyun 
97*4882a593Smuzhiyun 
98*4882a593Smuzhiyun /*
99*4882a593Smuzhiyun  * Philosophy: most people do not define more strings, but they who do
100*4882a593Smuzhiyun  * often want quite a lot of string space. So, we statically allocate
101*4882a593Smuzhiyun  * the default and allocate dynamically in chunks of 512 bytes.
102*4882a593Smuzhiyun  */
103*4882a593Smuzhiyun 
104*4882a593Smuzhiyun char ebc_func_buf[] = {
105*4882a593Smuzhiyun 	'\033', '[', '[', 'A', 0,
106*4882a593Smuzhiyun 	'\033', '[', '[', 'B', 0,
107*4882a593Smuzhiyun 	'\033', '[', '[', 'C', 0,
108*4882a593Smuzhiyun 	'\033', '[', '[', 'D', 0,
109*4882a593Smuzhiyun 	'\033', '[', '[', 'E', 0,
110*4882a593Smuzhiyun 	'\033', '[', '1', '7', '~', 0,
111*4882a593Smuzhiyun 	'\033', '[', '1', '8', '~', 0,
112*4882a593Smuzhiyun 	'\033', '[', '1', '9', '~', 0,
113*4882a593Smuzhiyun 	'\033', '[', '2', '0', '~', 0,
114*4882a593Smuzhiyun 	'\033', '[', '2', '1', '~', 0,
115*4882a593Smuzhiyun 	'\033', '[', '2', '3', '~', 0,
116*4882a593Smuzhiyun 	'\033', '[', '2', '4', '~', 0,
117*4882a593Smuzhiyun 	'\033', '[', '2', '5', '~', 0,
118*4882a593Smuzhiyun 	'\033', '[', '2', '6', '~', 0,
119*4882a593Smuzhiyun 	'\033', '[', '2', '8', '~', 0,
120*4882a593Smuzhiyun 	'\033', '[', '2', '9', '~', 0,
121*4882a593Smuzhiyun 	'\033', '[', '3', '1', '~', 0,
122*4882a593Smuzhiyun 	'\033', '[', '3', '2', '~', 0,
123*4882a593Smuzhiyun 	'\033', '[', '3', '3', '~', 0,
124*4882a593Smuzhiyun 	'\033', '[', '3', '4', '~', 0,
125*4882a593Smuzhiyun };
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun 
128*4882a593Smuzhiyun char *ebc_funcbufptr = ebc_func_buf;
129*4882a593Smuzhiyun int ebc_funcbufsize = sizeof(ebc_func_buf);
130*4882a593Smuzhiyun int ebc_funcbufleft;		/* space left */
131*4882a593Smuzhiyun 
132*4882a593Smuzhiyun char *ebc_func_table[MAX_NR_FUNC] = {
133*4882a593Smuzhiyun 	ebc_func_buf + 0,
134*4882a593Smuzhiyun 	ebc_func_buf + 5,
135*4882a593Smuzhiyun 	ebc_func_buf + 10,
136*4882a593Smuzhiyun 	ebc_func_buf + 15,
137*4882a593Smuzhiyun 	ebc_func_buf + 20,
138*4882a593Smuzhiyun 	ebc_func_buf + 25,
139*4882a593Smuzhiyun 	ebc_func_buf + 31,
140*4882a593Smuzhiyun 	ebc_func_buf + 37,
141*4882a593Smuzhiyun 	ebc_func_buf + 43,
142*4882a593Smuzhiyun 	ebc_func_buf + 49,
143*4882a593Smuzhiyun 	ebc_func_buf + 55,
144*4882a593Smuzhiyun 	ebc_func_buf + 61,
145*4882a593Smuzhiyun 	ebc_func_buf + 67,
146*4882a593Smuzhiyun 	ebc_func_buf + 73,
147*4882a593Smuzhiyun 	ebc_func_buf + 79,
148*4882a593Smuzhiyun 	ebc_func_buf + 85,
149*4882a593Smuzhiyun 	ebc_func_buf + 91,
150*4882a593Smuzhiyun 	ebc_func_buf + 97,
151*4882a593Smuzhiyun 	ebc_func_buf + 103,
152*4882a593Smuzhiyun 	ebc_func_buf + 109,
153*4882a593Smuzhiyun 	NULL,
154*4882a593Smuzhiyun };
155*4882a593Smuzhiyun 
156*4882a593Smuzhiyun struct kbdiacruc ebc_accent_table[MAX_DIACR] = {
157*4882a593Smuzhiyun 	{'^', 'c', 0003},	{'^', 'd', 0004},
158*4882a593Smuzhiyun 	{'^', 'z', 0032},	{'^', 0012, 0000},
159*4882a593Smuzhiyun };
160*4882a593Smuzhiyun 
161*4882a593Smuzhiyun unsigned int ebc_accent_table_size = 4;
162