An Android app that maps any keyboard key or button combination to a custom action.

in utopian-io •  6 years ago  (edited)

Are you comfortable with the way your Android hardware buttons function? Or you're my type of person who thinks outside the box, by customizing those buttons? Well, if you are not, that's fine. But, you are definitely missing out from the fun.
A few days ago, I published a post where I referred to how I have always loved to port custom ROMs on my device. I created that article because of the awesome app that lets users customize the UI of their contacts. This means, I love apps that enable users customize their devices to design that suits them.

In today's blog post, I will be introducing to you a project that helps Android users remap their hardware buttons. Hmm... Sounds interesting?, Or strange?


It amazes me how a lot of Android users still uses the default functions assigned to their Android buttons. Well, maybe they thought, there aren't alternatives ways to perform the function of those buttons.

An Android device comes with three buttons, or at most four buttons. And, these buttons are;

  • Power button
  • Volume key up
  • volume key down
  • Battery saver button

Do you know you can alternatively perform the functions of these buttons without using them?
Oh! Yes, You can unlock your phone with gestures, or use soft keys to increase the volume of the device. Since we can alternatively archive that, then we can potentially assign a different function to those buttons. Cool yeah?👌


There was a time I wished I had a button to automatically open Chrome, or any of my favorite apps. The reason being that, searching for an app amongst hundreds of Installed apps could be stressful.
Well, the good news is, anyone out there can also stop wishing they have a button to seamlessly launch their favorite apps or other commands. Do not think it's difficult, or impossible. Because, I was able to get mine done in no time with the help of Key Mapper.

What is KeyMapper?

KeyMapper is an open source project that is developed and maintained by a GitHub account known as sds100.
As I have explained in previous paragraphs, KeyMapper is simply an Android app used to assign new functions to Android hardware buttons.

I got KeyMapper Installed from Google Playstore, and I recommend anyone willing to install it to get it from there.

On launching, it asked for permission to anonymously collect data such as crash reports. The truth is, I wasn't sure if I should accept it or not. But, I ended up rejecting the request. And guess what? Accepting, or rejecting it doesn't stop the app from performing its function. Awesome fact yeah? 👌

Oh! Here comes another permission request.🙆 well, after reading, and understanding these requests, then I realized they need to be accepted for the app to function properly.
Screenshot_20190415-090302.png

What do actually mean?

  • Turning on accessibility service:
    There are apps that need the accessibility permission from the OS, to rightly perform the function they're designed for.

  • Setting it as one of the Os's input method service:
    KeyMapper has a feature that uses the input method of the device. So, enabling these permissions is mandatory for it to function.

After I granted it the required permissions, the red errors from the image above turned green. Indicating that keymapper is now ready to accept commands from the user.


My Thoughts And Experience

I once said in this article that, KeyMapper is easy to use. Also, you'll notice it that the interface is neat. I give kudos to the developer for rightly using the limited spaces.

From the screenshot in my previous subheading, the only available button is the + sign button, which simply stands for add. Also, from the same screenshot, there's an emoji, and a text view which says: You haven't created any keymaps! 🤷🏿‍♂
This simply means that it needs input from the user with the help of the + sign button.
When it's clicked, the environment for mapping the hardware keys opens immediately.

Screenshot_20190415-101819.png

From the image above, I was able to assign the volume key button to automatically trigger my Chrome browser when it's clicked. To achieve this, the action that gets triggered is needed to be picked.
KeyMapper has a lot of actions, and they are already categorized into six parts as shown in the image below.
realaction.png


Do not forget that the Chrome triggered by my volume key is an app. And by default, the action page opens the list of the installed apps. It won't be easy to locate any of your favorite apps, if you have a lot of apps installed.
Locating my chrome browser wasn't a difficult task for me. Because, there's a search button that should be used to seamlessly search for any of the installed apps. Another kudos to the developer right there.

Since I have successfully selected an action, KeyMapper now needs a button to be assigned to the selected action. But, before I assigned a button, I was able to test run the function.
It's impressive to know that KeyMapper has a button named Test which pre-opens the selected action. In other words, it test the function.

Also, if you look closely to the screenshot below, you'd notice a button titled Flag. The flag button is an additional feature to enhance users experience with the app.
Although, when I first saw the button, I thought it was meant to either remove the selected action, or something negative. But, it isn't. I will talk more on the Flag feature in my next paragraph, and somewhere towards the ending of this article.


How can a button/Key be assigned to a selected action?

