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>
Tue, 22 Dec 2015 04:05:53 +0000 (12:05 +0800)
services/inputflinger/InputReader.cpp
services/inputflinger/InputReader.h

index e0a9042..5ed33a9 100644 (file)
@@ -3465,6 +3465,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());
@@ -3535,6 +3537,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 c5896d4..d5c8455 100644 (file)
@@ -1280,6 +1280,7 @@ protected:
             PRESSURE_CALIBRATION_NONE,
             PRESSURE_CALIBRATION_PHYSICAL,
             PRESSURE_CALIBRATION_AMPLITUDE,
+            PRESSURE_CALIBRATION_DISABLE,
         };
 
         PressureCalibration pressureCalibration;