1 
2 /* Do not edit this file! It was automatically generated by   */
3 /*    loadkeys --mktable defkeymap.map > defkeymap.c          */
4 
5 #include <linux/types.h>
6 #include <linux/keyboard.h>
7 #include <linux/kd.h>
8 
9 u_short plain_map[NR_KEYS] = {
10 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf100,	0xf101,	0xf109,
11 	0xf102,	0xf10a,	0xf103,	0xf10b,	0xf104,	0xf701,	0xf105,	0xf200,
12 	0xf106,	0xf107,	0xf108,	0xf703,	0xf603,	0xf11d,	0xf200,	0xf209,
13 	0xf601,	0xf200,	0xf200,	0xf600,	0xf602,	0xf01b,	0xf031,	0xf032,
14 	0xf033,	0xf034,	0xf035,	0xf036,	0xf037,	0xf038,	0xf039,	0xf030,
15 	0xf02d,	0xf03d,	0xf060,	0xf07f,	0xf115,	0xf03d,	0xf30d,	0xf30c,
16 	0xf200,	0xf200,	0xf310,	0xf200,	0xf114,	0xf009,	0xfb71,	0xfb77,
17 	0xfb65,	0xfb72,	0xfb74,	0xfb79,	0xfb75,	0xfb69,	0xfb6f,	0xfb70,
18 	0xf05b,	0xf05d,	0xf07f,	0xf20e,	0xf307,	0xf308,	0xf309,	0xf30b,
19 	0xf200,	0xf200,	0xf117,	0xf200,	0xf702,	0xfb61,	0xfb73,	0xfb64,
20 	0xfb66,	0xfb67,	0xfb68,	0xfb6a,	0xfb6b,	0xfb6c,	0xf03b,	0xf027,
21 	0xf05c,	0xf201,	0xf30e,	0xf304,	0xf305,	0xf306,	0xf300,	0xf200,
22 	0xf118,	0xf200,	0xf208,	0xf700,	0xfb7a,	0xfb78,	0xfb63,	0xfb76,
23 	0xfb62,	0xfb6e,	0xfb6d,	0xf02c,	0xf02e,	0xf02f,	0xf700,	0xf00a,
24 	0xf301,	0xf302,	0xf303,	0xf200,	0xf200,	0xf200,	0xf11b,	0xf207,
25 	0xf200,	0xf020,	0xf200,	0xf119,	0xf200,	0xf30a,	0xf200,	0xf200,
26 };
27 
28 u_short shift_map[NR_KEYS] = {
29 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf10a,	0xf10b,	0xf113,
30 	0xf10c,	0xf10a,	0xf10d,	0xf10b,	0xf10e,	0xf701,	0xf10f,	0xf200,
31 	0xf110,	0xf111,	0xf112,	0xf703,	0xf603,	0xf11d,	0xf200,	0xf203,
32 	0xf601,	0xf200,	0xf200,	0xf600,	0xf602,	0xf01b,	0xf021,	0xf040,
33 	0xf023,	0xf024,	0xf025,	0xf05e,	0xf026,	0xf02a,	0xf028,	0xf029,
34 	0xf05f,	0xf02b,	0xf07e,	0xf07f,	0xf115,	0xf03d,	0xf30d,	0xf30c,
35 	0xf200,	0xf200,	0xf310,	0xf200,	0xf114,	0xf009,	0xfb51,	0xfb57,
36 	0xfb45,	0xfb52,	0xfb54,	0xfb59,	0xfb55,	0xfb49,	0xfb4f,	0xfb50,
37 	0xf07b,	0xf07d,	0xf07f,	0xf20e,	0xf307,	0xf308,	0xf309,	0xf30b,
38 	0xf200,	0xf200,	0xf117,	0xf200,	0xf702,	0xfb41,	0xfb53,	0xfb44,
39 	0xfb46,	0xfb47,	0xfb48,	0xfb4a,	0xfb4b,	0xfb4c,	0xf03a,	0xf022,
40 	0xf07c,	0xf201,	0xf30e,	0xf304,	0xf305,	0xf306,	0xf300,	0xf200,
41 	0xf20b,	0xf200,	0xf208,	0xf700,	0xfb5a,	0xfb58,	0xfb43,	0xfb56,
42 	0xfb42,	0xfb4e,	0xfb4d,	0xf03c,	0xf03e,	0xf03f,	0xf700,	0xf00a,
43 	0xf301,	0xf302,	0xf303,	0xf200,	0xf200,	0xf200,	0xf11b,	0xf207,
44 	0xf200,	0xf020,	0xf200,	0xf20a,	0xf200,	0xf30a,	0xf200,	0xf200,
45 };
46 
47 u_short altgr_map[NR_KEYS] = {
48 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf50c,	0xf50d,	0xf515,
49 	0xf50e,	0xf516,	0xf50f,	0xf517,	0xf510,	0xf701,	0xf511,	0xf200,
50 	0xf512,	0xf513,	0xf514,	0xf703,	0xf603,	0xf11d,	0xf200,	0xf202,
51 	0xf601,	0xf200,	0xf200,	0xf600,	0xf602,	0xf200,	0xf200,	0xf040,
52 	0xf200,	0xf024,	0xf200,	0xf200,	0xf07b,	0xf05b,	0xf05d,	0xf07d,
53 	0xf05c,	0xf200,	0xf200,	0xf200,	0xf115,	0xf03d,	0xf30d,	0xf30c,
54 	0xf200,	0xf200,	0xf310,	0xf200,	0xf114,	0xf200,	0xfb71,	0xfb77,
55 	0xf918,	0xfb72,	0xfb74,	0xfb79,	0xfb75,	0xfb69,	0xfb6f,	0xfb70,
56 	0xf200,	0xf07e,	0xf200,	0xf20e,	0xf911,	0xf912,	0xf913,	0xf30b,
57 	0xf200,	0xf200,	0xf117,	0xf200,	0xf702,	0xf914,	0xfb73,	0xf917,
58 	0xf919,	0xfb67,	0xfb68,	0xfb6a,	0xfb6b,	0xfb6c,	0xf200,	0xf200,
59 	0xf200,	0xf201,	0xf30e,	0xf90e,	0xf90f,	0xf910,	0xf90a,	0xf200,
60 	0xf118,	0xf200,	0xf208,	0xf700,	0xfb7a,	0xfb78,	0xf916,	0xfb76,
61 	0xf915,	0xfb6e,	0xfb6d,	0xf200,	0xf200,	0xf200,	0xf700,	0xf00a,
62 	0xf90b,	0xf90c,	0xf90d,	0xf200,	0xf200,	0xf200,	0xf11b,	0xf207,
63 	0xf200,	0xf200,	0xf200,	0xf119,	0xf200,	0xf30a,	0xf200,	0xf200,
64 };
65 
66 u_short ctrl_map[NR_KEYS] = {
67 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf100,	0xf101,	0xf109,
68 	0xf102,	0xf10a,	0xf103,	0xf10b,	0xf104,	0xf701,	0xf105,	0xf200,
69 	0xf106,	0xf107,	0xf108,	0xf703,	0xf603,	0xf11d,	0xf200,	0xf204,
70 	0xf601,	0xf200,	0xf200,	0xf600,	0xf602,	0xf200,	0xf200,	0xf000,
71 	0xf01b,	0xf01c,	0xf01d,	0xf01e,	0xf01f,	0xf07f,	0xf200,	0xf200,
72 	0xf01f,	0xf200,	0xf000,	0xf008,	0xf115,	0xf03d,	0xf30d,	0xf30c,
73 	0xf200,	0xf200,	0xf310,	0xf200,	0xf114,	0xf200,	0xf011,	0xf017,
74 	0xf005,	0xf012,	0xf014,	0xf019,	0xf015,	0xf009,	0xf00f,	0xf010,
75 	0xf01b,	0xf01d,	0xf008,	0xf20e,	0xf307,	0xf308,	0xf309,	0xf30b,
76 	0xf200,	0xf200,	0xf117,	0xf200,	0xf702,	0xf001,	0xf013,	0xf004,
77 	0xf006,	0xf007,	0xf008,	0xf00a,	0xf00b,	0xf00c,	0xf200,	0xf007,
78 	0xf01c,	0xf201,	0xf30e,	0xf304,	0xf305,	0xf306,	0xf300,	0xf200,
79 	0xf118,	0xf200,	0xf208,	0xf700,	0xf01a,	0xf018,	0xf003,	0xf016,
80 	0xf002,	0xf00e,	0xf00d,	0xf200,	0xf20e,	0xf07f,	0xf700,	0xf00a,
81 	0xf301,	0xf302,	0xf303,	0xf200,	0xf200,	0xf200,	0xf11b,	0xf207,
82 	0xf200,	0xf000,	0xf200,	0xf119,	0xf200,	0xf30a,	0xf200,	0xf200,
83 };
84 
85 u_short shift_ctrl_map[NR_KEYS] = {
86 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
87 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf701,	0xf200,	0xf200,
88 	0xf200,	0xf200,	0xf200,	0xf703,	0xf603,	0xf11d,	0xf200,	0xf200,
89 	0xf601,	0xf200,	0xf200,	0xf600,	0xf602,	0xf200,	0xf200,	0xf000,
90 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
91 	0xf01f,	0xf200,	0xf200,	0xf200,	0xf115,	0xf03d,	0xf30d,	0xf30c,
92 	0xf200,	0xf200,	0xf310,	0xf200,	0xf114,	0xf200,	0xf011,	0xf017,
93 	0xf005,	0xf012,	0xf014,	0xf019,	0xf015,	0xf009,	0xf00f,	0xf010,
94 	0xf200,	0xf200,	0xf200,	0xf20e,	0xf307,	0xf308,	0xf309,	0xf30b,
95 	0xf200,	0xf200,	0xf117,	0xf200,	0xf702,	0xf001,	0xf013,	0xf004,
96 	0xf006,	0xf007,	0xf008,	0xf00a,	0xf00b,	0xf00c,	0xf200,	0xf200,
97 	0xf200,	0xf201,	0xf30e,	0xf304,	0xf305,	0xf306,	0xf300,	0xf200,
98 	0xf118,	0xf200,	0xf208,	0xf700,	0xf01a,	0xf018,	0xf003,	0xf016,
99 	0xf002,	0xf00e,	0xf00d,	0xf200,	0xf200,	0xf200,	0xf700,	0xf00a,
100 	0xf301,	0xf302,	0xf303,	0xf200,	0xf200,	0xf200,	0xf11b,	0xf207,
101 	0xf200,	0xf200,	0xf200,	0xf119,	0xf200,	0xf30a,	0xf200,	0xf200,
102 };
103 
104 u_short alt_map[NR_KEYS] = {
105 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf500,	0xf501,	0xf509,
106 	0xf502,	0xf50a,	0xf503,	0xf50b,	0xf504,	0xf701,	0xf505,	0xf200,
107 	0xf506,	0xf507,	0xf508,	0xf703,	0xf603,	0xf11d,	0xf200,	0xf209,
108 	0xf210,	0xf200,	0xf200,	0xf600,	0xf211,	0xf81b,	0xf831,	0xf832,
109 	0xf833,	0xf834,	0xf835,	0xf836,	0xf837,	0xf838,	0xf839,	0xf830,
110 	0xf82d,	0xf83d,	0xf860,	0xf87f,	0xf115,	0xf03d,	0xf30d,	0xf30c,
111 	0xf200,	0xf200,	0xf310,	0xf200,	0xf114,	0xf809,	0xf871,	0xf877,
112 	0xf865,	0xf872,	0xf874,	0xf879,	0xf875,	0xf869,	0xf86f,	0xf870,
113 	0xf85b,	0xf85d,	0xf87f,	0xf20e,	0xf907,	0xf908,	0xf909,	0xf30b,
114 	0xf200,	0xf200,	0xf117,	0xf200,	0xf702,	0xf861,	0xf873,	0xf864,
115 	0xf866,	0xf867,	0xf868,	0xf86a,	0xf86b,	0xf86c,	0xf83b,	0xf827,
116 	0xf85c,	0xf80d,	0xf30e,	0xf904,	0xf905,	0xf906,	0xf900,	0xf200,
117 	0xf118,	0xf200,	0xf208,	0xf700,	0xf87a,	0xf878,	0xf863,	0xf876,
118 	0xf862,	0xf86e,	0xf86d,	0xf82c,	0xf82e,	0xf82f,	0xf700,	0xf00a,
119 	0xf901,	0xf902,	0xf903,	0xf200,	0xf200,	0xf200,	0xf11b,	0xf207,
120 	0xf200,	0xf820,	0xf200,	0xf119,	0xf200,	0xf30a,	0xf200,	0xf200,
121 };
122 
123 u_short ctrl_alt_map[NR_KEYS] = {
124 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf500,	0xf501,	0xf509,
125 	0xf502,	0xf50a,	0xf503,	0xf50b,	0xf504,	0xf701,	0xf505,	0xf200,
126 	0xf506,	0xf507,	0xf508,	0xf703,	0xf603,	0xf11d,	0xf200,	0xf200,
127 	0xf601,	0xf200,	0xf200,	0xf600,	0xf602,	0xf200,	0xf200,	0xf200,
128 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
129 	0xf200,	0xf200,	0xf200,	0xf200,	0xf115,	0xf03d,	0xf30d,	0xf30c,
130 	0xf200,	0xf200,	0xf20c,	0xf200,	0xf114,	0xf200,	0xf811,	0xf817,
131 	0xf805,	0xf812,	0xf814,	0xf819,	0xf815,	0xf809,	0xf80f,	0xf810,
132 	0xf200,	0xf200,	0xf20c,	0xf20e,	0xf307,	0xf308,	0xf309,	0xf30b,
133 	0xf200,	0xf200,	0xf117,	0xf200,	0xf702,	0xf801,	0xf813,	0xf804,
134 	0xf806,	0xf807,	0xf808,	0xf80a,	0xf80b,	0xf80c,	0xf200,	0xf200,
135 	0xf200,	0xf201,	0xf30e,	0xf304,	0xf305,	0xf306,	0xf300,	0xf200,
136 	0xf118,	0xf200,	0xf208,	0xf700,	0xf81a,	0xf818,	0xf803,	0xf816,
137 	0xf802,	0xf80e,	0xf80d,	0xf200,	0xf200,	0xf200,	0xf700,	0xf00a,
138 	0xf301,	0xf302,	0xf303,	0xf200,	0xf200,	0xf200,	0xf11b,	0xf207,
139 	0xf200,	0xf200,	0xf200,	0xf119,	0xf200,	0xf30a,	0xf200,	0xf200,
140 };
141 
142 ushort *key_maps[MAX_NR_KEYMAPS] = {
143 	plain_map, shift_map, altgr_map, 0,
144 	ctrl_map, shift_ctrl_map, 0, 0,
145 	alt_map, 0, 0, 0,
146 	ctrl_alt_map,	0
147 };
148 
149 unsigned int keymap_count = 7;
150 
151 
152 /*
153  * Philosophy: most people do not define more strings, but they who do
154  * often want quite a lot of string space. So, we statically allocate
155  * the default and allocate dynamically in chunks of 512 bytes.
156  */
157 
158 char func_buf[] = {
159 	'\033', '[', '[', 'A', 0,
160 	'\033', '[', '[', 'B', 0,
161 	'\033', '[', '[', 'C', 0,
162 	'\033', '[', '[', 'D', 0,
163 	'\033', '[', '[', 'E', 0,
164 	'\033', '[', '1', '7', '~', 0,
165 	'\033', '[', '1', '8', '~', 0,
166 	'\033', '[', '1', '9', '~', 0,
167 	'\033', '[', '2', '0', '~', 0,
168 	'\033', '[', '2', '1', '~', 0,
169 	'\033', '[', '2', '3', '~', 0,
170 	'\033', '[', '2', '4', '~', 0,
171 	'\033', '[', '2', '5', '~', 0,
172 	'\033', '[', '2', '6', '~', 0,
173 	'\033', '[', '2', '8', '~', 0,
174 	'\033', '[', '2', '9', '~', 0,
175 	'\033', '[', '3', '1', '~', 0,
176 	'\033', '[', '3', '2', '~', 0,
177 	'\033', '[', '3', '3', '~', 0,
178 	'\033', '[', '3', '4', '~', 0,
179 	'\033', '[', '1', '~', 0,
180 	'\033', '[', '2', '~', 0,
181 	'\033', '[', '3', '~', 0,
182 	'\033', '[', '4', '~', 0,
183 	'\033', '[', '5', '~', 0,
184 	'\033', '[', '6', '~', 0,
185 	'\033', '[', 'M', 0,
186 	'\033', '[', 'P', 0,
187 };
188 
189 
190 char *funcbufptr = func_buf;
191 int funcbufsize = sizeof(func_buf);
192 int funcbufleft = 0;          /* space left */
193 
194 char *func_table[MAX_NR_FUNC] = {
195 	func_buf + 0,
196 	func_buf + 5,
197 	func_buf + 10,
198 	func_buf + 15,
199 	func_buf + 20,
200 	func_buf + 25,
201 	func_buf + 31,
202 	func_buf + 37,
203 	func_buf + 43,
204 	func_buf + 49,
205 	func_buf + 55,
206 	func_buf + 61,
207 	func_buf + 67,
208 	func_buf + 73,
209 	func_buf + 79,
210 	func_buf + 85,
211 	func_buf + 91,
212 	func_buf + 97,
213 	func_buf + 103,
214 	func_buf + 109,
215 	func_buf + 115,
216 	func_buf + 120,
217 	func_buf + 125,
218 	func_buf + 130,
219 	func_buf + 135,
220 	func_buf + 140,
221 	func_buf + 145,
222 	0,
223 	0,
224 	func_buf + 149,
225 	0,
226 };
227 
228 struct kbdiacr accent_table[MAX_DIACR] = {
229 	{'`', 'A', '\300'},	{'`', 'a', '\340'},
230 	{'\'', 'A', '\301'},	{'\'', 'a', '\341'},
231 	{'^', 'A', '\302'},	{'^', 'a', '\342'},
232 	{'~', 'A', '\303'},	{'~', 'a', '\343'},
233 	{'"', 'A', '\304'},	{'"', 'a', '\344'},
234 	{'O', 'A', '\305'},	{'o', 'a', '\345'},
235 	{'0', 'A', '\305'},	{'0', 'a', '\345'},
236 	{'A', 'A', '\305'},	{'a', 'a', '\345'},
237 	{'A', 'E', '\306'},	{'a', 'e', '\346'},
238 	{',', 'C', '\307'},	{',', 'c', '\347'},
239 	{'`', 'E', '\310'},	{'`', 'e', '\350'},
240 	{'\'', 'E', '\311'},	{'\'', 'e', '\351'},
241 	{'^', 'E', '\312'},	{'^', 'e', '\352'},
242 	{'"', 'E', '\313'},	{'"', 'e', '\353'},
243 	{'`', 'I', '\314'},	{'`', 'i', '\354'},
244 	{'\'', 'I', '\315'},	{'\'', 'i', '\355'},
245 	{'^', 'I', '\316'},	{'^', 'i', '\356'},
246 	{'"', 'I', '\317'},	{'"', 'i', '\357'},
247 	{'-', 'D', '\320'},	{'-', 'd', '\360'},
248 	{'~', 'N', '\321'},	{'~', 'n', '\361'},
249 	{'`', 'O', '\322'},	{'`', 'o', '\362'},
250 	{'\'', 'O', '\323'},	{'\'', 'o', '\363'},
251 	{'^', 'O', '\324'},	{'^', 'o', '\364'},
252 	{'~', 'O', '\325'},	{'~', 'o', '\365'},
253 	{'"', 'O', '\326'},	{'"', 'o', '\366'},
254 	{'/', 'O', '\330'},	{'/', 'o', '\370'},
255 	{'`', 'U', '\331'},	{'`', 'u', '\371'},
256 	{'\'', 'U', '\332'},	{'\'', 'u', '\372'},
257 	{'^', 'U', '\333'},	{'^', 'u', '\373'},
258 	{'"', 'U', '\334'},	{'"', 'u', '\374'},
259 	{'\'', 'Y', '\335'},	{'\'', 'y', '\375'},
260 	{'T', 'H', '\336'},	{'t', 'h', '\376'},
261 	{'s', 's', '\337'},	{'"', 'y', '\377'},
262 	{'s', 'z', '\337'},	{'i', 'j', '\377'},
263 };
264 
265 unsigned int accent_table_size = 68;
266