Chromium Code Reviews| Index: remoting/android/java/src/org/chromium/chromoting/Desktop.java |
| diff --git a/remoting/android/java/src/org/chromium/chromoting/Desktop.java b/remoting/android/java/src/org/chromium/chromoting/Desktop.java |
| index 7c8bb1141e858c8e2420deea72990f18d49c3879..72c22d0d05f9bcbaa6a49d458068dc11247d3e31 100644 |
| --- a/remoting/android/java/src/org/chromium/chromoting/Desktop.java |
| +++ b/remoting/android/java/src/org/chromium/chromoting/Desktop.java |
| @@ -70,11 +70,33 @@ public class Desktop extends Activity { |
| /** Called when a hardware key is pressed, and usually when a software key is pressed. */ |
| @Override |
| public boolean dispatchKeyEvent(KeyEvent event) { |
| - JniInterface.keyboardAction(event.getKeyCode(), event.getAction() == KeyEvent.ACTION_DOWN); |
| + boolean depressed = event.getAction() == KeyEvent.ACTION_DOWN; |
| - if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { |
| - // We stop this event from propagating further to prevent the keyboard from closing. |
| - return true; |
| + switch (event.getKeyCode()) { |
| + case KeyEvent.KEYCODE_AT: |
| + JniInterface.keyboardAction(KeyEvent.KEYCODE_SHIFT_LEFT, depressed); |
| + JniInterface.keyboardAction(KeyEvent.KEYCODE_2, depressed); |
|
garykac
2013/07/30 17:50:05
Don't you need to release the SHIFT key here as we
solb
2013/07/30 18:28:54
I do. This method gets invoked once for the key do
|
| + break; |
| + case KeyEvent.KEYCODE_POUND: |
| + JniInterface.keyboardAction(KeyEvent.KEYCODE_SHIFT_LEFT, depressed); |
| + JniInterface.keyboardAction(KeyEvent.KEYCODE_3, depressed); |
| + break; |
| + case KeyEvent.KEYCODE_STAR: |
| + JniInterface.keyboardAction(KeyEvent.KEYCODE_SHIFT_LEFT, depressed); |
| + JniInterface.keyboardAction(KeyEvent.KEYCODE_8, depressed); |
| + break; |
| + case KeyEvent.KEYCODE_PLUS: |
| + JniInterface.keyboardAction(KeyEvent.KEYCODE_SHIFT_LEFT, depressed); |
| + JniInterface.keyboardAction(KeyEvent.KEYCODE_EQUALS, depressed); |
| + break; |
| + default: |
| + // We try to send all other key codes to the host directly. |
| + JniInterface.keyboardAction(event.getKeyCode(), depressed); |
| + |
| + if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { |
| + // We stop this key from propagating to prevent the keyboard from closing. |
| + return true; |
| + } |
| } |
| return super.dispatchKeyEvent(event); |