A sophisticated input hardware management tool for Android. Made for BlissOS first and foremost.
- Manual Blacklist inputs with 2 modes:
- Soft Blocking: apply InputManager.disableInputDevice() at boot or on click. This method is quick & immediately, however because it rely on a service to disable the input at boot, inputs will still be active until the service kick in.
- Hard Blocking: basically create an xml that is equivalent to
excluded-input-devices.xmlfile. This method provide a more robust blocking. However you'll have to reboot the device whenever you're done selecting inputs.
- Automatically disable inputs using Tablet Mode Switch:
- Convertible 2-in-1 laptops with touchscreens usually provide a sensor. On Linux this sensor provides an input event called
SW_TABLET_MODEthat can be used to detect whenever the laptop is being flipped or not to automatically disable some components such as the internal keyboard, touchpad or trackpoint. We brought this same mechanism to Inputctl, but inputs have to choose manually.
- Convertible 2-in-1 laptops with touchscreens usually provide a sensor. On Linux this sensor provides an input event called
- Show a toast whenever the device is flipped to indicate that X inputs has been disabled.
- You can find the app under Settings => System => Inputctl.
- Sync this repo to
packages/apps/Inputctl. - Add
Inputctlto yourPRODUCT_PACKAGES:
PRODUCT_PACKAGES += \
Inputctl- You'll need to apply these patches to
frameworks/basefor some features to work:- For Hard Blocking: InputManagerService: read a custom excluded-input-devices.xml file at /data/system
- Allow Inputctl to check which input has a Tablet Mode Switch : core: Expose method to get switch state from inputs
This is an open-source project by BlissLabs (https://blisslabs.org), released and protected under the Apache License 2.0.
Copyright © 2026 BlissLabs.