Key Mapper is an open source key mapping application, which aims to remap any combination of your keys/buttons and provide unique features.
It is currently in beta and any feedback (positive or negative) would be greatly appreciated. Please post your thoughts in the thread or send me an email.
First things first...
XDA Labs: https://labs.xda-developers.com/stor...s100.keymapper
Google Play: https://play.google.com/store/apps/d...s100.keymapper
What can be remapped?
There is NO GUARANTEE any of these buttons will work and this app isn't designed to control games. Your device's OEM/vendor can prevent them from being remapped.
ONLY HARDWARE buttons can be remapped.
• Volume buttons.
• Navigation buttons.
• Bluetooth/wired keyboards and mice connected to your device.
• Buttons on other connected devices should also work but there is no guarantee.
You can combine multiple keys to form a "trigger" and have as many triggers as you want for each action. You can make a key map only work on a long press and to vibrate as well.
What can’t be remapped?
• Pixel Active Edge
• OnePlus Alert Slider
• Power button
• Bixby button
Your key maps don't work if the screen is OFF.
What can I remap my keys to do?
Some actions will only work on rooted devices and specific Android versions.
• Open an app
• Open an app shortcut. This feature is very useful since you can tell another app to do something Key Mapper can’t. E.g If your launcher has a shortcut to open the app drawer, you can select that shortcut in this app and make any button open the app drawer.
• Go back
• Go home
• Open recents
• Open menu
• Expand notification drawer
• Expand quick settings
• Collapse status bar
• Toggle/enable/disable WiFi
• Toggle/enable/disable Bluetooth
• Toggle/enable/disable mobile data (ROOT only)
• Toggle/enable/disable NFC (ROOT only)
• Toggle Play/pause media
• Pause/play media
• Next/previous track
• Fast forward/rewind
• Volume up/down
• Increase/decrease a specific volume stream
• Cycle through and change the ringer mode
• Show the volume dialog
• Mute/unmute/toggle mute (Android 6.0+)
• Toggle/enable/disable auto-rotate
• Force portrait/landscape mode
• Switch between portrait and landscape mode
• Toggle/enable/disable auto-brightness
• Increase/decrease brightness
• Toggle/enable/disable flashlight (Android 6.0+)
• Take a screenshot (Android 9.0+)
• Open the Google Assistant
• Open camera
• Consume key event (Do nothing)
• Lock the device
• Move the cursor to the end
• Toggle/show/hide the keyboard
• Show the keyboard picker (ROOT only for Android 8.1+)
The Key Mapper input method needs to be selected for these to work and you can’t use a soft keyboard at the same time:
• Input a specific keycode
• Input a key
• Insert a block of text
More will be added. If you have any ideas, leave a comment or email the developer.
What other things can the app do?
• Option to show a persistent notification which can pause/resume your keymaps. It can also open the accessibility settings on the device to enable/disable the service. Rooted devices can start/stop the accessibility service without going into settings and just tap the notification.
• Automatically change the input method to the Key Mapper one and/or show the input method picker when a chosen Bluetooth device is connected and switch back to the old one when it is disconnected.
• Option to show a toast message whenever an action is performed.
• Option to log events and send them to the developer so it is easier to debug issues with the app.
• Double tap to perform an action
• Remap media (i.e volume, headset) buttons when the screen is off. Android only allows apps to detect media buttons when the screen is off.
• Action to broadcast an intent with extras.
• Multiple profiles which can be activated and deactivated automatically when a Bluetooth device is connected or when you open an app.
• Integrate the AOSP keyboard into the Key Mapper input method so a soft keyboard can be used at the same time.