OSDN Git Service

Added option to disable touchscreen pressure sensitivity from idc files
authorEdward Peek <edwardpeek@gmail.com>
Tue, 3 Apr 2012 18:17:00 +0000 (06:17 +1200)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Wed, 25 Sep 2013 02:45:41 +0000 (10:45 +0800)
services/input/InputReader.cpp
services/input/InputReader.h

index 5efcdc9..91909aa 100644 (file)
@@ -3420,6 +3420,8 @@ void TouchInputMapper::parseCalibration() {
             out.pressureCalibration = Calibration::PRESSURE_CALIBRATION_PHYSICAL;
         } else if (pressureCalibrationString == "amplitude") {
             out.pressureCalibration = Calibration::PRESSURE_CALIBRATION_AMPLITUDE;
+        } else if (pressureCalibrationString == "disable") {
+            out.pressureCalibration = Calibration::PRESSURE_CALIBRATION_DISABLE;
         } else if (pressureCalibrationString != "default") {
             ALOGW("Invalid value for touch.pressure.calibration: '%s'",
                     pressureCalibrationString.string());
@@ -3490,6 +3492,9 @@ void TouchInputMapper::resolveCalibration() {
     if (mRawPointerAxes.pressure.valid) {
         if (mCalibration.pressureCalibration == Calibration::PRESSURE_CALIBRATION_DEFAULT) {
             mCalibration.pressureCalibration = Calibration::PRESSURE_CALIBRATION_PHYSICAL;
+        } else if (mCalibration.pressureCalibration == Calibration::PRESSURE_CALIBRATION_DISABLE) {
+            mRawPointerAxes.pressure.valid = false;
+            mCalibration.pressureCalibration = Calibration::PRESSURE_CALIBRATION_NONE;
         }
     } else {
         mCalibration.pressureCalibration = Calibration::PRESSURE_CALIBRATION_NONE;
index 0189ba7..34bae5d 100644 (file)
@@ -1240,6 +1240,7 @@ protected:
             PRESSURE_CALIBRATION_NONE,
             PRESSURE_CALIBRATION_PHYSICAL,
             PRESSURE_CALIBRATION_AMPLITUDE,
+            PRESSURE_CALIBRATION_DISABLE,
         };
 
         PressureCalibration pressureCalibration;