KeyMapper

An Android app that change what the buttons do on your devices!

GPL-3.0 License

Stars
1K

Bot releases are visible (Hide)

KeyMapper - 2.3.0 Beta 2

Published by sds100 over 3 years ago

🎉 A new website with tutorials!!! 🎉
Check it out at docs.keymapper.club.

• Action to broadcast intent, start activity and start service.
• Action to toggle the notification drawer and the quick settings drawer.
• Action to call a phone number.
• A repeat limit action option.
• A logging page.

A lot of bug fixes and performance improvements.

See the changelog at changelog.keymapper.club for more details.

KeyMapper - 2.3.0 Beta 1

Published by sds100 over 3 years ago

🎉 A new website with tutorials!!! 🎉
Check it out at docs.keymapper.club.

• Action to broadcast intent, start activity and start service.
• Action to toggle the notification drawer and the quick settings drawer.
• Action to call a phone number.
• A repeat limit action option.
• A logging page.

A lot of bug fixes and performance improvements.

See the changelog at changelog.keymapper.club for more details.

KeyMapper - 2.2.0

Published by sds100 over 3 years ago

This sums up all the changes for 2.2

Added

  • Remap fingerprint gestures! #378
    Android 8.0+ and only on devices which support them. Even devices with the setting to swipe down for notifications might not support this! The dev can't do anything about this.

  • Widget/shortcut to launch actions. #459

  • Setting to show the first 5 digits of input devices so devices with the same name can be differentiated in Key Mapper lists. #470

  • Show a warning at the top of the homescreen if the user hasn't disabled battery optimisation for Key Mapper. #496

  • Action option to hold down until the trigger is pressed again. #479

  • Action option to change the delay before the next action in the list. #476

  • Orientation constraint. #505

  • Key Event action option to pretend that the Key Event came from a particular device. #509

  • Use duplicates of the same key in a sequence trigger. #513

  • Show the fingerprint gesture intro slide when updating to 2.2 #545

  • Show a silent notification, which advertises the remapping fingerprint gesture feature, when the user updates to 2.2 #546

  • Trigger key maps from an Intent #490

  • Prompt the user to go to https://dontkillmyapp.com when they first setup the app.

  • Add Fdroid link to the Key Mapper GUI Keyboard ad. #524

BREAKING CHANGES

Changes

  • No max limit for sliders (except in settings). #458
  • The app intro slides will show feedback if the steps have been done correctly.

Removed

  • XDA Labs links because it has been shut down.

Bug Fixes

  • Save and restore state for all view models. #519
  • Use View Binding in fragments properly. This should stop random crashes for some users. #518
  • Hold Down action option doesn't work for long press triggers. #504
  • A trigger for a specific device can still be detected if the same buttons on another device are pressed. #523
  • Fix layout of the trigger fragment on some screen sizes so that some things aren't cut off. #522
  • Remapping modifier keys to the same key didn't work as expected. #563
  • Parallel triggers which contained another parallel trigger didn't cancel the other. #571
  • Don't allow screen on/off constraints for fingerprint gestures #570
  • Rename Key Mapper CI Keyboard to Key Mapper CI Basic Input Method.
  • Notifications had no icon on Android Lollipop.
  • remove coloured navigation bar on Android Lollipop.
  • Hold Down option wasn't allowed on Android 8.0 or older.
  • Detecting whether remapping fingerprint gestures are supported didn't work.
  • The flashlight action would sometimes crash the app.
  • The error message for an app being disabled was the wrong one.
  • Actions to open Android TV apps didn't work #503
  • The app list didn't show Android TV-only apps. #487
  • Settings for repeat rate and delay until repeat didn't match their names when configuring an action.
  • Text would move up/down when sliding between slides in the app intro. #540
  • Icon for "specific app playing media" constraint had the wrong tint. #535
  • Limit Media actions to Android 4.4 KitKat+ because they don't work on older versions.
  • Up Key Event was sent from all keymaps with the "hold down" action option regardless of whether the trigger was released. #533
  • Testing actions didn't work.
  • Scroll position was lost when reloading the key map list.
  • Try to fix random crashes when navigating.
  • Duplicating key maps didn't work.
KeyMapper - 2.2.0 Beta 2

Published by sds100 over 3 years ago

