| OLD | NEW |
| 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 Loading... |
| 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 } |
| OLD | NEW |