Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d39bf70 authored by Harry Cutts's avatar Harry Cutts Committed by Android Build Coastguard Worker
Browse files

InputDevice: switch Sony DualShock 4 to new touchpad stack

Bug: 329585708
Test: use the DS4's touchpad over USB and Bluetooth, check it works
      smoothly (or, as smoothly as it did with the old stack)
Test: atest inputflinger_tests
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:7577a066e32bbf87bbecc574ce7de75f1848ea91)
Merged-In: Ie57b7112bcaa2306b2b5171707822c46bc9f2c52
Change-Id: Ie57b7112bcaa2306b2b5171707822c46bc9f2c52
parent 7fe89274
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -509,13 +509,8 @@ std::vector<std::unique_ptr<InputMapper>> InputDevice::createMappers(
    // Touchscreens and touchpad devices.
    static const bool ENABLE_TOUCHPAD_GESTURES_LIBRARY =
            sysprop::InputProperties::enable_touchpad_gestures_library().value_or(true);
    // TODO(b/272518665): Fix the new touchpad stack for Sony DualShock 4 (5c4, 9cc) touchpads, or
    // at least load this setting from the IDC file.
    const InputDeviceIdentifier identifier = contextPtr.getDeviceIdentifier();
    const bool isSonyDualShock4Touchpad = identifier.vendor == 0x054c &&
            (identifier.product == 0x05c4 || identifier.product == 0x09cc);
    if (ENABLE_TOUCHPAD_GESTURES_LIBRARY && classes.test(InputDeviceClass::TOUCHPAD) &&
        classes.test(InputDeviceClass::TOUCH_MT) && !isSonyDualShock4Touchpad) {
        classes.test(InputDeviceClass::TOUCH_MT)) {
        mappers.push_back(createInputMapper<TouchpadInputMapper>(contextPtr, readerConfig));
    } else if (classes.test(InputDeviceClass::TOUCH_MT)) {
        mappers.push_back(createInputMapper<MultiTouchInputMapper>(contextPtr, readerConfig));