Added

  • Remap fingerprint gestures! #378
    Android 8.0+ and only on devices which support them. Even devices with the setting to swipe down for notifications might not support this! The dev can't do anything about this.
  • Show the fingerprint gesture intro slide when updating to 2.2 #545
  • Show a silent notification, which advertises the remapping fingerprint gesture feature, when the user updates to 2.2 #546
  • Trigger key maps from an Intent #490
  • Prompt the user to go to https://dontkillmyapp.com when they first setup the app.
  • Add Fdroid link to the Key Mapper GUI Keyboard ad. #524

BREAKING CHANGES

Changes

  • The app intro slides will show feedback if the steps have been done correctly.

Removed

  • XDA Labs links because it has been shut down.

Bug Fixes

  • Remapping modifier keys to the same key didn't work as expected. #563
  • Parallel triggers which contained another parallel trigger didn't cancel the other. #571
  • Don't allow screen on/off constraints for fingerprint gestures #570
  • Rename Key Mapper CI Keyboard to Key Mapper CI Basic Input Method.
  • Notifications had no icon on Android Lollipop.
  • remove coloured navigation bar on Android Lollipop.
  • Hold Down option wasn't allowed on Android 8.0 or older.
  • Detecting whether remapping fingerprint gestures are supported didn't work.
  • The flashlight action would sometimes crash the app.
  • The error message for an app being disabled was the wrong one.
  • Actions to open Android TV apps didn't work #503
  • The app list didn't show Android TV-only apps. #487
  • Settings for repeat rate and delay until repeat didn't match their names when configuring an action.
  • Text would move up/down when sliding between slides in the app intro. #540
  • Icon for "specific app playing media" constraint had the wrong tint. #535
  • Limit Media actions to Android 4.4 KitKat+ because they don't work on older versions.
  • Up Key Event was sent from all keymaps with the "hold down" action option regardless of whether the trigger was released. #533
  • Testing actions didn't work.
  • Scroll position was lost when reloading the key map list.
  • Try to fix random crashes when navigating.
  • Duplicating key maps didn't work.
KeyMapper - 2.2.0 Beta 1

Published by sds100 almost 4 years ago

Added

  • Remap fingerprint gestures! #378
    Android 8.0+ and only on devices which support them. Even devices with the setting to swipe down for notifications might not support this! The dev can't do anything about this.

  • Widget/shortcut to launch actions. #459

  • Setting to show the first 5 digits of input devices so devices with the same name can be differentiated in Key Mapper lists. #470

  • Show a warning at the top of the homescreen if the user hasn't disabled battery optimisation for Key Mapper. #496

  • Action option to hold down until the trigger is pressed again. #479

  • Action option to change the delay before the next action in the list. #476

  • Orientation constraint. #505

  • Key Event action option to pretend that the Key Event came from a particular device. #509

  • Use duplicates of the same key in a sequence trigger. #513

Changes

  • No max limit for sliders (except in settings). #458

Bug Fixes

  • Save and restore state for all view models. #519
  • Use View Binding in fragments properly. This should stop random crashes for some users. #518
  • Hold Down action option doesn't work for long press triggers. #504
  • A trigger for a specific device can still be detected if the same buttons smb://@sds-pc.local:445/Home/Desktop/Android-Projects/release/keymapper-2.2.0-beta.1.apkon another device are pressed. #523
  • Fix layout of the trigger fragment on some screen sizes so that some things aren't cut off. #522
KeyMapper - 2.1.0

Published by sds100 almost 4 years ago

Added

  • Support for Android 11.
  • Backup/Restore keymaps.
  • Option for keycode actions to simulate holding the key down.
  • Button to show system packages as well in the app list.
  • Action to create Key Event with optional modifiers.
  • Action to select word at cursor.
  • Action to toggle the screen on and off.
  • Action to tap a coordinate on the screen. The user and the app can NOT touch the screen at the same time. This is a
    limitation in Android.
  • Action to double press recents to go to last app.
  • Dismiss button to the notification that pauses/resumes keymaps. It will be shown again when the app is opened.
  • Show a warning dialog when leaving the screen to configure a keymap without saving.
  • Keymaps can have multiple of the same action. There is now a slider in the action options called "Action Count".
  • Can detect the headset button when the screen is off.
  • Prompt the user to reboot their device if they fail to record a trigger 2 times in a row.
  • Show a toast after using the Screenshot (ROOT) action.
  • Consuming the key event is optional for each key.

Changed

  • Don't hide the Repeat option if there is no trigger.

