Loading services/inputflinger/InputReader.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -2752,6 +2752,11 @@ void TouchInputMapper::configure(nsecs_t when, resolveCalibration(); } if (!changes || (changes & InputReaderConfiguration::TOUCH_AFFINE_TRANSFORMATION)) { // Update location calibration to reflect current settings updateAffineTransformation(); } if (!changes || (changes & InputReaderConfiguration::CHANGE_POINTER_SPEED)) { // Update pointer speed. mPointerVelocityControl.setParameters(mConfig.pointerVelocityControlParameters); Loading Loading @@ -3654,6 +3659,10 @@ void TouchInputMapper::dumpAffineTransformation(String8& dump) { dump.appendFormat(INDENT4 "Y offset: %0.3f\n", mAffineTransform.y_offset); } void TouchInputMapper::updateAffineTransformation() { mAffineTransform = getPolicy()->getTouchAffineTransformation(mDevice->getDescriptor()); } void TouchInputMapper::reset(nsecs_t when) { mCursorButtonAccumulator.reset(getDevice()); mCursorScrollAccumulator.reset(getDevice()); Loading services/inputflinger/InputReader.h +9 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,9 @@ struct InputReaderConfiguration { // The device name alias supplied by the may have changed for some devices. CHANGE_DEVICE_ALIAS = 1 << 5, // The location calibration matrix changed. TOUCH_AFFINE_TRANSFORMATION = 1 << 6, // All devices must be reopened. CHANGE_MUST_REOPEN = 1 << 31, }; Loading Loading @@ -304,6 +307,10 @@ public: /* Gets a user-supplied alias for a particular input device, or an empty string if none. */ virtual String8 getDeviceAlias(const InputDeviceIdentifier& identifier) = 0; /* Gets the affine calibration associated with the specified device. */ virtual TouchAffineTransformation getTouchAffineTransformation( const String8& inputDeviceDescriptor) = 0; }; Loading Loading @@ -535,6 +542,7 @@ public: inline int32_t getControllerNumber() const { return mControllerNumber; } inline int32_t getGeneration() const { return mGeneration; } inline const String8& getName() const { return mIdentifier.name; } inline const String8& getDescriptor() { return mIdentifier.descriptor; } inline uint32_t getClasses() const { return mClasses; } inline uint32_t getSources() const { return mSources; } Loading Loading @@ -1366,6 +1374,7 @@ protected: virtual void dumpCalibration(String8& dump); virtual void dumpAffineTransformation(String8& dump); virtual bool hasStylus() const = 0; virtual void updateAffineTransformation(); virtual void syncTouch(nsecs_t when, bool* outHavePointerIds) = 0; Loading services/inputflinger/tests/InputReader_test.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -173,6 +173,10 @@ public: return mInputDevices; } TouchAffineTransformation getTouchAffineTransformation(const String8& inputDeviceDescriptor) { return TouchAffineTransformation(); } private: virtual void getReaderConfiguration(InputReaderConfiguration* outConfig) { *outConfig = mConfig; Loading Loading
services/inputflinger/InputReader.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -2752,6 +2752,11 @@ void TouchInputMapper::configure(nsecs_t when, resolveCalibration(); } if (!changes || (changes & InputReaderConfiguration::TOUCH_AFFINE_TRANSFORMATION)) { // Update location calibration to reflect current settings updateAffineTransformation(); } if (!changes || (changes & InputReaderConfiguration::CHANGE_POINTER_SPEED)) { // Update pointer speed. mPointerVelocityControl.setParameters(mConfig.pointerVelocityControlParameters); Loading Loading @@ -3654,6 +3659,10 @@ void TouchInputMapper::dumpAffineTransformation(String8& dump) { dump.appendFormat(INDENT4 "Y offset: %0.3f\n", mAffineTransform.y_offset); } void TouchInputMapper::updateAffineTransformation() { mAffineTransform = getPolicy()->getTouchAffineTransformation(mDevice->getDescriptor()); } void TouchInputMapper::reset(nsecs_t when) { mCursorButtonAccumulator.reset(getDevice()); mCursorScrollAccumulator.reset(getDevice()); Loading
services/inputflinger/InputReader.h +9 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,9 @@ struct InputReaderConfiguration { // The device name alias supplied by the may have changed for some devices. CHANGE_DEVICE_ALIAS = 1 << 5, // The location calibration matrix changed. TOUCH_AFFINE_TRANSFORMATION = 1 << 6, // All devices must be reopened. CHANGE_MUST_REOPEN = 1 << 31, }; Loading Loading @@ -304,6 +307,10 @@ public: /* Gets a user-supplied alias for a particular input device, or an empty string if none. */ virtual String8 getDeviceAlias(const InputDeviceIdentifier& identifier) = 0; /* Gets the affine calibration associated with the specified device. */ virtual TouchAffineTransformation getTouchAffineTransformation( const String8& inputDeviceDescriptor) = 0; }; Loading Loading @@ -535,6 +542,7 @@ public: inline int32_t getControllerNumber() const { return mControllerNumber; } inline int32_t getGeneration() const { return mGeneration; } inline const String8& getName() const { return mIdentifier.name; } inline const String8& getDescriptor() { return mIdentifier.descriptor; } inline uint32_t getClasses() const { return mClasses; } inline uint32_t getSources() const { return mSources; } Loading Loading @@ -1366,6 +1374,7 @@ protected: virtual void dumpCalibration(String8& dump); virtual void dumpAffineTransformation(String8& dump); virtual bool hasStylus() const = 0; virtual void updateAffineTransformation(); virtual void syncTouch(nsecs_t when, bool* outHavePointerIds) = 0; Loading
services/inputflinger/tests/InputReader_test.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -173,6 +173,10 @@ public: return mInputDevices; } TouchAffineTransformation getTouchAffineTransformation(const String8& inputDeviceDescriptor) { return TouchAffineTransformation(); } private: virtual void getReaderConfiguration(InputReaderConfiguration* outConfig) { *outConfig = mConfig; Loading