summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-03-18 22:52:36 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-03-18 22:52:36 +0000
commit46d317c1ce46ba2cef41b0258cf73761189a80b5 (patch)
treef4ffc17972400ecde6f53eaafd9368bf8f0b2983
parent25530406d7584bb9997bb5469c421d5b9547bedc (diff)
parent8a83fb37ca2c95646ad9d0f85efeaf613d12eba4 (diff)
Merge "Sony DualShock 4: disable drumroll detection by speed change" into main
-rw-r--r--data/keyboards/Vendor_054c_Product_05c4.idc22
-rw-r--r--data/keyboards/Vendor_054c_Product_09cc.idc22
2 files changed, 42 insertions, 2 deletions
diff --git a/data/keyboards/Vendor_054c_Product_05c4.idc b/data/keyboards/Vendor_054c_Product_05c4.idc
index 2cb3f7b90fed..b3df9a066305 100644
--- a/data/keyboards/Vendor_054c_Product_05c4.idc
+++ b/data/keyboards/Vendor_054c_Product_05c4.idc
@@ -13,9 +13,11 @@
# limitations under the License.
#
-# Sony DS4 motion sensor configuration file.
+# Sony Playstation(R) DualShock 4 Controller
#
+## Motion sensor ##
+
# reporting mode 0 - continuous
sensor.accelerometer.reportingMode = 0
# The delay between sensor events corresponding to the lowest frequency in microsecond
@@ -33,3 +35,21 @@ sensor.gyroscope.maxDelay = 100000
sensor.gyroscope.minDelay = 5000
# The power in mA used by this sensor while in use
sensor.gyroscope.power = 0.8
+
+## Touchpad ##
+
+# After the DualShock 4 has been connected over Bluetooth for a minute or so,
+# its reports start bunching up in time, meaning that we receive 2–4 reports
+# within a millisecond followed by a >10ms wait until the next batch.
+#
+# This uneven timing causes the apparent speed of a finger (calculated using
+# time deltas between received reports) to vary dramatically even if it's
+# actually moving smoothly across the touchpad, triggering the touchpad stack's
+# drumroll detection logic, which causes the finger's single smooth movement to
+# be treated as many small movements of consecutive touches, which are then
+# inhibited by the click wiggle filter.
+#
+# Since this touchpad does not seem vulnerable to click wiggle, we can safely
+# disable drumroll detection due to speed changes (by setting the speed change
+# threshold very high, since there's no boolean control property).
+gestureProp.Drumroll_Max_Speed_Change_Factor = 1000000000
diff --git a/data/keyboards/Vendor_054c_Product_09cc.idc b/data/keyboards/Vendor_054c_Product_09cc.idc
index 2cb3f7b90fed..b3df9a066305 100644
--- a/data/keyboards/Vendor_054c_Product_09cc.idc
+++ b/data/keyboards/Vendor_054c_Product_09cc.idc
@@ -13,9 +13,11 @@
# limitations under the License.
#
-# Sony DS4 motion sensor configuration file.
+# Sony Playstation(R) DualShock 4 Controller
#
+## Motion sensor ##
+
# reporting mode 0 - continuous
sensor.accelerometer.reportingMode = 0
# The delay between sensor events corresponding to the lowest frequency in microsecond
@@ -33,3 +35,21 @@ sensor.gyroscope.maxDelay = 100000
sensor.gyroscope.minDelay = 5000
# The power in mA used by this sensor while in use
sensor.gyroscope.power = 0.8
+
+## Touchpad ##
+
+# After the DualShock 4 has been connected over Bluetooth for a minute or so,
+# its reports start bunching up in time, meaning that we receive 2–4 reports
+# within a millisecond followed by a >10ms wait until the next batch.
+#
+# This uneven timing causes the apparent speed of a finger (calculated using
+# time deltas between received reports) to vary dramatically even if it's
+# actually moving smoothly across the touchpad, triggering the touchpad stack's
+# drumroll detection logic, which causes the finger's single smooth movement to
+# be treated as many small movements of consecutive touches, which are then
+# inhibited by the click wiggle filter.
+#
+# Since this touchpad does not seem vulnerable to click wiggle, we can safely
+# disable drumroll detection due to speed changes (by setting the speed change
+# threshold very high, since there's no boolean control property).
+gestureProp.Drumroll_Max_Speed_Change_Factor = 1000000000