Fixes

  • Caps Lock key still caps lock when remapped.
  • When making a parallel trigger, the keys don't all have the same click type.
  • Dragging trigger keys by the remove button would cause a crash
  • stop recording if the user leaves the Trigger fragment
  • The Menu (ROOT) action was slow
  • show a toast if there is an IOException when detecting buttons when the screen is off.
  • Remapping modifier keys to modifier keys doesn't work as expected.
  • the Screenshot (ROOT) action didn't create the Pictures and Screenshots directories. Therefore, it didn't save the screenshot.
  • Hold Down action option didn't work for long-press triggers.
  • Opening a keymap with a long-press parallel trigger would set it to short press.
  • Crash if a modifier key trigger is not mapped to a Key Event action.
  • Potential crash when showing keymaps on the homescreen.
  • Attempt to fix the problem of the accessibility service being enabled but broken on some devices.
  • Typo in the dialog message prompting the user to reboot.
  • The dialog prompting the user to reboot would show at the wrong time.
  • Switch to a new App Intro library. Hopefully it is more stable because the old library was crashing for many users.
KeyMapper - 2.1.0 Beta 4

Published by sds100 almost 4 years ago

Bug Fixes

  • Crash on KitKat and older on the home screen.
  • Consuming the key event is optional for each key.
  • There was no search button under the "Other" tab when choosing an action.
KeyMapper - 2.1.0 Beta 3

Published by sds100 almost 4 years ago

Bug Fixes

  • App crashed when starting the accessibility service on Android Marshmallow 6.0 and older. OOPS XD.
  • The Menu action wouldn't sometimes work on rooted devices.
  • Attempt to fix the problem of the accessibility service being enabled but broken on some devices.
  • Typo in the dialog message prompting the user to reboot.
  • The dialog prompting the user to reboot would show at the wrong time.
  • Switch to a new App Intro library. Hopefully it is more stable because the old library was crashing for many users.
KeyMapper - 2.1.0 Beta 2

Published by sds100 almost 4 years ago

Added

  • Prompt the user to reboot their device if they fail to record a trigger 2 times in a row.
  • Show a toast after using the Screenshot (ROOT) action.

Bug Fixes

  • Dragging trigger keys by the remove button would cause a crash
  • stop recording if the user leaves the Trigger fragment
  • The Menu (ROOT) action was slow
  • Entering an invalid integer into the keycode box when creating a Key Event action would cause a crash.
  • show a toast if there is an IOException when detecting buttons when the screen is off.
  • Remapping modifier keys to modifier keys doesn't work as expected.
  • the Screenshot (ROOT) action didn't create the Pictures and Screenshots directories. Therefore, it didn't save the screenshot.
  • Hold Down action option didn't work for long-press triggers.
  • Opening a keymap with a long-press parallel trigger would set it to short press.
  • JSON files are sometimes greyed out when picking a file to restore. All file types are now shown because Android doens't have a mimetype for JSON files.
  • Crash if a modifier key trigger is not mapped to a Key Event action.
  • Potential crash when showing keymaps on the homescreen.
KeyMapper - 2.1.0 Beta 1

Published by sds100 about 4 years ago

Added

  • Support for a proper keyboard. Install the Key Mapper GUI Keyboard.
  • Support for Android 11.
  • Backup/Restore keymaps.
  • Option for keycode actions to simulate holding the key down.
  • Button to show system packages as well in the app list.
  • Action to create Key Event with optional modifiers.
  • Action to select word at cursor.
  • Action to toggle the screen on and off.
  • Action to tap a coordinate on the screen. The user and the app can NOT touch the screen at the same time. This is a
    limitation in Android.
  • Action to double press recents to go to last app.
  • Dismiss button to the notification that pauses/resumes keymaps. It will be shown again when the app is opened.
  • Show a warning dialog when leaving the screen to configure a keymap without saving.
  • Keymaps can have multiple of the same action. There is now a slider in the action options called "Action Count".
  • Can detect the headset button when the screen is off.
  • Option to not override the default behavior of the trigger.

Changed

  • Don't hide the Repeat option if there is no trigger.

Fixes

  • Caps Lock key still caps lock when remapped.
  • When making a parallel trigger, the keys don't all have the same click type.
KeyMapper - 2.0.2

Published by sds100 about 4 years ago

Bug Fixes

  • Fixed many crashes throughout the app. See the commit history for more detail.

Changes

  • Make the functionality to fix actions by pressing on them more discoverable. The top of the keymap on the homescreen will show "Tap actions to fix!" and the broken actions have a red tint.
KeyMapper - 2.0.1

Published by sds100 about 4 years ago

