special usb hub handling, IDE disks, and retries all over the place
[linux-2.4.git] / drivers / sbus / char / sunkeymap.c
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;