[Android Apps and Games] sds100:
Hello there! :)

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. :o Please post your thoughts in the thread or send me an email.

First things first...

Downloads!

XDA Labs: https://labs.xda-developers.com/store/app/io.github.sds100.keymapper

Google Play: https://play.google.com/store/apps/details?id=io.github.sds100.keymapper

F-Droid: https://f-droid.org/en/packages/io.github.sds100.keymapper/

GitHub: https://github.com/sds100/KeyMapper/releases

Source code

https://github.com/sds100/KeyMapper

Donations

Ko-Fi: https://ko-fi.com/sethschroeder

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.

Planned features

• 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.