Bug Fixes

  • Choosing app shortcut actions didn't work
  • Remapping the Home and Recents buttons wouldn't stop them from doing their default Home/Recents actions.
  • All titles for flashlight actions are the same.
  • Actions didn't work on Android 11.
  • Screen off triggers didn't pause.
  • Screen on/off constraints showed "this action requires root" even though they weren't actions.
  • Some list items weren't aligned properly if system fonts were forced to a larger size.
  • Toggle Keyboard tile: Crash when switching keyboard without WRITE_SECURE_SETTINGS permission.
  • A few more random crashes.
KeyMapper - 2.0.0

Published by sds100 about 4 years ago

Added

  • Dark mode! 🕶

  • A keymap can have multiple actions.

  • Triggers

    • 2 modes. The keys can all be pressed at the same time or one after another in a sequence.
    • Keys can be limited to a specific external device, any device or the device the app is installed on.
    • Double press support.
  • Constraints. Keymaps can be restricted to only work in certain situations. Constraints can be mixed in OR mode or AND mode.

    • App in foreground
    • App not in foreground
    • Bluetooth device connected
    • Bluetooth device not connected
    • Screen on/off (ROOT only).
  • Actions

    • Toggle/enable/disable a Do Not Disturb mode (Android 6.0+).
    • Toggle/enable/disable airplane mode (ROOT only).
    • Switch between vibrate and ring.
    • Launch the device assistant rather than the voice assistant.
    • Take screenshots on rooted devices older than Pie.
    • Can now have unique repeat options and any action is allowed to be repeated now.
    • Show the keycode number when picking a Keycode action.
  • Renamed "Repeat Delay" to "Repeat Rate".

  • Renamed "Hold Down Delay" to "Repeat Delay"

  • Modifier keys now affect Key and Keycode actions.

  • Option to vibrate twice for long press actions. Once when initially pressing the keys and again when the action is performed.

  • Option for keymaps with volume key triggers to be detected when the screen is off (ROOT only).

  • Option to stop repeating an action when the trigger is pressed again.

  • Button in the homescreen menu to resume/pause keymaps and enable the accessibility service.

  • Setting to hide the alerts at the top of the homescreen.

  • Notification to toggle the Key Mapper keyboard.

  • Quick Settings to toggle the Key Mapper keyboard and pause/resume keymaps.

  • Duplicate keymaps.

  • Screen to configure keymaps is more optimised for very large screens.

  • Preference to switch to and from the Key Mapper keyboard when pausing/resuming keymaps.

  • The option to show the "performing action" toast has been moved to a toggle in each keymap.

  • The long press delay, double press timeout, sequence trigger timeout, action repeat delay, hold-down delay until actions are repeated and vibrate delay can be changed per keymap.

  • Keymaps which have modifier key actions now affect other keymaps and keys which aren't mapped.

  • Link to the Discord server in About.

Bug Fixes

  • App Shortcut actions now work properly!
  • The code base has completely changed so some bugs in 1.1.7 could have been fixed.

Changes

  • Keymaps can only have one trigger. Any keymaps with multiple triggers will be split up into multiple keymaps.

Removed

  • The in-app logger. Send Android bug reports instead.
  • Showing the Input Method picker on Android 10 and newer because Android dropped support.
KeyMapper - 2.0.0 Beta 4

Published by sds100 over 4 years ago

Only bug fixes.

Changes

  • Renamed "Repeat Delay" to "Repeat Rate".
  • Renamed "Hold Down Delay" to "Repeat Delay"

Bug Fixes

  • Crash when leaving app the menu to tweak an action showing.
  • Double press triggers aren't detected.
KeyMapper - 2.0.0 Beta 3

Published by sds100 over 4 years ago

Significantly improved the input latency.

Added

  • Actions can now have unique repeat options and any action is allowed to be repeated now.
  • Screen on/off constraints (ROOT only).
  • Option for keymaps with volume key triggers to be detected when the screen is off (ROOT only).
  • Option to stop repeating an action when the trigger is pressed again.
  • Button in the homescreen menu to resume/pause keymaps and enable the accessibility service.
  • Setting to hide the alerts at the top of the homescreen.
  • Action to take screenshots on rooted devices older than Pie.

Bug Fixes

  • Triggers with the Recents and Home button would sometimes open Recents and go Home.
  • Increase the screen width threshold to put all the cards in one tab to 1000dp.
  • Don't crash when sometimes changing a slider.
  • Lower the max repeat delay to 1000ms to make it easier to pick tiny values.
  • Increase the min repeat delay to 5ms because 0ms caused crashes.

