File: /usr/src/linux/drivers/acorn/char/defkeymap-acorn.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     	0xf01b,	0xf100,	0xf101,	0xf102,	0xf103,	0xf104,	0xf105,	0xf106,
10     	0xf107,	0xf108,	0xf109,	0xf10a,	0xf10b,	0xf200,	0xf209,	0xf205,
11     	0xf060,	0xf031,	0xf032,	0xf033,	0xf034,	0xf035,	0xf036,	0xf037,
12     	0xf038,	0xf039,	0xf030,	0xf02d,	0xf03d,	0xf0a3,	0xf07f,	0xf115,
13     	0xf114,	0xf118,	0xf208,	0xf30d,	0xf30c,	0xf314,	0xf009,	0xfb71,
14     	0xfb77,	0xfb65,	0xfb72,	0xfb74,	0xfb79,	0xfb75,	0xfb69,	0xfb6f,
15     	0xfb70,	0xf05b,	0xf05d,	0xf05c,	0xf116,	0xf117,	0xf119,	0xf307,
16     	0xf308,	0xf309,	0xf30b,	0xf702,	0xfb61,	0xfb73,	0xfb64,	0xfb66,
17     	0xfb67,	0xfb68,	0xfb6a,	0xfb6b,	0xfb6c,	0xf03b,	0xf027,	0xf201,
18     	0xf304,	0xf305,	0xf306,	0xf30a,	0xf700,	0xf200,	0xfb7a,	0xfb78,
19     	0xfb63,	0xfb76,	0xfb62,	0xfb6e,	0xfb6d,	0xf02c,	0xf02e,	0xf02f,
20     	0xf700,	0xf603,	0xf301,	0xf302,	0xf303,	0xf207,	0xf703,	0xf020,
21     	0xf701,	0xf702,	0xf601,	0xf600,	0xf602,	0xf300,	0xf310,	0xf30e,
22     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
23     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
24     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
25     };
26     
27     u_short shift_map[NR_KEYS] = {
28     	0xf01b,	0xf10a,	0xf10b,	0xf10c,	0xf10d,	0xf10e,	0xf10f,	0xf110,
29     	0xf111,	0xf112,	0xf113,	0xf10a,	0xf10b,	0xf200,	0xf203,	0xf205,
30     	0xf07e,	0xf021,	0xf040,	0xf023,	0xf024,	0xf025,	0xf05e,	0xf026,
31     	0xf02a,	0xf028,	0xf029,	0xf05f,	0xf02b,	0xf0a4,	0xf07f,	0xf115,
32     	0xf114,	0xf20b,	0xf208,	0xf30d,	0xf30c,	0xf314,	0xf009,	0xfb51,
33     	0xfb57,	0xfb45,	0xfb52,	0xfb54,	0xfb59,	0xfb55,	0xfb49,	0xfb4f,
34     	0xfb50,	0xf07b,	0xf07d,	0xf07c,	0xf116,	0xf117,	0xf20a,	0xf307,
35     	0xf308,	0xf309,	0xf30b,	0xf702,	0xfb41,	0xfb53,	0xfb44,	0xfb46,
36     	0xfb47,	0xfb48,	0xfb4a,	0xfb4b,	0xfb4c,	0xf03a,	0xf022,	0xf201,
37     	0xf304,	0xf305,	0xf306,	0xf30a,	0xf700,	0xf200,	0xfb5a,	0xfb58,
38     	0xfb43,	0xfb56,	0xfb42,	0xfb4e,	0xfb4d,	0xf03c,	0xf03e,	0xf03f,
39     	0xf700,	0xf603,	0xf301,	0xf302,	0xf303,	0xf207,	0xf703,	0xf020,
40     	0xf701,	0xf702,	0xf601,	0xf600,	0xf602,	0xf300,	0xf310,	0xf30e,
41     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
42     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
43     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
44     };
45     
46     u_short altgr_map[NR_KEYS] = {
47     	0xf200,	0xf50c,	0xf50d,	0xf50e,	0xf50f,	0xf510,	0xf511,	0xf512,
48     	0xf513,	0xf514,	0xf515,	0xf516,	0xf517,	0xf200,	0xf202,	0xf205,
49     	0xf200,	0xf200,	0xf040,	0xf200,	0xf024,	0xf200,	0xf200,	0xf07b,
50     	0xf05b,	0xf05d,	0xf07d,	0xf05c,	0xf200,	0xf200,	0xf200,	0xf115,
51     	0xf114,	0xf118,	0xf208,	0xf30d,	0xf30c,	0xf314,	0xf200,	0xfb71,
52     	0xfb77,	0xf918,	0xfb72,	0xfb74,	0xfb79,	0xfb75,	0xfb69,	0xfb6f,
53     	0xfb70,	0xf200,	0xf07e,	0xf200,	0xf116,	0xf117,	0xf119,	0xf911,
54     	0xf912,	0xf913,	0xf30b,	0xf702,	0xf914,	0xfb73,	0xf917,	0xf919,
55     	0xfb67,	0xfb68,	0xfb6a,	0xfb6b,	0xfb6c,	0xf200,	0xf200,	0xf201,
56     	0xf90e,	0xf90f,	0xf910,	0xf30a,	0xf700,	0xf200,	0xfb7a,	0xfb78,
57     	0xf916,	0xfb76,	0xf915,	0xfb6e,	0xfb6d,	0xf200,	0xf200,	0xf200,
58     	0xf700,	0xf603,	0xf90b,	0xf90c,	0xf90d,	0xf207,	0xf703,	0xf200,
59     	0xf701,	0xf702,	0xf601,	0xf600,	0xf602,	0xf90a,	0xf310,	0xf30e,
60     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
61     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
62     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
63     };
64     
65     u_short ctrl_map[NR_KEYS] = {
66     	0xf200,	0xf100,	0xf101,	0xf102,	0xf103,	0xf104,	0xf105,	0xf106,
67     	0xf107,	0xf108,	0xf109,	0xf10a,	0xf10b,	0xf200,	0xf204,	0xf205,
68     	0xf200,	0xf200,	0xf000,	0xf01b,	0xf01c,	0xf01d,	0xf01e,	0xf01f,
69     	0xf07f,	0xf200,	0xf200,	0xf01f,	0xf200,	0xf200,	0xf008,	0xf115,
70     	0xf114,	0xf118,	0xf208,	0xf30d,	0xf30c,	0xf314,	0xf200,	0xf011,
71     	0xf017,	0xf005,	0xf012,	0xf014,	0xf019,	0xf015,	0xf009,	0xf00f,
72     	0xf010,	0xf01b,	0xf01d,	0xf01c,	0xf116,	0xf117,	0xf119,	0xf307,
73     	0xf308,	0xf309,	0xf30b,	0xf702,	0xf001,	0xf013,	0xf004,	0xf006,
74     	0xf007,	0xf008,	0xf00a,	0xf00b,	0xf00c,	0xf200,	0xf007,	0xf201,
75     	0xf304,	0xf305,	0xf306,	0xf30a,	0xf700,	0xf200,	0xf01a,	0xf018,
76     	0xf003,	0xf016,	0xf002,	0xf00e,	0xf00d,	0xf200,	0xf20e,	0xf07f,
77     	0xf700,	0xf603,	0xf301,	0xf302,	0xf303,	0xf207,	0xf703,	0xf000,
78     	0xf701,	0xf702,	0xf601,	0xf600,	0xf602,	0xf300,	0xf310,	0xf30e,
79     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
80     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
81     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
82     };
83     
84     u_short shift_ctrl_map[NR_KEYS] = {
85     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
86     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf209,	0xf205,
87     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
88     	0xf200,	0xf200,	0xf200,	0xf01f,	0xf200,	0xf200,	0xf200,	0xf115,
89     	0xf114,	0xf118,	0xf208,	0xf30d,	0xf30c,	0xf314,	0xf200,	0xf011,
90     	0xf017,	0xf005,	0xf012,	0xf014,	0xf019,	0xf015,	0xf009,	0xf00f,
91     	0xf010,	0xf200,	0xf200,	0xf200,	0xf116,	0xf117,	0xf119,	0xf307,
92     	0xf308,	0xf309,	0xf30b,	0xf702,	0xf001,	0xf013,	0xf004,	0xf006,
93     	0xf007,	0xf008,	0xf00a,	0xf00b,	0xf00c,	0xf200,	0xf200,	0xf201,
94     	0xf304,	0xf305,	0xf306,	0xf30a,	0xf700,	0xf200,	0xf01a,	0xf018,
95     	0xf003,	0xf016,	0xf002,	0xf00e,	0xf00d,	0xf200,	0xf200,	0xf200,
96     	0xf700,	0xf603,	0xf301,	0xf302,	0xf303,	0xf207,	0xf703,	0xf200,
97     	0xf701,	0xf702,	0xf601,	0xf600,	0xf602,	0xf300,	0xf310,	0xf30e,
98     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
99     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
100     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
101     };
102     
103     u_short alt_map[NR_KEYS] = {
104     	0xf81b,	0xf500,	0xf501,	0xf502,	0xf503,	0xf504,	0xf505,	0xf506,
105     	0xf507,	0xf508,	0xf509,	0xf50a,	0xf50b,	0xf200,	0xf209,	0xf205,
106     	0xf860,	0xf831,	0xf832,	0xf833,	0xf834,	0xf835,	0xf836,	0xf837,
107     	0xf838,	0xf839,	0xf830,	0xf82d,	0xf83d,	0xf8a3,	0xf87f,	0xf115,
108     	0xf114,	0xf118,	0xf208,	0xf30d,	0xf30c,	0xf314,	0xf809,	0xf871,
109     	0xf877,	0xf865,	0xf872,	0xf874,	0xf879,	0xf875,	0xf869,	0xf86f,
110     	0xf870,	0xf85b,	0xf85d,	0xf85c,	0xf116,	0xf117,	0xf119,	0xf907,
111     	0xf908,	0xf909,	0xf30b,	0xf702,	0xf861,	0xf873,	0xf864,	0xf866,
112     	0xf867,	0xf868,	0xf86a,	0xf86b,	0xf86c,	0xf83b,	0xf827,	0xf80d,
113     	0xf904,	0xf905,	0xf906,	0xf30a,	0xf700,	0xf200,	0xf87a,	0xf878,
114     	0xf863,	0xf876,	0xf862,	0xf86e,	0xf86d,	0xf82c,	0xf82e,	0xf82f,
115     	0xf700,	0xf603,	0xf901,	0xf902,	0xf903,	0xf207,	0xf703,	0xf820,
116     	0xf701,	0xf702,	0xf210,	0xf600,	0xf211,	0xf900,	0xf310,	0xf30e,
117     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
118     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
119     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
120     };
121     
122     u_short ctrl_alt_map[NR_KEYS] = {
123     	0xf200,	0xf500,	0xf501,	0xf502,	0xf503,	0xf504,	0xf505,	0xf506,
124     	0xf507,	0xf508,	0xf509,	0xf50a,	0xf50b,	0xf200,	0xf209,	0xf205,
125     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
126     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf115,
127     	0xf114,	0xf118,	0xf208,	0xf30d,	0xf30c,	0xf314,	0xf200,	0xf811,
128     	0xf817,	0xf805,	0xf812,	0xf814,	0xf819,	0xf815,	0xf809,	0xf80f,
129     	0xf810,	0xf200,	0xf200,	0xf200,	0xf20c,	0xf117,	0xf119,	0xf307,
130     	0xf308,	0xf309,	0xf30b,	0xf702,	0xf801,	0xf813,	0xf804,	0xf806,
131     	0xf807,	0xf808,	0xf80a,	0xf80b,	0xf80c,	0xf200,	0xf200,	0xf201,
132     	0xf304,	0xf305,	0xf306,	0xf30a,	0xf700,	0xf200,	0xf81a,	0xf818,
133     	0xf803,	0xf816,	0xf802,	0xf80e,	0xf80d,	0xf200,	0xf200,	0xf200,
134     	0xf700,	0xf603,	0xf301,	0xf302,	0xf303,	0xf207,	0xf703,	0xf200,
135     	0xf701,	0xf702,	0xf601,	0xf600,	0xf602,	0xf300,	0xf20c,	0xf30e,
136     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
137     	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
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