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