From c3fc2d03d58a258c53c9265a70143d4af076b764 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Tue, 10 Aug 2010 15:47:53 -0700 Subject: [PATCH] Fix safe mode and KeyEvent.getMaxKeyCode(). Bug: 2901731 Change-Id: I78617c1b9dee3790fc590e5af4b5083368873184 --- core/java/android/view/KeyEvent.java | 2 +- include/ui/InputReader.h | 2 ++ libs/ui/InputReader.cpp | 8 ++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java index 9223e17fb5a5b..ed10e412ac511 100755 --- a/core/java/android/view/KeyEvent.java +++ b/core/java/android/view/KeyEvent.java @@ -156,7 +156,7 @@ public class KeyEvent extends InputEvent implements Parcelable { // those new codes. This is intended to maintain a consistent // set of key code definitions across all Android devices. - private static final int LAST_KEYCODE = KEYCODE_SWITCH_CHARSET; + private static final int LAST_KEYCODE = KEYCODE_BUTTON_MODE; /** * @deprecated There are now more than MAX_KEYCODE keycodes. diff --git a/include/ui/InputReader.h b/include/ui/InputReader.h index f1622316fcc80..71c6c517692d1 100644 --- a/include/ui/InputReader.h +++ b/include/ui/InputReader.h @@ -454,6 +454,8 @@ public: virtual void reset(); virtual void process(const RawEvent* rawEvent); + virtual int32_t getScanCodeState(uint32_t sourceMask, int32_t scanCode); + private: // Amount that trackball needs to move in order to generate a key event. static const int32_t TRACKBALL_MOVEMENT_THRESHOLD = 6; diff --git a/libs/ui/InputReader.cpp b/libs/ui/InputReader.cpp index 661870212ffd2..5f5a4ac4e6446 100644 --- a/libs/ui/InputReader.cpp +++ b/libs/ui/InputReader.cpp @@ -1080,6 +1080,14 @@ void TrackballInputMapper::applyPolicyAndDispatch(nsecs_t when, int32_t motionEv 1, & pointerId, pointerCoords, mXPrecision, mYPrecision, downTime); } +int32_t TrackballInputMapper::getScanCodeState(uint32_t sourceMask, int32_t scanCode) { + if (scanCode >= BTN_MOUSE && scanCode < BTN_JOYSTICK) { + return getEventHub()->getScanCodeState(getDeviceId(), scanCode); + } else { + return AKEY_STATE_UNKNOWN; + } +} + // --- TouchInputMapper ---