summaryrefslogtreecommitdiff
path: root/services/inputflinger/aidl
AgeCommit message (Collapse)Author
2024-09-03Add dump for Input filter rust components Vaibhav Devmurari
Test: None Bug: 245989146 Flag: EXEMPT bugfix Change-Id: I214e6c1e017a720fa38c55b7dd83a653db71381f
2024-09-02Support bounce and slow keys for internal Alphabetic keyboards Vaibhav Devmurari
Test: atest --host libinputflinger_rs_test Bug: 294546335 Flag: EXEMPT bugfix Change-Id: I590e9494f1bab562ac2b3c085781f05f2c250314
2024-04-03Rely on C++ wake and sleep calls for InputFilter thread Vaibhav Devmurari
Earlier, we used rust thread park()/unpark() to put the thread to sleep and wake up from sleep. But that caused some breakages after migrating the rust system crates to 2021 edition. Since, the threads are created in C++, it was more reliable to rely on C++ side of the implementation to implement the sleep and wake functions. Test: atest --host libinputflinger_rs_test Test: manual Bug: 294546335 Change-Id: I2eecae4716529d9d4cdd70ab22e784afc68648bf
2024-01-23Add slow_keys input filter Vaibhav Devmurari
DD: go/pk_accessibility ‘Slow keys’ is an accessibility feature to aid users who have physical disabilities, that allows the user to specify the duration for which one must press-and-hold a key before the system accepts the keypress. Note: As part of this CL, introduced threading in input_filter stage in RUST. Due to Jni requirements, have used the utils/Thread.h impl to create a thread and pass it over to rust for handling. Test: atest --host libinputflinger_rs_test Bug: 294546335 Change-Id: Ib418c133e09f3085e5fe78991068d4be9ed09ed9
2023-12-14Add sticky keys input filter Vaibhav Devmurari
DD: go/pk_accessibility 'Sticky keys' is an accessibility feature that assists users who have physical disabilities or help users reduce repetitive strain injury. It serializes keystrokes instead of pressing multiple keys at a time, allowing the user to press and release a modifier key, such as Shift, Ctrl, Alt, or any other modifier key, and have it remain active until any other key is pressed. Bug: 294546335 Test: TEST=libinputflinger_rs_test; m $TEST && $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST Change-Id: Id26ed4a949e929cb6af8b9ecf1cd95c48fe20486
2023-12-08Add bounce keys input filter Vaibhav Devmurari
DD: go/pk_accessibility Bug: 294546335 Test: TEST=libinputflinger_rs_test; m $TEST && $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST Change-Id: Id38b3d0fc830d16327b36d1b4376c0a66b6551aa
2023-11-15Add InputFilter rust component as InputListener stage. Vaibhav Devmurari
Test: TEST=libinputflinger_rs_test; m $TEST && $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST Bug: 294546335 Change-Id: I2731d45f141c12c1e61b794ee614690b0a121e28
2023-08-17Bootstrap IInputFlingerRust - the Rust component of inputflinger Prabir Pradhan
When inputflinger boots, we create the Rust component of inputflinger, which we interact with from C++ through the local AIDL interface IInputFlingerRust. After we have access to the IInputFlingerRust binder object in C++, all communication between C++ and Rust can take place purely through AIDL interfaces. To initialize the interface, we must first pass a raw pointer to an AIDL implementation across the language barrier through some other means. In this CL, we use cxxbridge to bootstrap the local AIDL interface for IInputFlingerRust. Bug: 278783893 Test: manual, boot Change-Id: Ifbd0168ae4fadaa5b357f6064113f1691e6cf5a7