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

Side by Side Diff: remoting/android/java/src/org/chromium/chromoting/Desktop.java

Issue 341693004: Fix Desktop.dispatchKeyEvent() to return correct result. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | remoting/android/java/src/org/chromium/chromoting/jni/JniInterface.java » ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 package org.chromium.chromoting; 5 package org.chromium.chromoting;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.app.Activity; 8 import android.app.Activity;
9 import android.content.res.Configuration; 9 import android.content.res.Configuration;
10 import android.os.Build; 10 import android.os.Build;
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 int unicode = keyCode != KeyEvent.KEYCODE_ENTER ? event.getUnicodeChar() : 0; 203 int unicode = keyCode != KeyEvent.KEYCODE_ENTER ? event.getUnicodeChar() : 0;
204 204
205 boolean no_modifiers = !event.isAltPressed() && 205 boolean no_modifiers = !event.isAltPressed() &&
206 !event.isCtrlPressed() && !event.isMetaPressed(); 206 !event.isCtrlPressed() && !event.isMetaPressed();
207 207
208 if (event.getDeviceId() == KeyCharacterMap.VIRTUAL_KEYBOARD && 208 if (event.getDeviceId() == KeyCharacterMap.VIRTUAL_KEYBOARD &&
209 pressed && unicode != 0 && no_modifiers) { 209 pressed && unicode != 0 && no_modifiers) {
210 mPressedTextKeys.add(keyCode); 210 mPressedTextKeys.add(keyCode);
211 int[] codePoints = { unicode }; 211 int[] codePoints = { unicode };
212 JniInterface.sendTextEvent(new String(codePoints, 0, 1)); 212 JniInterface.sendTextEvent(new String(codePoints, 0, 1));
213 return super.dispatchKeyEvent(event); 213 return true;
214 } 214 }
215 215
216 if (!pressed && mPressedTextKeys.contains(keyCode)) { 216 if (!pressed && mPressedTextKeys.contains(keyCode)) {
217 mPressedTextKeys.remove(keyCode); 217 mPressedTextKeys.remove(keyCode);
218 return super.dispatchKeyEvent(event); 218 return true;
219 } 219 }
220 220
221 switch (keyCode) { 221 switch (keyCode) {
222 case KeyEvent.KEYCODE_AT: 222 case KeyEvent.KEYCODE_AT:
223 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_SHIFT_LEFT, pressed); 223 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_SHIFT_LEFT, pressed);
224 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_2, pressed); 224 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_2, pressed);
225 break; 225 return true;
226 226
227 case KeyEvent.KEYCODE_POUND: 227 case KeyEvent.KEYCODE_POUND:
228 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_SHIFT_LEFT, pressed); 228 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_SHIFT_LEFT, pressed);
229 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_3, pressed); 229 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_3, pressed);
230 break; 230 return true;
231 231
232 case KeyEvent.KEYCODE_STAR: 232 case KeyEvent.KEYCODE_STAR:
233 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_SHIFT_LEFT, pressed); 233 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_SHIFT_LEFT, pressed);
234 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_8, pressed); 234 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_8, pressed);
235 break; 235 return true;
236 236
237 case KeyEvent.KEYCODE_PLUS: 237 case KeyEvent.KEYCODE_PLUS:
238 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_SHIFT_LEFT, pressed); 238 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_SHIFT_LEFT, pressed);
239 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_EQUALS, pressed); 239 JniInterface.sendKeyEvent(KeyEvent.KEYCODE_EQUALS, pressed);
240 break; 240 return true;
241 241
242 default: 242 default:
243 // We try to send all other key codes to the host directly. 243 // We try to send all other key codes to the host directly.
244 JniInterface.sendKeyEvent(keyCode, pressed); 244 return JniInterface.sendKeyEvent(keyCode, pressed);
245 } 245 }
246
247 return super.dispatchKeyEvent(event);
248 } 246 }
249 } 247 }
OLDNEW
« no previous file with comments | « no previous file | remoting/android/java/src/org/chromium/chromoting/jni/JniInterface.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698