Ax86 Button Manager
Button Manager maps hardware function keys (P1, P2, P3, and similar) on generic x86 devices to actions and device controls. It is a privileged, platform-signed system app with a Settings entry, an AIDL service, and a cmd handler.
--btnmgr is independent of --extras.
What it does
Open Button Manager from Settings, then add or edit a mapping:
- Enter a label for the button.
- Tap Learn button, then press the hardware key. The app fills in the device name, scan code, and suggested Android keycode.
- Pick an action (screenshot, key event, key combo, activity, device control, broadcast, or passthrough).
- Save.
Learn mode uses the raw evdev path (MSC_SCAN), so it works for keys that Android does not always deliver as normal KeyEvents (for example Dell WMI hotkeys).
Actions
Config field details: Config Format.
AIDL and cmd reference: AIDL Interface.
Common ADB commands
adb shell cmd ax86_btnmgr list
adb shell cmd ax86_btnmgr reload
adb shell cmd ax86_btnmgr export /sdcard/ax86_btn_manager.conf
adb shell cmd ax86_btnmgr import /data/misc/ax86_btn_manager.conf --merge
Push a hand-edited config and reload:
adb push ax86_btn_manager.conf /data/misc/
adb shell cmd ax86_btnmgr reload
Dump logs from a hardware key
If the build also includes Ax86 Logger, map a button to broadcast with intent:
com.ax86.logger.action.DUMP_LOGS
Pressing that key copies the rolling logs to a mounted USB drive.
Build
./build.sh --btnmgr ...