summaryrefslogtreecommitdiff
path: root/data/etc/input
AgeCommit message (Collapse)Author
2024-08-01Refactor JerkTracker and MotionPredictor for better testing. Derek Wu
Changes include renaming forgetFactor to alpha. Test: atest libinput_tests Bug: 266747654 Bug: 353161308 Flag: com.android.input.flags.enable_prediction_pruning_via_jerk_thresholding Change-Id: Icd056d36a3d7894c6c9b4b957233002ad961a9a1
2024-07-15Add smoothing to jerk calculations and updated jerk thresholds. Derek Wu
Test: atest libinput_tests Test: atest CtsInputTestCases Test: atest MotionPredictorBenchmark MotionPredictorTest Test: Using stylus in a drawing app and seeing the jerk logs. Bug: 266747654 Bug: 353161308 Flag: com.android.input.flags.enable_prediction_pruning_via_jerk_thresholding Change-Id: I3d6c47d94d66e5ff2b33474acbca72daca051242
2024-04-03Update jerk thresholds for prediction pruning. Derek Wu
Jerk thresholds are higher, which means less predictions are pruned. Test: atest libinput_tests with local flag override to enable enable_prediction_pruning_via_jerk_thresholding. Test: atest CtsInputTestCases Test: atest MotionPredictorBenchmark MotionPredictorTest Test: Using stylus in a drawing app and seeing the predictions Bug: 266747654 Change-Id: I430c4cd79bfe62a339b6c14964d7d7a91facf6c2
2024-03-30Add jerk thresholded pruning. Derek Wu
This will change MotionPredictor::predict() outputs once enable_prediction_pruning_via_jerk_thresholding is enabled. Test: atest libinput_tests --host with local flag override to enable enable_prediction_pruning_via_jerk_thresholding. Test: atest CtsInputTestCases Test: atest MotionPredictorBenchmark MotionPredictorTest Bug: 266747654 Change-Id: I11eb1972246468a1f3824656f5ac57e01e0359cd
2023-07-21Update motion prediction model. Philip Quinn
Input events with no movement (r = 0) are now included in the buffer so that the model can accurately determine when the input device has become stationary, and a noise floor is added to prevent spurious predictions when this happens. Benchmark results: Old: timeRecordAndPredict_mean (ns): 17990 timeRecordAndPredict_median (ns): 18024 timeRecordAndPredict_min (ns): 17606 timeRecordAndPredict_standardDeviation: 345 New: timeRecordAndPredict_mean (ns): 38394 timeRecordAndPredict_median (ns): 38476 timeRecordAndPredict_min (ns): 38083 timeRecordAndPredict_standardDeviation: 187 Bug: 288354672 PiperOrigin-RevId: 549064247 Test: predictions are visible in the motionprediction test app Test: atest CtsInputTestCases Test: atest MotionPredictorBenchmark MotionPredictorTest Test: atest --host libinput_tests Change-Id: I6c3917591323d7117c4ee2e91abf6c6004178f19
2023-06-26Move MotionPredictor config to an XML file alongside the model. Philip Quinn
Test: atest libinput_tests Fixes: 266747937 Change-Id: Ic5ec548d2edc8bad5e8b88aaf8511cd297a89275
2023-01-26Add TFLite model for motion prediction. Philip Quinn
This model generates probabilistic motion predictions based on a sequence of relative input movements. The input movements are converted into polar coordinates (distance and angle) based on an axis that follows the current path. This ensures that the orientation of the device and of the inputs do not affect the predictions. The orientation of the input device is also transformed to be relative to the path axis. The test cases verifying model efficacy are consolidated into CTS. Bug: 167946763 Test: atest libinput_tests PiperOrigin-RevId: 492068340 Change-Id: Icd8d90bd5a7ce79c699bfdb6367a4cbd8130441a