From 48a8a0e4322969e1551536d6183af3a1faa2240b Mon Sep 17 00:00:00 2001 From: Michael Wright Date: Mon, 11 May 2015 19:52:27 +0100 Subject: Add new MotionEvent actions for button press and release. Introduce ACTION_BUTTON_PRESS and ACTION_BUTTON_RELEASE as actions to signal a button press or release. If these actions happen simulanteously with a DOWN or UP event then they're explicitly ordered to happen after the DOWN or preceding the UP in order to send them to the most recently targeted view. Also, introduce new stylus button constants that differ from the constants we use for mouse buttons. Bug: 20704355 Change-Id: Ib960a5004db5429ad2fc8db020704773e2978327 --- include/android/input.h | 8 ++++++++ include/input/Input.h | 6 ++++++ include/input/InputTransport.h | 2 ++ 3 files changed, 16 insertions(+) (limited to 'include') diff --git a/include/android/input.h b/include/android/input.h index a660761..c7635b8 100644 --- a/include/android/input.h +++ b/include/android/input.h @@ -305,6 +305,12 @@ enum { /* The pointer is not down but has exited the boundaries of a window or view. */ AMOTION_EVENT_ACTION_HOVER_EXIT = 10, + + /* One or more buttons have been pressed. */ + AMOTION_EVENT_ACTION_BUTTON_PRESS = 11, + + /* One or more buttons have been released. */ + AMOTION_EVENT_ACTION_BUTTON_RELEASE = 12, }; /* @@ -405,6 +411,8 @@ enum { AMOTION_EVENT_BUTTON_TERTIARY = 1 << 2, AMOTION_EVENT_BUTTON_BACK = 1 << 3, AMOTION_EVENT_BUTTON_FORWARD = 1 << 4, + AMOTION_EVENT_BUTTON_STYLUS_PRIMARY = 1 << 5, + AMOTION_EVENT_BUTTON_STYLUS_SECONDARY = 1 << 6, }; /* diff --git a/include/input/Input.h b/include/input/Input.h index c360f63..1da8356 100644 --- a/include/input/Input.h +++ b/include/input/Input.h @@ -379,6 +379,10 @@ public: inline int32_t getButtonState() const { return mButtonState; } + inline int32_t setButtonState(int32_t buttonState) { mButtonState = buttonState; } + + inline int32_t getActionButton() const { return mActionButton; } + inline float getXOffset() const { return mXOffset; } inline float getYOffset() const { return mYOffset; } @@ -532,6 +536,7 @@ public: int32_t deviceId, int32_t source, int32_t action, + int32_t actionButton, int32_t flags, int32_t edgeFlags, int32_t metaState, @@ -584,6 +589,7 @@ public: protected: int32_t mAction; + int32_t mActionButton; int32_t mFlags; int32_t mEdgeFlags; int32_t mMetaState; diff --git a/include/input/InputTransport.h b/include/input/InputTransport.h index e7e383b..6dc77b7 100644 --- a/include/input/InputTransport.h +++ b/include/input/InputTransport.h @@ -84,6 +84,7 @@ struct InputMessage { int32_t deviceId; int32_t source; int32_t action; + int32_t actionButton; int32_t flags; int32_t metaState; int32_t buttonState; @@ -232,6 +233,7 @@ public: int32_t deviceId, int32_t source, int32_t action, + int32_t actionButton, int32_t flags, int32_t edgeFlags, int32_t metaState, -- cgit v1.1