1#if !defined(WINKEYBD_H)
2#define WINKEYBD_H
3/*
4 *Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
5 *
6 *Permission is hereby granted, free of charge, to any person obtaining
7 * a copy of this software and associated documentation files (the
8 *"Software"), to deal in the Software without restriction, including
9 *without limitation the rights to use, copy, modify, merge, publish,
10 *distribute, sublicense, and/or sell copies of the Software, and to
11 *permit persons to whom the Software is furnished to do so, subject to
12 *the following conditions:
13 *
14 *The above copyright notice and this permission notice shall be
15 *included in all copies or substantial portions of the Software.
16 *
17 *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20 *NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR
21 *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
22 *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23 *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 *
25 *Except as contained in this notice, the name of the XFree86 Project
26 *shall not be used in advertising or otherwise to promote the sale, use
27 *or other dealings in this Software without prior written authorization
28 *from the XFree86 Project.
29 *
30 * Authors:	Harold L Hunt II
31 */
32
33/*
34 * We need symbols for the scan codes of keys.
35 */
36#include "winkeynames.h"
37
38#define		WIN_KEYMAP_COLS		3
39
40/* Rows 160 through 165 correspond to software-generated codes, which
41 * may not be associated with the appropriate scan code.
42 */
43const int
44g_iKeyMap [] = {
45  /* count	Windows VK,	ASCII,		ASCII when extended VK */
46  /* 0 */	0,		0,		0,
47  /* 1 */	0,		0,		0,
48  /* 2 */	0,		0,		0,
49  /* 3 */	VK_CANCEL,	0,		KEY_Break,
50  /* 4 */	0,		0,		0,
51  /* 5 */	0,		0,		0,
52  /* 6 */	0,		0,		0,
53  /* 7 */	0,		0,		0,
54  /* 8 */	0,		0,		0,
55  /* 9 */	0,		0,		0,
56  /* 10 */	0,		0,		0,
57  /* 11 */	0,		0,		0,
58  /* 12 */	0,		0,		0,
59  /* 13 */	VK_RETURN,	0,		KEY_KP_Enter,
60  /* 14 */	0,		0,		0,
61  /* 15 */	0,		0,		0,
62  /* 16 */	VK_SHIFT,	0,		0,
63  /* 17 */	VK_CONTROL,	0,		KEY_RCtrl,
64  /* 18 */	VK_MENU,	0,		KEY_AltLang,
65  /* 19 */	VK_PAUSE,	KEY_Pause,	0,
66  /* 20 */	0,		0,		0,
67  /* 21 */	0,		0,		0,
68  /* 22 */	0,		0,		0,
69  /* 23 */	0,		0,		0,
70  /* 24 */	0,		0,		0,
71  /* 25 */	0,		0,		0,
72  /* 26 */	0,		0,		0,
73  /* 27 */	0,		0,		0,
74  /* 28 */	0,		0,		0,
75  /* 29 */	0,		0,		0,
76  /* 30 */	0,		0,		0,
77  /* 31 */	0,		0,		0,
78  /* 32 */	0,		0,		0,
79  /* 33 */	VK_PRIOR,	0,		KEY_PgUp,
80  /* 34 */	VK_NEXT,	0,		KEY_PgDown,
81  /* 35 */	VK_END,		0,		KEY_End,
82  /* 36 */	VK_HOME,	0,		KEY_Home,
83  /* 37 */	VK_LEFT,	0,		KEY_Left,
84  /* 38 */	VK_UP,		0,		KEY_Up,
85  /* 39 */	VK_RIGHT,	0,		KEY_Right,
86  /* 40 */	VK_DOWN,	0,		KEY_Down,
87  /* 41 */	0,		0,		0,
88  /* 42 */	0,		0,		0,
89  /* 43 */	0,		0,		0,
90  /* 44 */	VK_SNAPSHOT,	0,		KEY_Print,
91  /* 45 */	VK_INSERT,	0,		KEY_Insert,
92  /* 46 */	VK_DELETE,	0,		KEY_Delete,
93  /* 47 */	0,		0,		0,
94  /* 48 */	0,		0,		0,
95  /* 49 */	0,		0,		0,
96  /* 50 */	0,		0,		0,
97  /* 51 */	0,		0,		0,
98  /* 52 */	0,		0,		0,
99  /* 53 */	0,		0,		0,
100  /* 54 */	0,		0,		0,
101  /* 55 */	0,		0,		0,
102  /* 56 */	0,		0,		0,
103  /* 57 */	0,		0,		0,
104  /* 58 */	0,		0,		0,
105  /* 59 */	0,		0,		0,
106  /* 60 */	0,		0,		0,
107  /* 61 */	0,		0,		0,
108  /* 62 */	0,		0,		0,
109  /* 63 */	0,		0,		0,
110  /* 64 */	0,		0,		0,
111  /* 65 */	0,		0,		0,
112  /* 66 */	0,		0,		0,
113  /* 67 */	0,		0,		0,
114  /* 68 */	0,		0,		0,
115  /* 69 */	0,		0,		0,
116  /* 70 */	0,		0,		0,
117  /* 71 */	0,		0,		0,
118  /* 72 */	0,		0,		0,
119  /* 73 */	0,		0,		0,
120  /* 74 */	0,		0,		0,
121  /* 75 */	0,		0,		0,
122  /* 76 */	0,		0,		0,
123  /* 77 */	0,		0,		0,
124  /* 78 */	0,		0,		0,
125  /* 79 */	0,		0,		0,
126  /* 80 */	0,		0,		0,
127  /* 81 */	0,		0,		0,
128  /* 82 */	0,		0,		0,
129  /* 83 */	0,		0,		0,
130  /* 84 */	0,		0,		0,
131  /* 85 */	0,		0,		0,
132  /* 86 */	0,		0,		0,
133  /* 87 */	0,		0,		0,
134  /* 88 */	0,		0,		0,
135  /* 89 */	0,		0,		0,
136  /* 90 */	0,		0,		0,
137  /* 91 */	VK_LWIN,	KEY_LMeta,	0,
138  /* 92 */	VK_RWIN,	KEY_RMeta,	0,
139  /* 93 */	VK_APPS,	KEY_Menu,	0,
140  /* 94 */	0,		0,		0,
141  /* 95 */	0,		0,		0,
142  /* 96 */	0,		0,		0,
143  /* 97 */	0,		0,		0,
144  /* 98 */	0,		0,		0,
145  /* 99 */	0,		0,		0,
146  /* 100 */	0,		0,		0,
147  /* 101 */	0,		0,		0,
148  /* 102 */	0,		0,		0,
149  /* 103 */	0,		0,		0,
150  /* 104 */	0,		0,		0,
151  /* 105 */	0,		0,		0,
152  /* 106 */	0,		0,		0,
153  /* 107 */	0,		0,		0,
154  /* 108 */	0,		0,		0,
155  /* 109 */	0,		0,		0,
156  /* 110 */	0,		0,		0,
157  /* 111 */	VK_DIVIDE,	0,		KEY_KP_Divide,
158  /* 112 */	0,		0,		0,
159  /* 113 */	0,		0,		0,
160  /* 114 */	0,		0,		0,
161  /* 115 */	0,		0,		0,
162  /* 116 */	0,		0,		0,
163  /* 117 */	0,		0,		0,
164  /* 118 */	0,		0,		0,
165  /* 119 */	0,		0,		0,
166  /* 120 */	0,		0,		0,
167  /* 121 */	0,		0,		0,
168  /* 122 */	0,		0,		0,
169  /* 123 */	0,		0,		0,
170  /* 124 */	0,		0,		0,
171  /* 125 */	0,		0,		0,
172  /* 126 */	0,		0,		0,
173  /* 127 */	0,		0,		0,
174  /* 128 */	0,		0,		0,
175  /* 129 */	0,		0,		0,
176  /* 130 */	0,		0,		0,
177  /* 131 */	0,		0,		0,
178  /* 132 */	0,		0,		0,
179  /* 133 */	0,		0,		0,
180  /* 134 */	0,		0,		0,
181  /* 135 */	0,		0,		0,
182  /* 136 */	0,		0,		0,
183  /* 137 */	0,		0,		0,
184  /* 138 */	0,		0,		0,
185  /* 139 */	0,		0,		0,
186  /* 140 */	0,		0,		0,
187  /* 141 */	0,		0,		0,
188  /* 142 */	0,		0,		0,
189  /* 143 */	0,		0,		0,
190  /* 144 */	0,		0,		0,
191  /* 145 */	0,		0,		0,
192  /* 146 */	0,		0,		0,
193  /* 147 */	0,		0,		0,
194  /* 148 */	0,		0,		0,
195  /* 149 */	0,		0,		0,
196  /* 150 */	0,		0,		0,
197  /* 151 */	0,		0,		0,
198  /* 152 */	0,		0,		0,
199  /* 153 */	0,		0,		0,
200  /* 154 */	0,		0,		0,
201  /* 155 */	0,		0,		0,
202  /* 156 */	0,		0,		0,
203  /* 157 */	0,		0,		0,
204  /* 158 */	0,		0,		0,
205  /* 159 */	0,		0,		0,
206  /* 160 */	VK_LSHIFT,	KEY_ShiftL,	0,
207  /* 161 */	VK_RSHIFT,	KEY_ShiftR,	0,
208  /* 162 */	VK_LCONTROL,	KEY_LCtrl,	0,
209  /* 163 */	VK_RCONTROL,	KEY_RCtrl,	0,
210  /* 164 */	VK_LMENU,	KEY_Alt,	0,
211  /* 165 */	VK_RMENU,	KEY_AltLang,	0,
212  /* 166 */	0,		0,		0,
213  /* 167 */	0,		0,		0,
214  /* 168 */	0,		0,		0,
215  /* 169 */	0,		0,		0,
216  /* 170 */	0,		0,		0,
217  /* 171 */	0,		0,		0,
218  /* 172 */	0,		0,		0,
219  /* 173 */	VK_VOLUME_MUTE,	0,		KEY_Mute,
220  /* 174 */	VK_VOLUME_DOWN,	0,		KEY_AudioLower,
221  /* 175 */	VK_VOLUME_UP,	0,		KEY_AudioRaise,
222  /* 176 */	VK_MEDIA_NEXT_TRACK,	0,	KEY_NEXTSONG,
223  /* 177 */	VK_MEDIA_PREV_TRACK,	0,	KEY_PREVIOUSSONG,
224  /* 178 */	VK_MEDIA_STOP,	0,		KEY_STOPCD,
225  /* 179 */	VK_MEDIA_PLAY_PAUSE,	0,	KEY_PLAYPAUSE,
226  /* 180 */	0,		0,		0,
227  /* 181 */	0,		0,		0,
228  /* 182 */	0,		0,		0,
229  /* 183 */	0,		0,		0,
230  /* 184 */	0,		0,		0,
231  /* 185 */	0,		0,		0,
232  /* 186 */	0,		0,		0,
233  /* 187 */	0,		0,		0,
234  /* 188 */	0,		0,		0,
235  /* 189 */	0,		0,		0,
236  /* 190 */	0,		0,		0,
237  /* 191 */	0,		0,		0,
238  /* 192 */	0,		0,		0,
239  /* 193 */	0,		0,		0,
240  /* 194 */	0,		0,		0,
241  /* 195 */	0,		0,		0,
242  /* 196 */	0,		0,		0,
243  /* 197 */	0,		0,		0,
244  /* 198 */	0,		0,		0,
245  /* 199 */	0,		0,		0,
246  /* 200 */	0,		0,		0,
247  /* 201 */	0,		0,		0,
248  /* 202 */	0,		0,		0,
249  /* 203 */	0,		0,		0,
250  /* 204 */	0,		0,		0,
251  /* 205 */	0,		0,		0,
252  /* 206 */	0,		0,		0,
253  /* 207 */	0,		0,		0,
254  /* 208 */	0,		0,		0,
255  /* 209 */	0,		0,		0,
256  /* 210 */	0,		0,		0,
257  /* 211 */	0,		0,		0,
258  /* 212 */	0,		0,		0,
259  /* 213 */	0,		0,		0,
260  /* 214 */	0,		0,		0,
261  /* 215 */	0,		0,		0,
262  /* 216 */	0,		0,		0,
263  /* 217 */	0,		0,		0,
264  /* 218 */	0,		0,		0,
265  /* 219 */	0,		0,		0,
266  /* 220 */	0,		0,		0,
267  /* 221 */	0,		0,		0,
268  /* 222 */	0,		0,		0,
269  /* 223 */	VK_OEM_8,	0,		KEY_RCtrl,  /* at least on Candian Multilingual Standard layout */
270  /* 224 */	0,		0,		0,
271  /* 225 */	0,		0,		0,
272  /* 226 */	0,		0,		0,
273  /* 227 */	0,		0,		0,
274  /* 228 */	0,		0,		0,
275  /* 229 */	0,		0,		0,
276  /* 230 */	0,		0,		0,
277  /* 231 */	0,		0,		0,
278  /* 232 */	0,		0,		0,
279  /* 233 */	0,		0,		0,
280  /* 234 */	0,		0,		0,
281  /* 235 */	0,		0,		0,
282  /* 236 */	0,		0,		0,
283  /* 237 */	0,		0,		0,
284  /* 238 */	0,		0,		0,
285  /* 239 */	0,		0,		0,
286  /* 240 */	0,		0,		0,
287  /* 241 */	0,		0,		0,
288  /* 242 */	0,		0,		0,
289  /* 243 */	0,		0,		0,
290  /* 244 */	0,		0,		0,
291  /* 245 */	0,		0,		0,
292  /* 246 */	0,		0,		0,
293  /* 247 */	0,		0,		0,
294  /* 248 */	0,		0,		0,
295  /* 249 */	0,		0,		0,
296  /* 250 */	0,		0,		0,
297  /* 251 */	0,		0,		0,
298  /* 252 */	0,		0,		0,
299  /* 253 */	0,		0,		0,
300  /* 254 */	0,		0,		0,
301  /* 255 */	0,		0,		0
302};
303
304#endif /* WINKEYBD_H */
305