| OLD | NEW |
| (Empty) |
| 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 #include "content/shell/renderer/test_runner/key_code_mapping.h" | |
| 6 | |
| 7 #include "build/build_config.h" | |
| 8 | |
| 9 namespace content { | |
| 10 | |
| 11 int NativeKeyCodeForWindowsKeyCode(int keysym) { | |
| 12 #if defined(OS_LINUX) && defined(TOOLKIT_GTK) | |
| 13 // See /usr/share/X11/xkb/keycodes/* | |
| 14 static const int ascii_to_key_code[] = { | |
| 15 0, | |
| 16 0, | |
| 17 0, | |
| 18 0, | |
| 19 0, | |
| 20 0, | |
| 21 0, | |
| 22 0, | |
| 23 22, | |
| 24 23, | |
| 25 0, | |
| 26 0, | |
| 27 0, | |
| 28 36, | |
| 29 0, | |
| 30 0, | |
| 31 50, | |
| 32 37, | |
| 33 64, | |
| 34 127, | |
| 35 66, | |
| 36 0, | |
| 37 0, | |
| 38 0, | |
| 39 0, | |
| 40 131, | |
| 41 0, | |
| 42 9, | |
| 43 100, | |
| 44 102, | |
| 45 0, | |
| 46 0, | |
| 47 65, // ' ' | |
| 48 112, // '!' | |
| 49 117, // '"' | |
| 50 115, // '#' | |
| 51 110, // '$' | |
| 52 113, // '%' | |
| 53 111, // '&' | |
| 54 114, // ''' | |
| 55 116, // '(' | |
| 56 0, // ')' | |
| 57 107, // '*' | |
| 58 0, // '+' | |
| 59 0, // ',' | |
| 60 118, // '-' | |
| 61 119, // '.' | |
| 62 146, // '/' | |
| 63 19, // '0' | |
| 64 10, // '1' | |
| 65 11, // '2' | |
| 66 12, // '3' | |
| 67 13, // '4' | |
| 68 14, // '5' | |
| 69 15, // '6' | |
| 70 16, // '7' | |
| 71 17, // '8' | |
| 72 18, // '9' | |
| 73 0, // ':' | |
| 74 0, // ';' | |
| 75 0, // '<' | |
| 76 0, // '=' | |
| 77 0, // '>' | |
| 78 0, // '?' | |
| 79 0, // '@' | |
| 80 38, // 'A' | |
| 81 56, // 'B' | |
| 82 54, // 'C' | |
| 83 40, // 'D' | |
| 84 26, // 'E' | |
| 85 41, // 'F' | |
| 86 42, // 'G' | |
| 87 43, // 'H' | |
| 88 31, // 'I' | |
| 89 44, // 'J' | |
| 90 45, // 'K' | |
| 91 46, // 'L' | |
| 92 58, // 'M' | |
| 93 57, // 'N' | |
| 94 32, // 'O' | |
| 95 33, // 'P' | |
| 96 24, // 'Q' | |
| 97 27, // 'R' | |
| 98 39, // 'S' | |
| 99 28, // 'T' | |
| 100 30, // 'U' | |
| 101 55, // 'V' | |
| 102 25, // 'W' | |
| 103 53, // 'X' | |
| 104 29, // 'Y' | |
| 105 52, // 'Z' | |
| 106 133, // '[' | |
| 107 134, // '\' | |
| 108 135, // ']' | |
| 109 0, // '^' | |
| 110 0, // '_' | |
| 111 90, // '`' | |
| 112 38, // 'a' | |
| 113 56, // 'b' | |
| 114 54, // 'c' | |
| 115 40, // 'd' | |
| 116 26, // 'e' | |
| 117 41, // 'f' | |
| 118 42, // 'g' | |
| 119 43, // 'h' | |
| 120 31, // 'i' | |
| 121 44, // 'j' | |
| 122 45, // 'k' | |
| 123 46, // 'l' | |
| 124 58, // 'm' | |
| 125 57, // 'n' | |
| 126 32, // 'o' | |
| 127 33, // 'p' | |
| 128 24, // 'q' | |
| 129 27, // 'r' | |
| 130 39, // 's' | |
| 131 28, // 't' | |
| 132 30, // 'u' | |
| 133 55, // 'v' | |
| 134 25, // 'w' | |
| 135 53, // 'x' | |
| 136 29, // 'y' | |
| 137 52, // 'z' | |
| 138 96, // '{' | |
| 139 0, // '|' | |
| 140 0, // '}' | |
| 141 0, // '~' | |
| 142 0, // DEL | |
| 143 }; | |
| 144 | |
| 145 if (keysym <= 127) | |
| 146 return ascii_to_key_code[keysym]; | |
| 147 | |
| 148 switch (keysym) { | |
| 149 case VKEY_PRIOR: | |
| 150 return 112; | |
| 151 case VKEY_NEXT: | |
| 152 return 117; | |
| 153 case VKEY_END: | |
| 154 return 115; | |
| 155 case VKEY_HOME: | |
| 156 return 110; | |
| 157 case VKEY_LEFT: | |
| 158 return 113; | |
| 159 case VKEY_UP: | |
| 160 return 111; | |
| 161 case VKEY_RIGHT: | |
| 162 return 114; | |
| 163 case VKEY_DOWN: | |
| 164 return 116; | |
| 165 case VKEY_SNAPSHOT: | |
| 166 return 107; | |
| 167 case VKEY_INSERT: | |
| 168 return 118; | |
| 169 case VKEY_DELETE: | |
| 170 return 119; | |
| 171 case VKEY_APPS: | |
| 172 return 135; | |
| 173 case VKEY_F1: | |
| 174 case VKEY_F1 + 1: | |
| 175 case VKEY_F1 + 2: | |
| 176 case VKEY_F1 + 3: | |
| 177 case VKEY_F1 + 4: | |
| 178 case VKEY_F1 + 5: | |
| 179 case VKEY_F1 + 6: | |
| 180 case VKEY_F1 + 7: | |
| 181 case VKEY_F1 + 8: | |
| 182 case VKEY_F1 + 9: | |
| 183 case VKEY_F1 + 10: | |
| 184 case VKEY_F1 + 11: | |
| 185 case VKEY_F1 + 12: | |
| 186 case VKEY_F1 + 13: | |
| 187 case VKEY_F1 + 14: | |
| 188 case VKEY_F1 + 15: | |
| 189 case VKEY_F1 + 16: | |
| 190 case VKEY_F1 + 17: | |
| 191 case VKEY_F1 + 18: | |
| 192 case VKEY_F1 + 19: | |
| 193 case VKEY_F1 + 20: | |
| 194 case VKEY_F1 + 21: | |
| 195 case VKEY_F1 + 22: | |
| 196 case VKEY_F1 + 23: | |
| 197 return 67 + (keysym - VKEY_F1); | |
| 198 case VKEY_LSHIFT: | |
| 199 return 50; | |
| 200 case VKEY_RSHIFT: | |
| 201 return 62; | |
| 202 case VKEY_LCONTROL: | |
| 203 return 37; | |
| 204 case VKEY_RCONTROL: | |
| 205 return 105; | |
| 206 case VKEY_LMENU: | |
| 207 return 64; | |
| 208 case VKEY_RMENU: | |
| 209 return 108; | |
| 210 case VKEY_NUMLOCK: | |
| 211 return 77; | |
| 212 | |
| 213 default: | |
| 214 return 0; | |
| 215 } | |
| 216 #else | |
| 217 return keysym - keysym; | |
| 218 #endif | |
| 219 } | |
| 220 | |
| 221 } // namespace content | |
| OLD | NEW |