1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef REMOTING_IOS_KEY_MAP_US_H_ 6 #define REMOTING_IOS_KEY_MAP_US_H_ 7 8 // A mapping for the US keyboard on a US IPAD to Chromoting Scancodes 9 10 // This must be less than or equal to the size of 11 // kIsShiftRequiredUS and kKeyCodeUS. 12 const int kKeyboardKeyMaxUS = 126; 13 14 // Index for specific keys 15 const uint32_t kShiftIndex = 128; 16 const uint32_t kBackspaceIndex = 129; 17 const uint32_t kCtrlIndex = 130; 18 const uint32_t kAltIndex = 131; 19 const uint32_t kDelIndex = 132; 20 21 const BOOL kIsShiftRequiredUS[] = { 22 NO, // [0] Numbering fields by index, not by count 23 NO, // 24 NO, // 25 NO, // 26 NO, // 27 NO, // 28 NO, // 29 NO, // 30 NO, // 31 NO, // 32 NO, // [10] ENTER 33 NO, // 34 NO, // 35 NO, // 36 NO, // 37 NO, // 38 NO, // 39 NO, // 40 NO, // 41 NO, // 42 NO, // [20] 43 NO, // 44 NO, // 45 NO, // 46 NO, // 47 NO, // 48 NO, // 49 NO, // 50 NO, // 51 NO, // 52 NO, // [30] 53 NO, // 54 NO, // SPACE 55 YES, // ! 56 YES, // " 57 YES, // # 58 YES, // $ 59 YES, // % 60 YES, // & 61 NO, // ' 62 YES, // [40] ( 63 YES, // ) 64 YES, // * 65 YES, // + 66 NO, // , 67 NO, // - 68 NO, // . 69 NO, // / 70 NO, // 0 71 NO, // 1 72 NO, // [50] 2 73 NO, // 3 74 NO, // 4 75 NO, // 5 76 NO, // 6 77 NO, // 7 78 NO, // 8 79 NO, // 9 80 YES, // : 81 NO, // ; 82 YES, // [60] < 83 NO, // = 84 YES, // > 85 YES, // ? 86 YES, // @ 87 YES, // A 88 YES, // B 89 YES, // C 90 YES, // D 91 YES, // E 92 YES, // [70] F 93 YES, // G 94 YES, // H 95 YES, // I 96 YES, // J 97 YES, // K 98 YES, // L 99 YES, // M 100 YES, // N 101 YES, // O 102 YES, // [80] P 103 YES, // Q 104 YES, // R 105 YES, // S 106 YES, // T 107 YES, // U 108 YES, // V 109 YES, // W 110 YES, // X 111 YES, // Y 112 YES, // [90] Z 113 NO, // [ 114 NO, // BACKSLASH 115 NO, // ] 116 YES, // ^ 117 YES, // _ 118 NO, // 119 NO, // a 120 NO, // b 121 NO, // c 122 NO, // [100] d 123 NO, // e 124 NO, // f 125 NO, // g 126 NO, // h 127 NO, // i 128 NO, // j 129 NO, // k 130 NO, // l 131 NO, // m 132 NO, // [110] n 133 NO, // o 134 NO, // p 135 NO, // q 136 NO, // r 137 NO, // s 138 NO, // t 139 NO, // u 140 NO, // v 141 NO, // w 142 NO, // [120] x 143 NO, // y 144 NO, // z 145 YES, // { 146 YES, // | 147 YES, // } 148 YES, // ~ 149 NO // [127] 150 }; 151 152 const uint32_t kKeyCodeUS[] = { 153 0, // [0] Numbering fields by index, not by count 154 0, // 155 0, // 156 0, // 157 0, // 158 0, // 159 0, // 160 0, // 161 0, // 162 0, // 163 0x070028, // [10] ENTER 164 0, // 165 0, // 166 0, // 167 0, // 168 0, // 169 0, // 170 0, // 171 0, // 172 0, // 173 0, // [20] 174 0, // 175 0, // 176 0, // 177 0, // 178 0, // 179 0, // 180 0, // 181 0, // 182 0, // 183 0, // [30] 184 0, // 185 0x07002c, // SPACE 186 0x07001e, // ! 187 0x070034, // " 188 0x070020, // # 189 0x070021, // $ 190 0x070022, // % 191 0x070024, // & 192 0x070034, // ' 193 0x070026, // [40] ( 194 0x070027, // ) 195 0x070025, // * 196 0x07002e, // + 197 0x070036, // , 198 0x07002d, // - 199 0x070037, // . 200 0x070038, // / 201 0x070027, // 0 202 0x07001e, // 1 203 0x07001f, // [50] 2 204 0x070020, // 3 205 0x070021, // 4 206 0x070022, // 5 207 0x070023, // 6 208 0x070024, // 7 209 0x070025, // 8 210 0x070026, // 9 211 0x070033, // : 212 0x070033, // ; 213 0x070036, // [60] < 214 0x07002e, // = 215 0x070037, // > 216 0x070038, // ? 217 0x07001f, // @ 218 0x070004, // A 219 0x070005, // B 220 0x070006, // C 221 0x070007, // D 222 0x070008, // E 223 0x070009, // [70] F 224 0x07000a, // G 225 0x07000b, // H 226 0x07000c, // I 227 0x07000d, // J 228 0x07000e, // K 229 0x07000f, // L 230 0x070010, // M 231 0x070011, // N 232 0x070012, // O 233 0x070013, // [80] P 234 0x070014, // Q 235 0x070015, // R 236 0x070016, // S 237 0x070017, // T 238 0x070018, // U 239 0x070019, // V 240 0x07001a, // W 241 0x07001b, // X 242 0x07001c, // Y 243 0x07001d, // [90] Z 244 0x07002f, // [ 245 0x070031, // BACKSLASH 246 0x070030, // ] 247 0x070023, // ^ 248 0x07002d, // _ 249 0, // 250 0x070004, // a 251 0x070005, // b 252 0x070006, // c 253 0x070007, // [100] d 254 0x070008, // e 255 0x070009, // f 256 0x07000a, // g 257 0x07000b, // h 258 0x07000c, // i 259 0x07000d, // j 260 0x07000e, // k 261 0x07000f, // l 262 0x070010, // m 263 0x070011, // [110] n 264 0x070012, // o 265 0x070013, // p 266 0x070014, // q 267 0x070015, // r 268 0x070016, // s 269 0x070017, // t 270 0x070018, // u 271 0x070019, // v 272 0x07001a, // w 273 0x07001b, // [120] x 274 0x07001c, // y 275 0x07001d, // z 276 0x07002f, // { 277 0x070031, // | 278 0x070030, // } 279 0x070035, // ~ 280 0, // [127] 281 0x0700e1, // SHIFT 282 0x07002a, // BACKSPACE 283 0x0700e0, // CTRL 284 0x0700e2, // ALT 285 0x07004c, // DEL 286 }; 287 288 #endif // REMOTING_IOS_KEY_MAP_US_H_ 289