Changes

  • Persist whether keymaps are paused.
  • The "Switch Keyboard" action now works when the app has WRITE_SECURE_SETTINGS permission rather than just rooted devices.

Removed

  • Setting to show a toast message when an action fails. Removing this made improving the input latency much easier.
KeyMapper - 2.0.0 Beta 2

Published by sds100 over 4 years ago

Added

  • Action to toggle/enable/disable a Do Not Disturb mode (Android 6.0+).
  • Action to toggle/enable/disable airplane mode (ROOT only).
  • Action to switch between vibrate and ring.
  • Action to launch the device assistant rather than the voice assistant.
  • Notification to toggle the Key Mapper keyboard.
  • Quick Settings to toggle the Key Mapper keyboard and pause/resume keymaps.
  • Keymap option to vibrate twice for long press actions. Once when initially pressing the keys and again when the action is performed.
  • Duplicate keymaps.
  • Screen to configure keymaps is more optimised for very large screens.
  • Preference to switch to and from the Key Mapper keyboard when pausing/resuming keymaps.

Bug Fixes

  • Stop repeating actions when another key is pressed.
  • Parallel triggers would be forced to short press when its keymap was edited.
  • Don't show the same dialog multiple times when configuring keymaps.
  • Automatically expand Bottom Sheet menus.
  • Don't consume keyevents when actions for parallel triggers fail.
  • Short press and long press triggers don't cross over.
  • Short press and double press triggers don't cross over.
  • Wifi actions didn't work on Android Pie. Android doesn't allow apps to control WiFi anymore so these actions have been restricted to rooted devices on Android 9.0+ .
  • Crash when sometimes changing keymap options with a slider.
  • Sequence trigger timeout option was shown for a single key double press trigger.
  • Crash when launching the app for the first time in landscape.
KeyMapper - 2.0.0 Beta 1

Published by sds100 over 4 years ago

Added

  • Dark mode! 🕶

  • A keymap can have multiple actions.

  • Triggers

    • 2 modes. The keys can all be pressed at the same time or one after another in a sequence.
    • Keys can be limited to a specific external device, any device or the device the app is installed on.
    • Double press support.
  • Constraints. Keymaps can be restricted to only work in certain situations. Constraints can be mixed in OR mode or AND mode.

    • App in foreground
    • App not in foreground
    • Bluetooth device connected
    • Bluetooth device not connected
  • The option to show the "performing action" toast has been moved to a toggle in each keymap.

  • The long press delay, double press timeout, sequence trigger timeout, action repeat delay, hold-down delay until actions are repeated and vibrate delay can be changed per keymap.

  • Modifier keys now affect Key and Keycode actions.

  • Keymaps which have modifier key actions now affect other keymaps and keys which aren't mapped.

  • Show the keycode number when picking a Keycode action.

  • Link to the Discord server in About.

Bug Fixes

  • App Shortcut actions now work properly!

  • The code base has completely changed so some bugs in 1.1.7 could have been fixed.

Changes

  • Keymaps can only have one trigger. Any keymaps with multiple triggers will be split up into multiple keymaps.

Removed

  • The in-app logger. Send Android bug reports instead.
  • Showing the Input Method picker on Android 10 and newer because Android dropped support.
KeyMapper - 1.1.7

Published by sds100 almost 5 years ago

Bug Fixes

  • KEYCODE_BACK appeared twice in the keycode list.
  • crashed when the battery optimisation settings couldn't be found.
  • some trigger keys have no name.
  • unable to uncheck the "show volume dialog" flag.
  • on some devices (e.g Oxygen OS 10), the volume buttons up keyevents need to be consumed to stop them from changing the volume when performing an action.
  • couldn't necessarily press the back button to get back to Key Mapper when opening the accessibility settings.

Added

  • support for Jelly Bean 4.2 and 4.3.
  • setting to show the toast message when an action fails to perform.
  • action to open the device settings.
  • action to open a URL.
  • action to switch the input method (ROOT only)
  • action to show the power dialog (Android 5.0+)
  • action to lock the device without root (only Android 9.0+)
  • action to toggle split screen (Android 7.0+)
KeyMapper - 1.1.6

Published by sds100 almost 5 years ago

F-Droid can now build.
Code is 100% the same as 1.1.5.

KeyMapper - 1.1.5

Published by sds100 almost 5 years ago

This is the first release to be released on F-Droid.

Removed

  • Firebase library.

Bug Fix

  • KEYCODE_BACK appeared twice in the keycode action list. #247