File: /usr/src/linux/drivers/char/defkeymap.c

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