Assigning a button to trigger an action on KeyMapper isn't difficult. Because, the page has an informative text view that can be well understood by anyone.

You have 5 seconds to press the keys/buttons which will trigger the action. Then press "Stop recording trigger" to confirm. Press "clear" to clear the keys you have already typed.

Fact about my selection

My Android device has only three hardware buttons, which simply means that I have three chances to select actions to be triggered.

Well, if that's the case, I decided to assign my favorite apps to the available buttons.
I picked Chrome because it's one of the most used apps on my device.
Now, it's time to choose the button to trigger it.
As I have stated, I have limited buttons to use. Because of that, I have to wisely pick the right button that favors me.
pure.png

After the setup, Here's a Gif displaying how the volume-up button automatically opens the action (chrome browser).
It opens my chrome browser irrespective of the interface I'm on.

If you carefully observe, you will notice a toast message that appears just before the chrome browsers opens. The toast message is more like a successful notification that the chrome responded to the call.

What other things did I do with KeyMapper?

This subheading is similar to saying that, KeyMapper has got more features to trigger an action.

I clearly stated that KeyMapper has six different ways to choose an action. For example, there's an action titled TextBlock.
The TextBlock from the six ways to pick an action, is a type of action that requires a text that would be automatically typed whenever the assigned button is pressed. This proves that there are several awesome ways to use KeyMapper. Here's another Gif displaying how advantageous it is to map your keys with Keymapper.


Surprising Trick

If you could remember vividly, I complained about my device having just three hardware buttons. Well, guess what? I am no longer complaining. I finally found a way to assign two different actions to a single button.
For example, I could either assign the volume key to open Chrome when the button is short pressed, and then, open Firefox when it's Long pressed.

How can this trick be done?

The Flag button I mentioned at the beginning of this article does the trick.
The Flag button displayed these options;

  • Enable long press ( KeyMapper only performs an action when the button is long pressed)
  • Enough vibration ( it vibrates when Keymapper successfully performs an action).

The first option does the trick;
Since it only performs an action when the button is long pressed, then short pressing it will definitely do nothing. Instead of nothing, an action would be perfect there.

The real Logic

When the first key is long pressed, and the second is short pressed, They'll both open different actions respectively.

Key Mapper vs Others

There are lots of similar applications on Playstore. The closest one I could compare with KeyMapper is called Button mapper.

Despite their similarities, there are still huge differences between them.

Firstly, KeyMapper is a free project for everyone. ButtonMapper has a pro feature. Also, there are limited actions you can perform with ButtonMapper. Unlike KeyMapper where there are several types of actions.

I can't imagine seeing ButtonMapper users pay to map back button, and home buttons, when KeyMapper users are able to map them for free.

ButtonMapper

Screenshot_20190415-160151.png

KeyMapper

Screenshot_20190415-160330.png


Project Update

In less than two weeks, the project has two different versions released. And, there's definitely a new version coming out real soon.

V1.1.0 Beta 3 ( released 11days ago)

Where he added these features;

  • Flag to vibrate, and an option to force vibrate for all actions.

  • Action which just consumes the key event and does nothing.

  • Action to lock the device (ROOT only for now) and an option to lock the device securely (without root).

  • He also fixed some bugs.

V1.1.0 Beta 4 ( released 5days ago)

Where he added options to

  • To choose which flash to use for flashlight actions.
  • Optimize the New, and Edit Keymap activities for various screen sizes.
  • Slightly optimized the home screen for wide screens.

There are still more features coming on the way, as the developer tagged it #unreleased.

Conclusion

I believe I have been able to state the useful information about this awesome project. Also, I shared the nice time I had with it.
KeyMapper is definitely an app anyone willing to customize the function of their button needs to download. Thank you for reading my blog. See you next time. Bye.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for your contribution. The Button mapper app is indeed a fantastic project, and I appreciate that you took the time to write this blog about it.

This post is comprehensive. You share your thought, experiences, and a brief comparison with a similar app.
Moreover, I can see that you used my recommendation in the last review. However, the post had proofreading issues, and my advice remains the same. Dedicate enough time to check your texts. It is not easy to write 1500 words without a fault, but it is possible. Minimize issues by proofreading your texts properly. Nevertheless, I appreciate the effort.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

Thank you for your review, @tykee! Keep up the good work!

Congratulations @rufans! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 3000 as payout for your posts. Your next target is to reach a total payout of 4000

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Hi, @rufans!

You just got a 1.92% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

Hi @rufans!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hey, @rufans!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!