Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: remoting/host/event_executor_win.cc

Issue 3354005: Re-lands 58186: (Closed)
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/DEPS ('k') | views/accelerator.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/host/event_executor_win.h" 5 #include "remoting/host/event_executor_win.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include "base/keyboard_codes.h" 8 #include "app/keyboard_codes.h"
9 #include "base/stl_util-inl.h" 9 #include "base/stl_util-inl.h"
10 #include "remoting/host/capturer.h" 10 #include "remoting/host/capturer.h"
11 11
12 namespace remoting { 12 namespace remoting {
13 13
14 // TODO(hclam): Move this method to base. 14 // TODO(hclam): Move this method to base.
15 // TODO(hclam): Using values look ugly, change it to something else. 15 // TODO(hclam): Using values look ugly, change it to something else.
16 static base::KeyboardCode WindowsKeyCodeForPosixKeyCode(int keycode) { 16 static app::KeyboardCode WindowsKeyCodeForPosixKeyCode(int keycode) {
17 switch (keycode) { 17 switch (keycode) {
18 case 0x08: 18 case 0x08:
19 return base::VKEY_BACK; 19 return app::VKEY_BACK;
20 case 0x09: 20 case 0x09:
21 return base::VKEY_TAB; 21 return app::VKEY_TAB;
22 case 0x0C: 22 case 0x0C:
23 return base::VKEY_CLEAR; 23 return app::VKEY_CLEAR;
24 case 0x0D: 24 case 0x0D:
25 return base::VKEY_RETURN; 25 return app::VKEY_RETURN;
26 case 0x10: 26 case 0x10:
27 return base::VKEY_SHIFT; 27 return app::VKEY_SHIFT;
28 case 0x11: 28 case 0x11:
29 return base::VKEY_CONTROL; 29 return app::VKEY_CONTROL;
30 case 0x12: 30 case 0x12:
31 return base::VKEY_MENU; 31 return app::VKEY_MENU;
32 case 0x13: 32 case 0x13:
33 return base::VKEY_PAUSE; 33 return app::VKEY_PAUSE;
34 case 0x14: 34 case 0x14:
35 return base::VKEY_CAPITAL; 35 return app::VKEY_CAPITAL;
36 case 0x15: 36 case 0x15:
37 return base::VKEY_KANA; 37 return app::VKEY_KANA;
38 case 0x17: 38 case 0x17:
39 return base::VKEY_JUNJA; 39 return app::VKEY_JUNJA;
40 case 0x18: 40 case 0x18:
41 return base::VKEY_FINAL; 41 return app::VKEY_FINAL;
42 case 0x19: 42 case 0x19:
43 return base::VKEY_KANJI; 43 return app::VKEY_KANJI;
44 case 0x1B: 44 case 0x1B:
45 return base::VKEY_ESCAPE; 45 return app::VKEY_ESCAPE;
46 case 0x1C: 46 case 0x1C:
47 return base::VKEY_CONVERT; 47 return app::VKEY_CONVERT;
48 case 0x1D: 48 case 0x1D:
49 return base::VKEY_NONCONVERT; 49 return app::VKEY_NONCONVERT;
50 case 0x1E: 50 case 0x1E:
51 return base::VKEY_ACCEPT; 51 return app::VKEY_ACCEPT;
52 case 0x1F: 52 case 0x1F:
53 return base::VKEY_MODECHANGE; 53 return app::VKEY_MODECHANGE;
54 case 0x20: 54 case 0x20:
55 return base::VKEY_SPACE; 55 return app::VKEY_SPACE;
56 case 0x21: 56 case 0x21:
57 return base::VKEY_PRIOR; 57 return app::VKEY_PRIOR;
58 case 0x22: 58 case 0x22:
59 return base::VKEY_NEXT; 59 return app::VKEY_NEXT;
60 case 0x23: 60 case 0x23:
61 return base::VKEY_END; 61 return app::VKEY_END;
62 case 0x24: 62 case 0x24:
63 return base::VKEY_HOME; 63 return app::VKEY_HOME;
64 case 0x25: 64 case 0x25:
65 return base::VKEY_LEFT; 65 return app::VKEY_LEFT;
66 case 0x26: 66 case 0x26:
67 return base::VKEY_UP; 67 return app::VKEY_UP;
68 case 0x27: 68 case 0x27:
69 return base::VKEY_RIGHT; 69 return app::VKEY_RIGHT;
70 case 0x28: 70 case 0x28:
71 return base::VKEY_DOWN; 71 return app::VKEY_DOWN;
72 case 0x29: 72 case 0x29:
73 return base::VKEY_SELECT; 73 return app::VKEY_SELECT;
74 case 0x2A: 74 case 0x2A:
75 return base::VKEY_PRINT; 75 return app::VKEY_PRINT;
76 case 0x2B: 76 case 0x2B:
77 return base::VKEY_EXECUTE; 77 return app::VKEY_EXECUTE;
78 case 0x2C: 78 case 0x2C:
79 return base::VKEY_SNAPSHOT; 79 return app::VKEY_SNAPSHOT;
80 case 0x2D: 80 case 0x2D:
81 return base::VKEY_INSERT; 81 return app::VKEY_INSERT;
82 case 0x2E: 82 case 0x2E:
83 return base::VKEY_DELETE; 83 return app::VKEY_DELETE;
84 case 0x2F: 84 case 0x2F:
85 return base::VKEY_HELP; 85 return app::VKEY_HELP;
86 case 0x30: 86 case 0x30:
87 return base::VKEY_0; 87 return app::VKEY_0;
88 case 0x31: 88 case 0x31:
89 return base::VKEY_1; 89 return app::VKEY_1;
90 case 0x32: 90 case 0x32:
91 return base::VKEY_2; 91 return app::VKEY_2;
92 case 0x33: 92 case 0x33:
93 return base::VKEY_3; 93 return app::VKEY_3;
94 case 0x34: 94 case 0x34:
95 return base::VKEY_4; 95 return app::VKEY_4;
96 case 0x35: 96 case 0x35:
97 return base::VKEY_5; 97 return app::VKEY_5;
98 case 0x36: 98 case 0x36:
99 return base::VKEY_6; 99 return app::VKEY_6;
100 case 0x37: 100 case 0x37:
101 return base::VKEY_7; 101 return app::VKEY_7;
102 case 0x38: 102 case 0x38:
103 return base::VKEY_8; 103 return app::VKEY_8;
104 case 0x39: 104 case 0x39:
105 return base::VKEY_9; 105 return app::VKEY_9;
106 case 0x41: 106 case 0x41:
107 return base::VKEY_A; 107 return app::VKEY_A;
108 case 0x42: 108 case 0x42:
109 return base::VKEY_B; 109 return app::VKEY_B;
110 case 0x43: 110 case 0x43:
111 return base::VKEY_C; 111 return app::VKEY_C;
112 case 0x44: 112 case 0x44:
113 return base::VKEY_D; 113 return app::VKEY_D;
114 case 0x45: 114 case 0x45:
115 return base::VKEY_E; 115 return app::VKEY_E;
116 case 0x46: 116 case 0x46:
117 return base::VKEY_F; 117 return app::VKEY_F;
118 case 0x47: 118 case 0x47:
119 return base::VKEY_G; 119 return app::VKEY_G;
120 case 0x48: 120 case 0x48:
121 return base::VKEY_H; 121 return app::VKEY_H;
122 case 0x49: 122 case 0x49:
123 return base::VKEY_I; 123 return app::VKEY_I;
124 case 0x4A: 124 case 0x4A:
125 return base::VKEY_J; 125 return app::VKEY_J;
126 case 0x4B: 126 case 0x4B:
127 return base::VKEY_K; 127 return app::VKEY_K;
128 case 0x4C: 128 case 0x4C:
129 return base::VKEY_L; 129 return app::VKEY_L;
130 case 0x4D: 130 case 0x4D:
131 return base::VKEY_M; 131 return app::VKEY_M;
132 case 0x4E: 132 case 0x4E:
133 return base::VKEY_N; 133 return app::VKEY_N;
134 case 0x4F: 134 case 0x4F:
135 return base::VKEY_O; 135 return app::VKEY_O;
136 case 0x50: 136 case 0x50:
137 return base::VKEY_P; 137 return app::VKEY_P;
138 case 0x51: 138 case 0x51:
139 return base::VKEY_Q; 139 return app::VKEY_Q;
140 case 0x52: 140 case 0x52:
141 return base::VKEY_R; 141 return app::VKEY_R;
142 case 0x53: 142 case 0x53:
143 return base::VKEY_S; 143 return app::VKEY_S;
144 case 0x54: 144 case 0x54:
145 return base::VKEY_T; 145 return app::VKEY_T;
146 case 0x55: 146 case 0x55:
147 return base::VKEY_U; 147 return app::VKEY_U;
148 case 0x56: 148 case 0x56:
149 return base::VKEY_V; 149 return app::VKEY_V;
150 case 0x57: 150 case 0x57:
151 return base::VKEY_W; 151 return app::VKEY_W;
152 case 0x58: 152 case 0x58:
153 return base::VKEY_X; 153 return app::VKEY_X;
154 case 0x59: 154 case 0x59:
155 return base::VKEY_Y; 155 return app::VKEY_Y;
156 case 0x5A: 156 case 0x5A:
157 return base::VKEY_Z; 157 return app::VKEY_Z;
158 case 0x5B: 158 case 0x5B:
159 return base::VKEY_LWIN; 159 return app::VKEY_LWIN;
160 case 0x5C: 160 case 0x5C:
161 return base::VKEY_RWIN; 161 return app::VKEY_RWIN;
162 case 0x5D: 162 case 0x5D:
163 return base::VKEY_APPS; 163 return app::VKEY_APPS;
164 case 0x5F: 164 case 0x5F:
165 return base::VKEY_SLEEP; 165 return app::VKEY_SLEEP;
166 case 0x60: 166 case 0x60:
167 return base::VKEY_NUMPAD0; 167 return app::VKEY_NUMPAD0;
168 case 0x61: 168 case 0x61:
169 return base::VKEY_NUMPAD1; 169 return app::VKEY_NUMPAD1;
170 case 0x62: 170 case 0x62:
171 return base::VKEY_NUMPAD2; 171 return app::VKEY_NUMPAD2;
172 case 0x63: 172 case 0x63:
173 return base::VKEY_NUMPAD3; 173 return app::VKEY_NUMPAD3;
174 case 0x64: 174 case 0x64:
175 return base::VKEY_NUMPAD4; 175 return app::VKEY_NUMPAD4;
176 case 0x65: 176 case 0x65:
177 return base::VKEY_NUMPAD5; 177 return app::VKEY_NUMPAD5;
178 case 0x66: 178 case 0x66:
179 return base::VKEY_NUMPAD6; 179 return app::VKEY_NUMPAD6;
180 case 0x67: 180 case 0x67:
181 return base::VKEY_NUMPAD7; 181 return app::VKEY_NUMPAD7;
182 case 0x68: 182 case 0x68:
183 return base::VKEY_NUMPAD8; 183 return app::VKEY_NUMPAD8;
184 case 0x69: 184 case 0x69:
185 return base::VKEY_NUMPAD9; 185 return app::VKEY_NUMPAD9;
186 case 0x6A: 186 case 0x6A:
187 return base::VKEY_MULTIPLY; 187 return app::VKEY_MULTIPLY;
188 case 0x6B: 188 case 0x6B:
189 return base::VKEY_ADD; 189 return app::VKEY_ADD;
190 case 0x6C: 190 case 0x6C:
191 return base::VKEY_SEPARATOR; 191 return app::VKEY_SEPARATOR;
192 case 0x6D: 192 case 0x6D:
193 return base::VKEY_SUBTRACT; 193 return app::VKEY_SUBTRACT;
194 case 0x6E: 194 case 0x6E:
195 return base::VKEY_DECIMAL; 195 return app::VKEY_DECIMAL;
196 case 0x6F: 196 case 0x6F:
197 return base::VKEY_DIVIDE; 197 return app::VKEY_DIVIDE;
198 case 0x70: 198 case 0x70:
199 return base::VKEY_F1; 199 return app::VKEY_F1;
200 case 0x71: 200 case 0x71:
201 return base::VKEY_F2; 201 return app::VKEY_F2;
202 case 0x72: 202 case 0x72:
203 return base::VKEY_F3; 203 return app::VKEY_F3;
204 case 0x73: 204 case 0x73:
205 return base::VKEY_F4; 205 return app::VKEY_F4;
206 case 0x74: 206 case 0x74:
207 return base::VKEY_F5; 207 return app::VKEY_F5;
208 case 0x75: 208 case 0x75:
209 return base::VKEY_F6; 209 return app::VKEY_F6;
210 case 0x76: 210 case 0x76:
211 return base::VKEY_F7; 211 return app::VKEY_F7;
212 case 0x77: 212 case 0x77:
213 return base::VKEY_F8; 213 return app::VKEY_F8;
214 case 0x78: 214 case 0x78:
215 return base::VKEY_F9; 215 return app::VKEY_F9;
216 case 0x79: 216 case 0x79:
217 return base::VKEY_F10; 217 return app::VKEY_F10;
218 case 0x7A: 218 case 0x7A:
219 return base::VKEY_F11; 219 return app::VKEY_F11;
220 case 0x7B: 220 case 0x7B:
221 return base::VKEY_F12; 221 return app::VKEY_F12;
222 case 0x7C: 222 case 0x7C:
223 return base::VKEY_F13; 223 return app::VKEY_F13;
224 case 0x7D: 224 case 0x7D:
225 return base::VKEY_F14; 225 return app::VKEY_F14;
226 case 0x7E: 226 case 0x7E:
227 return base::VKEY_F15; 227 return app::VKEY_F15;
228 case 0x7F: 228 case 0x7F:
229 return base::VKEY_F16; 229 return app::VKEY_F16;
230 case 0x80: 230 case 0x80:
231 return base::VKEY_F17; 231 return app::VKEY_F17;
232 case 0x81: 232 case 0x81:
233 return base::VKEY_F18; 233 return app::VKEY_F18;
234 case 0x82: 234 case 0x82:
235 return base::VKEY_F19; 235 return app::VKEY_F19;
236 case 0x83: 236 case 0x83:
237 return base::VKEY_F20; 237 return app::VKEY_F20;
238 case 0x84: 238 case 0x84:
239 return base::VKEY_F21; 239 return app::VKEY_F21;
240 case 0x85: 240 case 0x85:
241 return base::VKEY_F22; 241 return app::VKEY_F22;
242 case 0x86: 242 case 0x86:
243 return base::VKEY_F23; 243 return app::VKEY_F23;
244 case 0x87: 244 case 0x87:
245 return base::VKEY_F24; 245 return app::VKEY_F24;
246 case 0x90: 246 case 0x90:
247 return base::VKEY_NUMLOCK; 247 return app::VKEY_NUMLOCK;
248 case 0x91: 248 case 0x91:
249 return base::VKEY_SCROLL; 249 return app::VKEY_SCROLL;
250 case 0xA0: 250 case 0xA0:
251 return base::VKEY_LSHIFT; 251 return app::VKEY_LSHIFT;
252 case 0xA1: 252 case 0xA1:
253 return base::VKEY_RSHIFT; 253 return app::VKEY_RSHIFT;
254 case 0xA2: 254 case 0xA2:
255 return base::VKEY_LCONTROL; 255 return app::VKEY_LCONTROL;
256 case 0xA3: 256 case 0xA3:
257 return base::VKEY_RCONTROL; 257 return app::VKEY_RCONTROL;
258 case 0xA4: 258 case 0xA4:
259 return base::VKEY_LMENU; 259 return app::VKEY_LMENU;
260 case 0xA5: 260 case 0xA5:
261 return base::VKEY_RMENU; 261 return app::VKEY_RMENU;
262 case 0xA6: 262 case 0xA6:
263 return base::VKEY_BROWSER_BACK; 263 return app::VKEY_BROWSER_BACK;
264 case 0xA7: 264 case 0xA7:
265 return base::VKEY_BROWSER_FORWARD; 265 return app::VKEY_BROWSER_FORWARD;
266 case 0xA8: 266 case 0xA8:
267 return base::VKEY_BROWSER_REFRESH; 267 return app::VKEY_BROWSER_REFRESH;
268 case 0xA9: 268 case 0xA9:
269 return base::VKEY_BROWSER_STOP; 269 return app::VKEY_BROWSER_STOP;
270 case 0xAA: 270 case 0xAA:
271 return base::VKEY_BROWSER_SEARCH; 271 return app::VKEY_BROWSER_SEARCH;
272 case 0xAB: 272 case 0xAB:
273 return base::VKEY_BROWSER_FAVORITES; 273 return app::VKEY_BROWSER_FAVORITES;
274 case 0xAC: 274 case 0xAC:
275 return base::VKEY_BROWSER_HOME; 275 return app::VKEY_BROWSER_HOME;
276 case 0xAD: 276 case 0xAD:
277 return base::VKEY_VOLUME_MUTE; 277 return app::VKEY_VOLUME_MUTE;
278 case 0xAE: 278 case 0xAE:
279 return base::VKEY_VOLUME_DOWN; 279 return app::VKEY_VOLUME_DOWN;
280 case 0xAF: 280 case 0xAF:
281 return base::VKEY_VOLUME_UP; 281 return app::VKEY_VOLUME_UP;
282 case 0xB0: 282 case 0xB0:
283 return base::VKEY_MEDIA_NEXT_TRACK; 283 return app::VKEY_MEDIA_NEXT_TRACK;
284 case 0xB1: 284 case 0xB1:
285 return base::VKEY_MEDIA_PREV_TRACK; 285 return app::VKEY_MEDIA_PREV_TRACK;
286 case 0xB2: 286 case 0xB2:
287 return base::VKEY_MEDIA_STOP; 287 return app::VKEY_MEDIA_STOP;
288 case 0xB3: 288 case 0xB3:
289 return base::VKEY_MEDIA_PLAY_PAUSE; 289 return app::VKEY_MEDIA_PLAY_PAUSE;
290 case 0xB4: 290 case 0xB4:
291 return base::VKEY_MEDIA_LAUNCH_MAIL; 291 return app::VKEY_MEDIA_LAUNCH_MAIL;
292 case 0xB5: 292 case 0xB5:
293 return base::VKEY_MEDIA_LAUNCH_MEDIA_SELECT; 293 return app::VKEY_MEDIA_LAUNCH_MEDIA_SELECT;
294 case 0xB6: 294 case 0xB6:
295 return base::VKEY_MEDIA_LAUNCH_APP1; 295 return app::VKEY_MEDIA_LAUNCH_APP1;
296 case 0xB7: 296 case 0xB7:
297 return base::VKEY_MEDIA_LAUNCH_APP2; 297 return app::VKEY_MEDIA_LAUNCH_APP2;
298 case 0xBA: 298 case 0xBA:
299 return base::VKEY_OEM_1; 299 return app::VKEY_OEM_1;
300 case 0xBB: 300 case 0xBB:
301 return base::VKEY_OEM_PLUS; 301 return app::VKEY_OEM_PLUS;
302 case 0xBC: 302 case 0xBC:
303 return base::VKEY_OEM_COMMA; 303 return app::VKEY_OEM_COMMA;
304 case 0xBD: 304 case 0xBD:
305 return base::VKEY_OEM_MINUS; 305 return app::VKEY_OEM_MINUS;
306 case 0xBE: 306 case 0xBE:
307 return base::VKEY_OEM_PERIOD; 307 return app::VKEY_OEM_PERIOD;
308 case 0xBF: 308 case 0xBF:
309 return base::VKEY_OEM_2; 309 return app::VKEY_OEM_2;
310 case 0xC0: 310 case 0xC0:
311 return base::VKEY_OEM_3; 311 return app::VKEY_OEM_3;
312 case 0xDB: 312 case 0xDB:
313 return base::VKEY_OEM_4; 313 return app::VKEY_OEM_4;
314 case 0xDC: 314 case 0xDC:
315 return base::VKEY_OEM_5; 315 return app::VKEY_OEM_5;
316 case 0xDD: 316 case 0xDD:
317 return base::VKEY_OEM_6; 317 return app::VKEY_OEM_6;
318 case 0xDE: 318 case 0xDE:
319 return base::VKEY_OEM_7; 319 return app::VKEY_OEM_7;
320 case 0xDF: 320 case 0xDF:
321 return base::VKEY_OEM_8; 321 return app::VKEY_OEM_8;
322 case 0xE2: 322 case 0xE2:
323 return base::VKEY_OEM_102; 323 return app::VKEY_OEM_102;
324 case 0xE5: 324 case 0xE5:
325 return base::VKEY_PROCESSKEY; 325 return app::VKEY_PROCESSKEY;
326 case 0xE7: 326 case 0xE7:
327 return base::VKEY_PACKET; 327 return app::VKEY_PACKET;
328 case 0xF6: 328 case 0xF6:
329 return base::VKEY_ATTN; 329 return app::VKEY_ATTN;
330 case 0xF7: 330 case 0xF7:
331 return base::VKEY_CRSEL; 331 return app::VKEY_CRSEL;
332 case 0xF8: 332 case 0xF8:
333 return base::VKEY_EXSEL; 333 return app::VKEY_EXSEL;
334 case 0xF9: 334 case 0xF9:
335 return base::VKEY_EREOF; 335 return app::VKEY_EREOF;
336 case 0xFA: 336 case 0xFA:
337 return base::VKEY_PLAY; 337 return app::VKEY_PLAY;
338 case 0xFB: 338 case 0xFB:
339 return base::VKEY_ZOOM; 339 return app::VKEY_ZOOM;
340 case 0xFC: 340 case 0xFC:
341 return base::VKEY_NONAME; 341 return app::VKEY_NONAME;
342 case 0xFD: 342 case 0xFD:
343 return base::VKEY_PA1; 343 return app::VKEY_PA1;
344 case 0xFE: 344 case 0xFE:
345 return base::VKEY_OEM_CLEAR; 345 return app::VKEY_OEM_CLEAR;
346 default: 346 default:
347 return base::VKEY_UNKNOWN; 347 return app::VKEY_UNKNOWN;
348 } 348 }
349 } 349 }
350 350
351 EventExecutorWin::EventExecutorWin(Capturer* capturer) 351 EventExecutorWin::EventExecutorWin(Capturer* capturer)
352 : EventExecutor(capturer) { 352 : EventExecutor(capturer) {
353 } 353 }
354 354
355 EventExecutorWin::~EventExecutorWin() { 355 EventExecutorWin::~EventExecutorWin() {
356 } 356 }
357 357
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 input.ki.wScan = msg->key_event().key(); 483 input.ki.wScan = msg->key_event().key();
484 input.ki.dwFlags = KEYEVENTF_UNICODE; 484 input.ki.dwFlags = KEYEVENTF_UNICODE;
485 if (!msg->key_event().pressed()) { 485 if (!msg->key_event().pressed()) {
486 input.ki.dwFlags |= KEYEVENTF_KEYUP; 486 input.ki.dwFlags |= KEYEVENTF_KEYUP;
487 } 487 }
488 488
489 SendInput(1, &input, sizeof(INPUT)); 489 SendInput(1, &input, sizeof(INPUT));
490 } 490 }
491 491
492 } // namespace remoting 492 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/DEPS ('k') | views/accelerator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698