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

Commit b0061268 authored by Harry Cutts's avatar Harry Cutts Committed by David Lin
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
24D1-dev is based on 24Q2-release. Therefore, we merged this CL to 24D1-dev.
parent b5f3b9b8
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));