File: /usr/src/linux/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;
266