From 924c4d47774fa7d8a5ce659d12291ef7df82ee05 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Mon, 7 Mar 2011 16:40:47 -0800 Subject: [PATCH] Support POLICY_FLAG_ALT et. al. (DO NOT MERGE) Change-Id: Ida3b8300764623662052f80095973186cb9d4616 --- services/input/InputDispatcher.cpp | 15 +++++++++++++++ services/input/InputReader.cpp | 3 --- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/services/input/InputDispatcher.cpp b/services/input/InputDispatcher.cpp index e614e818d32c3..487ecff5ddbda 100644 --- a/services/input/InputDispatcher.cpp +++ b/services/input/InputDispatcher.cpp @@ -2245,6 +2245,21 @@ void InputDispatcher::notifyKey(nsecs_t eventTime, int32_t deviceId, uint32_t so policyFlags |= POLICY_FLAG_VIRTUAL; flags |= AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY; } + if (policyFlags & POLICY_FLAG_ALT) { + metaState |= AMETA_ALT_ON | AMETA_ALT_LEFT_ON; + } + if (policyFlags & POLICY_FLAG_ALT_GR) { + metaState |= AMETA_ALT_ON | AMETA_ALT_RIGHT_ON; + } + if (policyFlags & POLICY_FLAG_SHIFT) { + metaState |= AMETA_SHIFT_ON | AMETA_SHIFT_LEFT_ON; + } + if (policyFlags & POLICY_FLAG_CAPS_LOCK) { + metaState |= AMETA_CAPS_LOCK_ON; + } + if (policyFlags & POLICY_FLAG_FUNCTION) { + metaState |= AMETA_FUNCTION_ON; + } policyFlags |= POLICY_FLAG_TRUSTED; diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp index 00c3eb72b2c87..ab43a20ed9a88 100644 --- a/services/input/InputReader.cpp +++ b/services/input/InputReader.cpp @@ -1009,9 +1009,6 @@ void KeyboardInputMapper::processKey(nsecs_t when, bool down, int32_t keyCode, getContext()->fadePointer(); } - if (policyFlags & POLICY_FLAG_FUNCTION) { - newMetaState |= AMETA_FUNCTION_ON; - } getDispatcher()->notifyKey(when, getDeviceId(), mSources, policyFlags, down ? AKEY_EVENT_ACTION_DOWN : AKEY_EVENT_ACTION_UP, AKEY_EVENT_FLAG_FROM_SYSTEM, keyCode, scanCode, newMetaState, downTime);