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