Rooted users have been able to remap their hardware buttons since the earliest days of Android, allowing them to change the functionality behind one of the most centralized methods of interacting with a phone or tablet. Up until now, however, non-rooted users have been left out in the cold, meaning these buttons could only perform the functions assigned to them by the device manufacturer.
But an app from legendary ElementalX developer Aaron Segaert is looking to change all of this. With this one installed, you'll be able to assign custom actions to your volume and home buttons, plus it even works with capacitive keys, and it does all of this without requiring root.
Button Mapper was in beta, but now you can install the app without joining the beta program. Just note that this app is still in its infancy, hence why it says "Unreleased" on Google Play, so it could still have those beta jitters.
When you first launch Button Mapper, you'll have to do some initial setup. To start, press the "Go" button on the message at the bottom of your screen. From here, select the "Button Mapper" option from the list, then enable the app's Accessibility plugin with the switch at the top of the screen, and press "OK" on the popup.
Next, head back to the app, where you'll see a list of all the eligible buttons on your device. To remap a button, simply select it from this list, then enable the "Customize" switch at the top of the following screen.
From here, you can assign a custom single tap or long press action for this button. And if you buy the pro version for $2.49 (via in-app purchase), you can even add a double-tap action. To do so, simply select either "Single tap," "Double tap," or "Long press" on this menu, then choose a custom action from the list. If you'd rather have this button launch an app or activity, you can use the drop-down menu at the top of this popup to see more actions.
After you're finished here, simply repeat this same process for any other eligible hardware button. The changes take effect on the fly, so there's no need to reboot your device. Once you've finished setting everything up, your hardware buttons will now have completely different functionality—all without requiring root.