Button Mapper makes it easy to map custom actions to your volume buttons, Bixby button or other hardware buttons. Remap buttons to launch any app, shortcut or custom action with a single, double press or long press. Root is not required.

Button Mapper can remap most physical or capacitive keys and buttons, such as volume buttons, the Bixby button on Samsung Galaxy devices, and the capacitive home, back and recent apps keys found on devices by Samsung, ASUS, HTC, OnePlus, Xiaomi and others. Button Mapper can also remap buttons on many gamepads and other peripheral devices.

Button Mapper does not work when the screen is off unless your device is rooted or you run a special adb command.

A few examples of remapping you can do with Button Mapper:
-long press to toggle your flashlight
-show ring volume by default on Android Pie and later
-press to broadcast custom Android intents, scripts or commands
-long press to open camera and take a photo
-double tap to launch your favorite app or shortcut
-long press your home button to turn off the screen
-double tap button to open your notifications
-swap your back and recent apps keys (capacitive buttons only!)
-use your volume buttons to adjust screen brightness
-long pressto toggle "do not disturb" mode
-and much more, the possibilities are endless

Additional features unlocked in the pro version:
-Simulate keycodes (requires adb command or root)
-Swap volume keys on orientation change
-Default to media volume (or ring volume on Android Pie or later)
-Pocket detection
-Themes
-Customization of haptic feedback (vibration) on button press and long press

Actions that can be mapped to buttons or keys:
-Launch any app or shortcut
-Disable the button
-Broadcast intents (PRO)
-Run scripts (PRO)
-Camera shutter
-Turn screen off
-Toggle flashlight
-Quick settings
-Show notifications
-Power dialog
-Take screenshot
-Music: previous/next track and play/pause
-Adjust volume
-Mute
-Last app switch
-Toggle do not disturb
-Adjust brightness
-Now on tap (root)
-Menu button (root)
-Choose custom keycode (root and PRO)
-Root command (root and PRO)
-Toggle WiFi
-Toggle Bluetooth
-Toggle rotation
-Clear notifications
-Split screen
-Scroll up/down (root)
-And many more...

Buttons supported:
-Home
-Back
-Recent apps or Menu
-Volume up
-Volume down
-Active edge on Pixel 2/Pixel 2 XL
-Bixby button on Samsung S8/S8+/S9/S9+/Note 8/Note 9
-Camera button
-Headsethook button
-Custom buttons: add other buttons (active, mute, etc) on your phone, headphones, gamepads, Android TV and other peripheral devices

Additional options:
-change the long press or double tap duration
-delay initial button press for better double tap operation
-disable Button Mapper while using specific apps

Troubleshooting:
-For Bixby on unrooted devices, make sure you don't disable Bixby Voice
-Make sure Button Mapper is exempt from any kind of battery optimization, task killers or other things that may interfere
-Button Mapper does not work with onscreen buttons (such as soft keys or the navigation bar) or the power button.
-The options shown in the app depend on the buttons available on your phone. Not all phones have home, back and recents buttons!

This app uses Accessibility services. Accessibility is used to detect when the physical or capacitive buttons are pressed on your device so they can be remapped to custom actions to accommodate your needs. It is not used to see what you type. Button Mapper does not collect or share any of your personal information with third parties

This app uses the Device Administrator permission. (BIND_DEVICE_ADMIN)
This permission is used to lock the screen if the "Turn screen off" action is chosen. If you want to remove this permission, open Button Mapper, click on the menu (three dots in the upper right corner) and select "Uninstall"
From version Button Mapper: Remap your keys 1.29:
-fingerprint gestures (Google phones only, reboot required)
-fix long press volume
-new custom keycodes method (faster + one-time adb setup)
-do not disturb: choose block everything, alarms allowed or custom
-keep screen on
-toggle portrait/landscape
-camera shutter
-Android TV fixes
-Active Edge remapping for Pixel 3a
-component and data field for custom intents
-improve flashlight + brightness option
-Zello PTT for camera button
-optimizations and bugfixes
-update translations
All versions