1706f2543Smrg#if !defined(WINKEYBD_H)
2706f2543Smrg#define WINKEYBD_H
3706f2543Smrg/*
4706f2543Smrg *Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
5706f2543Smrg *
6706f2543Smrg *Permission is hereby granted, free of charge, to any person obtaining
7706f2543Smrg * a copy of this software and associated documentation files (the
8706f2543Smrg *"Software"), to deal in the Software without restriction, including
9706f2543Smrg *without limitation the rights to use, copy, modify, merge, publish,
10706f2543Smrg *distribute, sublicense, and/or sell copies of the Software, and to
11706f2543Smrg *permit persons to whom the Software is furnished to do so, subject to
12706f2543Smrg *the following conditions:
13706f2543Smrg *
14706f2543Smrg *The above copyright notice and this permission notice shall be
15706f2543Smrg *included in all copies or substantial portions of the Software.
16706f2543Smrg *
17706f2543Smrg *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18706f2543Smrg *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19706f2543Smrg *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20706f2543Smrg *NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR
21706f2543Smrg *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
22706f2543Smrg *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23706f2543Smrg *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24706f2543Smrg *
25706f2543Smrg *Except as contained in this notice, the name of the XFree86 Project
26706f2543Smrg *shall not be used in advertising or otherwise to promote the sale, use
27706f2543Smrg *or other dealings in this Software without prior written authorization
28706f2543Smrg *from the XFree86 Project.
29706f2543Smrg *
30706f2543Smrg * Authors:	Harold L Hunt II
31706f2543Smrg */
32706f2543Smrg
33706f2543Smrg/*
34706f2543Smrg * We need symbols for the scan codes of keys.
35706f2543Smrg */
36706f2543Smrg#include "winkeynames.h"
37706f2543Smrg
38706f2543Smrg#define		WIN_KEYMAP_COLS		3
39706f2543Smrg
40706f2543Smrg/* Rows 160 through 165 correspond to software-generated codes, which
41706f2543Smrg * may not be associated with the appropriate scan code.
42706f2543Smrg */
43706f2543Smrgconst int
44706f2543Smrgg_iKeyMap [] = {
45706f2543Smrg  /* count	Windows VK,	ASCII,		ASCII when extended VK */
46706f2543Smrg  /* 0 */	0,		0,		0,
47706f2543Smrg  /* 1 */	0,		0,		0,
48706f2543Smrg  /* 2 */	0,		0,		0,
49706f2543Smrg  /* 3 */	VK_CANCEL,	0,		KEY_Break,
50706f2543Smrg  /* 4 */	0,		0,		0,
51706f2543Smrg  /* 5 */	0,		0,		0,
52706f2543Smrg  /* 6 */	0,		0,		0,
53706f2543Smrg  /* 7 */	0,		0,		0,
54706f2543Smrg  /* 8 */	0,		0,		0,
55706f2543Smrg  /* 9 */	0,		0,		0,
56706f2543Smrg  /* 10 */	0,		0,		0,
57706f2543Smrg  /* 11 */	0,		0,		0,
58706f2543Smrg  /* 12 */	0,		0,		0,
59706f2543Smrg  /* 13 */	VK_RETURN,	0,		KEY_KP_Enter,
60706f2543Smrg  /* 14 */	0,		0,		0,
61706f2543Smrg  /* 15 */	0,		0,		0,
62706f2543Smrg  /* 16 */	VK_SHIFT,	0,		0,
63706f2543Smrg  /* 17 */	VK_CONTROL,	0,		KEY_RCtrl,
64706f2543Smrg  /* 18 */	VK_MENU,	0,		KEY_AltLang,
65706f2543Smrg  /* 19 */	VK_PAUSE,	KEY_Pause,	0,
66706f2543Smrg  /* 20 */	0,		0,		0,
67706f2543Smrg  /* 21 */	0,		0,		0,
68706f2543Smrg  /* 22 */	0,		0,		0,
69706f2543Smrg  /* 23 */	0,		0,		0,
70706f2543Smrg  /* 24 */	0,		0,		0,
71706f2543Smrg  /* 25 */	0,		0,		0,
72706f2543Smrg  /* 26 */	0,		0,		0,
73706f2543Smrg  /* 27 */	0,		0,		0,
74706f2543Smrg  /* 28 */	0,		0,		0,
75706f2543Smrg  /* 29 */	0,		0,		0,
76706f2543Smrg  /* 30 */	0,		0,		0,
77706f2543Smrg  /* 31 */	0,		0,		0,
78706f2543Smrg  /* 32 */	0,		0,		0,
79706f2543Smrg  /* 33 */	VK_PRIOR,	0,		KEY_PgUp,
80706f2543Smrg  /* 34 */	VK_NEXT,	0,		KEY_PgDown,
81706f2543Smrg  /* 35 */	VK_END,		0,		KEY_End,
82706f2543Smrg  /* 36 */	VK_HOME,	0,		KEY_Home,
83706f2543Smrg  /* 37 */	VK_LEFT,	0,		KEY_Left,
84706f2543Smrg  /* 38 */	VK_UP,		0,		KEY_Up,
85706f2543Smrg  /* 39 */	VK_RIGHT,	0,		KEY_Right,
86706f2543Smrg  /* 40 */	VK_DOWN,	0,		KEY_Down,
87706f2543Smrg  /* 41 */	0,		0,		0,
88706f2543Smrg  /* 42 */	0,		0,		0,
89706f2543Smrg  /* 43 */	0,		0,		0,
90706f2543Smrg  /* 44 */	VK_SNAPSHOT,	0,		KEY_Print,
91706f2543Smrg  /* 45 */	VK_INSERT,	0,		KEY_Insert,
92706f2543Smrg  /* 46 */	VK_DELETE,	0,		KEY_Delete,
93706f2543Smrg  /* 47 */	0,		0,		0,
94706f2543Smrg  /* 48 */	0,		0,		0,
95706f2543Smrg  /* 49 */	0,		0,		0,
96706f2543Smrg  /* 50 */	0,		0,		0,
97706f2543Smrg  /* 51 */	0,		0,		0,
98706f2543Smrg  /* 52 */	0,		0,		0,
99706f2543Smrg  /* 53 */	0,		0,		0,
100706f2543Smrg  /* 54 */	0,		0,		0,
101706f2543Smrg  /* 55 */	0,		0,		0,
102706f2543Smrg  /* 56 */	0,		0,		0,
103706f2543Smrg  /* 57 */	0,		0,		0,
104706f2543Smrg  /* 58 */	0,		0,		0,
105706f2543Smrg  /* 59 */	0,		0,		0,
106706f2543Smrg  /* 60 */	0,		0,		0,
107706f2543Smrg  /* 61 */	0,		0,		0,
108706f2543Smrg  /* 62 */	0,		0,		0,
109706f2543Smrg  /* 63 */	0,		0,		0,
110706f2543Smrg  /* 64 */	0,		0,		0,
111706f2543Smrg  /* 65 */	0,		0,		0,
112706f2543Smrg  /* 66 */	0,		0,		0,
113706f2543Smrg  /* 67 */	0,		0,		0,
114706f2543Smrg  /* 68 */	0,		0,		0,
115706f2543Smrg  /* 69 */	0,		0,		0,
116706f2543Smrg  /* 70 */	0,		0,		0,
117706f2543Smrg  /* 71 */	0,		0,		0,
118706f2543Smrg  /* 72 */	0,		0,		0,
119706f2543Smrg  /* 73 */	0,		0,		0,
120706f2543Smrg  /* 74 */	0,		0,		0,
121706f2543Smrg  /* 75 */	0,		0,		0,
122706f2543Smrg  /* 76 */	0,		0,		0,
123706f2543Smrg  /* 77 */	0,		0,		0,
124706f2543Smrg  /* 78 */	0,		0,		0,
125706f2543Smrg  /* 79 */	0,		0,		0,
126706f2543Smrg  /* 80 */	0,		0,		0,
127706f2543Smrg  /* 81 */	0,		0,		0,
128706f2543Smrg  /* 82 */	0,		0,		0,
129706f2543Smrg  /* 83 */	0,		0,		0,
130706f2543Smrg  /* 84 */	0,		0,		0,
131706f2543Smrg  /* 85 */	0,		0,		0,
132706f2543Smrg  /* 86 */	0,		0,		0,
133706f2543Smrg  /* 87 */	0,		0,		0,
134706f2543Smrg  /* 88 */	0,		0,		0,
135706f2543Smrg  /* 89 */	0,		0,		0,
136706f2543Smrg  /* 90 */	0,		0,		0,
137706f2543Smrg  /* 91 */	VK_LWIN,	KEY_LMeta,	0,
138706f2543Smrg  /* 92 */	VK_RWIN,	KEY_RMeta,	0,
139706f2543Smrg  /* 93 */	VK_APPS,	KEY_Menu,	0,
140706f2543Smrg  /* 94 */	0,		0,		0,
141706f2543Smrg  /* 95 */	0,		0,		0,
142706f2543Smrg  /* 96 */	0,		0,		0,
143706f2543Smrg  /* 97 */	0,		0,		0,
144706f2543Smrg  /* 98 */	0,		0,		0,
145706f2543Smrg  /* 99 */	0,		0,		0,
146706f2543Smrg  /* 100 */	0,		0,		0,
147706f2543Smrg  /* 101 */	0,		0,		0,
148706f2543Smrg  /* 102 */	0,		0,		0,
149706f2543Smrg  /* 103 */	0,		0,		0,
150706f2543Smrg  /* 104 */	0,		0,		0,
151706f2543Smrg  /* 105 */	0,		0,		0,
152706f2543Smrg  /* 106 */	0,		0,		0,
153706f2543Smrg  /* 107 */	0,		0,		0,
154706f2543Smrg  /* 108 */	0,		0,		0,
155706f2543Smrg  /* 109 */	0,		0,		0,
156706f2543Smrg  /* 110 */	0,		0,		0,
157706f2543Smrg  /* 111 */	VK_DIVIDE,	0,		KEY_KP_Divide,
158706f2543Smrg  /* 112 */	0,		0,		0,
159706f2543Smrg  /* 113 */	0,		0,		0,
160706f2543Smrg  /* 114 */	0,		0,		0,
161706f2543Smrg  /* 115 */	0,		0,		0,
162706f2543Smrg  /* 116 */	0,		0,		0,
163706f2543Smrg  /* 117 */	0,		0,		0,
164706f2543Smrg  /* 118 */	0,		0,		0,
165706f2543Smrg  /* 119 */	0,		0,		0,
166706f2543Smrg  /* 120 */	0,		0,		0,
167706f2543Smrg  /* 121 */	0,		0,		0,
168706f2543Smrg  /* 122 */	0,		0,		0,
169706f2543Smrg  /* 123 */	0,		0,		0,
170706f2543Smrg  /* 124 */	0,		0,		0,
171706f2543Smrg  /* 125 */	0,		0,		0,
172706f2543Smrg  /* 126 */	0,		0,		0,
173706f2543Smrg  /* 127 */	0,		0,		0,
174706f2543Smrg  /* 128 */	0,		0,		0,
175706f2543Smrg  /* 129 */	0,		0,		0,
176706f2543Smrg  /* 130 */	0,		0,		0,
177706f2543Smrg  /* 131 */	0,		0,		0,
178706f2543Smrg  /* 132 */	0,		0,		0,
179706f2543Smrg  /* 133 */	0,		0,		0,
180706f2543Smrg  /* 134 */	0,		0,		0,
181706f2543Smrg  /* 135 */	0,		0,		0,
182706f2543Smrg  /* 136 */	0,		0,		0,
183706f2543Smrg  /* 137 */	0,		0,		0,
184706f2543Smrg  /* 138 */	0,		0,		0,
185706f2543Smrg  /* 139 */	0,		0,		0,
186706f2543Smrg  /* 140 */	0,		0,		0,
187706f2543Smrg  /* 141 */	0,		0,		0,
188706f2543Smrg  /* 142 */	0,		0,		0,
189706f2543Smrg  /* 143 */	0,		0,		0,
190706f2543Smrg  /* 144 */	0,		0,		0,
191706f2543Smrg  /* 145 */	0,		0,		0,
192706f2543Smrg  /* 146 */	0,		0,		0,
193706f2543Smrg  /* 147 */	0,		0,		0,
194706f2543Smrg  /* 148 */	0,		0,		0,
195706f2543Smrg  /* 149 */	0,		0,		0,
196706f2543Smrg  /* 150 */	0,		0,		0,
197706f2543Smrg  /* 151 */	0,		0,		0,
198706f2543Smrg  /* 152 */	0,		0,		0,
199706f2543Smrg  /* 153 */	0,		0,		0,
200706f2543Smrg  /* 154 */	0,		0,		0,
201706f2543Smrg  /* 155 */	0,		0,		0,
202706f2543Smrg  /* 156 */	0,		0,		0,
203706f2543Smrg  /* 157 */	0,		0,		0,
204706f2543Smrg  /* 158 */	0,		0,		0,
205706f2543Smrg  /* 159 */	0,		0,		0,
206706f2543Smrg  /* 160 */	VK_LSHIFT,	KEY_ShiftL,	0,
207706f2543Smrg  /* 161 */	VK_RSHIFT,	KEY_ShiftR,	0,
208706f2543Smrg  /* 162 */	VK_LCONTROL,	KEY_LCtrl,	0,
209706f2543Smrg  /* 163 */	VK_RCONTROL,	KEY_RCtrl,	0,
210706f2543Smrg  /* 164 */	VK_LMENU,	KEY_Alt,	0,
211706f2543Smrg  /* 165 */	VK_RMENU,	KEY_AltLang,	0,
212706f2543Smrg  /* 166 */	0,		0,		0,
213706f2543Smrg  /* 167 */	0,		0,		0,
214706f2543Smrg  /* 168 */	0,		0,		0,
215706f2543Smrg  /* 169 */	0,		0,		0,
216706f2543Smrg  /* 170 */	0,		0,		0,
217706f2543Smrg  /* 171 */	0,		0,		0,
218706f2543Smrg  /* 172 */	0,		0,		0,
219706f2543Smrg  /* 173 */	VK_VOLUME_MUTE,	0,		KEY_Mute,
220706f2543Smrg  /* 174 */	VK_VOLUME_DOWN,	0,		KEY_AudioLower,
221706f2543Smrg  /* 175 */	VK_VOLUME_UP,	0,		KEY_AudioRaise,
222706f2543Smrg  /* 176 */	VK_MEDIA_NEXT_TRACK,	0,	KEY_NEXTSONG,
223706f2543Smrg  /* 177 */	VK_MEDIA_PREV_TRACK,	0,	KEY_PREVIOUSSONG,
224706f2543Smrg  /* 178 */	VK_MEDIA_STOP,	0,		KEY_STOPCD,
225706f2543Smrg  /* 179 */	VK_MEDIA_PLAY_PAUSE,	0,	KEY_PLAYPAUSE,
226706f2543Smrg  /* 180 */	0,		0,		0,
227706f2543Smrg  /* 181 */	0,		0,		0,
228706f2543Smrg  /* 182 */	0,		0,		0,
229706f2543Smrg  /* 183 */	0,		0,		0,
230706f2543Smrg  /* 184 */	0,		0,		0,
231706f2543Smrg  /* 185 */	0,		0,		0,
232706f2543Smrg  /* 186 */	0,		0,		0,
233706f2543Smrg  /* 187 */	0,		0,		0,
234706f2543Smrg  /* 188 */	0,		0,		0,
235706f2543Smrg  /* 189 */	0,		0,		0,
236706f2543Smrg  /* 190 */	0,		0,		0,
237706f2543Smrg  /* 191 */	0,		0,		0,
238706f2543Smrg  /* 192 */	0,		0,		0,
239706f2543Smrg  /* 193 */	0,		0,		0,
240706f2543Smrg  /* 194 */	0,		0,		0,
241706f2543Smrg  /* 195 */	0,		0,		0,
242706f2543Smrg  /* 196 */	0,		0,		0,
243706f2543Smrg  /* 197 */	0,		0,		0,
244706f2543Smrg  /* 198 */	0,		0,		0,
245706f2543Smrg  /* 199 */	0,		0,		0,
246706f2543Smrg  /* 200 */	0,		0,		0,
247706f2543Smrg  /* 201 */	0,		0,		0,
248706f2543Smrg  /* 202 */	0,		0,		0,
249706f2543Smrg  /* 203 */	0,		0,		0,
250706f2543Smrg  /* 204 */	0,		0,		0,
251706f2543Smrg  /* 205 */	0,		0,		0,
252706f2543Smrg  /* 206 */	0,		0,		0,
253706f2543Smrg  /* 207 */	0,		0,		0,
254706f2543Smrg  /* 208 */	0,		0,		0,
255706f2543Smrg  /* 209 */	0,		0,		0,
256706f2543Smrg  /* 210 */	0,		0,		0,
257706f2543Smrg  /* 211 */	0,		0,		0,
258706f2543Smrg  /* 212 */	0,		0,		0,
259706f2543Smrg  /* 213 */	0,		0,		0,
260706f2543Smrg  /* 214 */	0,		0,		0,
261706f2543Smrg  /* 215 */	0,		0,		0,
262706f2543Smrg  /* 216 */	0,		0,		0,
263706f2543Smrg  /* 217 */	0,		0,		0,
264706f2543Smrg  /* 218 */	0,		0,		0,
265706f2543Smrg  /* 219 */	0,		0,		0,
266706f2543Smrg  /* 220 */	0,		0,		0,
267706f2543Smrg  /* 221 */	0,		0,		0,
268706f2543Smrg  /* 222 */	0,		0,		0,
269706f2543Smrg  /* 223 */	VK_OEM_8,	0,		KEY_RCtrl,  /* at least on Candian Multilingual Standard layout */
270706f2543Smrg  /* 224 */	0,		0,		0,
271706f2543Smrg  /* 225 */	0,		0,		0,
272706f2543Smrg  /* 226 */	0,		0,		0,
273706f2543Smrg  /* 227 */	0,		0,		0,
274706f2543Smrg  /* 228 */	0,		0,		0,
275706f2543Smrg  /* 229 */	0,		0,		0,
276706f2543Smrg  /* 230 */	0,		0,		0,
277706f2543Smrg  /* 231 */	0,		0,		0,
278706f2543Smrg  /* 232 */	0,		0,		0,
279706f2543Smrg  /* 233 */	0,		0,		0,
280706f2543Smrg  /* 234 */	0,		0,		0,
281706f2543Smrg  /* 235 */	0,		0,		0,
282706f2543Smrg  /* 236 */	0,		0,		0,
283706f2543Smrg  /* 237 */	0,		0,		0,
284706f2543Smrg  /* 238 */	0,		0,		0,
285706f2543Smrg  /* 239 */	0,		0,		0,
286706f2543Smrg  /* 240 */	0,		0,		0,
287706f2543Smrg  /* 241 */	0,		0,		0,
288706f2543Smrg  /* 242 */	0,		0,		0,
289706f2543Smrg  /* 243 */	0,		0,		0,
290706f2543Smrg  /* 244 */	0,		0,		0,
291706f2543Smrg  /* 245 */	0,		0,		0,
292706f2543Smrg  /* 246 */	0,		0,		0,
293706f2543Smrg  /* 247 */	0,		0,		0,
294706f2543Smrg  /* 248 */	0,		0,		0,
295706f2543Smrg  /* 249 */	0,		0,		0,
296706f2543Smrg  /* 250 */	0,		0,		0,
297706f2543Smrg  /* 251 */	0,		0,		0,
298706f2543Smrg  /* 252 */	0,		0,		0,
299706f2543Smrg  /* 253 */	0,		0,		0,
300706f2543Smrg  /* 254 */	0,		0,		0,
301706f2543Smrg  /* 255 */	0,		0,		0
302706f2543Smrg};
303706f2543Smrg
304706f2543Smrg#endif /* WINKEYBD_H */
305