summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Brown <jeffbrown@google.com> 2014-02-26 15:12:45 -0800
committer Jeff Brown <jeffbrown@google.com> 2014-02-26 15:15:53 -0800
commit6ca90042b398153e063cf69dea784e201e76a9ee (patch)
treeaed2d4572c86f6e3edc9d2eb5a0e2640eec74d2c
parent42ec5035672fbfe701ddbf90dcc4390dab9188af (diff)
Add touch.wake IDC property to control wakeup.
Normally we do not wake the device when the internal touch screen is touched. This behavior can now be configured by setting a property in the input device configuration file. Add the following line to the IDC file to enable an initial touch to wake the device from sleep. touch.wake = 1 Change-Id: Ifd6d4f51afacd30d85f475725a66e6fcccde9cbb
-rw-r--r--libs/input/InputReader.cpp13
-rw-r--r--libs/input/InputReader.h2
2 files changed, 10 insertions, 5 deletions
diff --git a/libs/input/InputReader.cpp b/libs/input/InputReader.cpp
index 03852a5ffcff..b1b7c7da4f99 100644
--- a/libs/input/InputReader.cpp
+++ b/libs/input/InputReader.cpp
@@ -2831,6 +2831,13 @@ void TouchInputMapper::configureParameters() {
mParameters.deviceType == Parameters::DEVICE_TYPE_TOUCH_SCREEN
&& getDevice()->isExternal();
}
+
+ // Initial downs on external touch devices should wake the device.
+ // Normally we don't do this for internal touch screens to prevent them from waking
+ // up in your pocket but you can enable it using the input device configuration.
+ mParameters.wake = getDevice()->isExternal();
+ getDevice()->getConfiguration().tryGetProperty(String8("touch.wake"),
+ mParameters.wake);
}
void TouchInputMapper::dumpParameters(String8& dump) {
@@ -3733,11 +3740,7 @@ void TouchInputMapper::sync(nsecs_t when) {
getContext()->fadePointer();
}
- // Initial downs on external touch devices should wake the device.
- // We don't do this for internal touch screens to prevent them from waking
- // up in your pocket.
- // TODO: Use the input device configuration to control this behavior more finely.
- if (getDevice()->isExternal()) {
+ if (mParameters.wake) {
policyFlags |= POLICY_FLAG_WAKE_DROPPED;
}
}
diff --git a/libs/input/InputReader.h b/libs/input/InputReader.h
index a8bb63671b60..eb5746b8b1be 100644
--- a/libs/input/InputReader.h
+++ b/libs/input/InputReader.h
@@ -1214,6 +1214,8 @@ protected:
GESTURE_MODE_SPOTS,
};
GestureMode gestureMode;
+
+ bool wake;
} mParameters;
// Immutable calibration parameters in parsed form.