keymapperorg / KeyMapper

An Android app that change what the buttons do on your devices!
http://docs.keymapper.club
GNU General Public License v3.0
1.1k stars 154 forks source link

Custom names for mappings #701

Open sds100 opened 3 years ago

sds100 commented 3 years ago

Developer TODO (don't remove)

GL513 commented 3 years ago

I think it would also be good to keep #691 and #320 in mind. It would be awesome if they all work together in the end.

jstetten commented 2 years ago

Can I leave my own temporary solution for naming mappings, for anyone who's found their way here?

As the very first action of any map, create a (dummy) broadcast intent, leave everything blank except for your desired name in the description, save, and voila you now have a poor man's label for your mapping!

While I have no way of promising your results will match mine, I have experimented quite a bit and never experienced any slowdowns or side effects at all...even when hammering triggers multiple times a second for long stretches. The key is to use broadcast intents (anything else either doesn't allow free-form text or flashes an error toast; there may exist some app shortcut that works even better). For the extra thorough, make sure your label is non-generic enough that no current or future broadcast receiver might conceivably match it somehow.

(Experts can of course make or trigger their own intent catcher as originally designed, rather than effectively letting them go to /dev/null. If you come up with some dual use case, let me know.)

Here's a few examples (see screenshots):

                      ***** Rewind Audio *****
****************************
******* Rewind Audio ******                    ****************************
                      🔸️🔸️ Play/Pause Audio 🔸️🔸️
                      🎧  Fast Forward Audio  🎧 

Key Mapper is fiddly, so just trust me, the spaces (or at least some symbol) at the beginning are necessary if you want a nicely centered label on a line of its own (adjust if needed). In appropriate places, you can use carriage returns for multi-line labels...I've found them to be a bit much personally. However I'm always iterating, and you will doubtlessly find superior solutions of your own.

Previous intents are very conveniently stored and primed for next time, allowing you to easily create your own templates to impose consistency. To each their own, but emojis really stand out, if that's what you seek, and can be combined with text in whatever way best helps you personally categorize your collection by function/actions/constraints/importance/or any other meaningful attribute.

For weirdosperfectionists like me who create dozens of increasingly elaborate variations of mappings for every situation, this is the only way I've found to impose a semblance of order upon the otherwise default experience of an ever more confusing, imposing and harder-to-distinguish wall of look-alike monochrome entries.

Is this hacky? Definitely. But let me know if you find a better solution. Hopefully it demonstrates just how badly needed an official way of naming, sorting, and styling entries is. (Colors would be so helpful.) I hope this helps a person or two, and brings a little more attention to this important issue.

Screenshot_20220327-140231_Key Mapper.png

Screenshot_20220327-140404_Key Mapper.jpg

GL513 commented 2 years ago

Wow, thanks @jstetten ! I should have thought to say something about colors. There are plenty of people like you and I that use keymapper and are organization freaks. You made a good point that things look very plain. Aside from the errors, color coding would be very useful, especially for visually imparied people. I have a friend who is colorblind, and if he was using color coding, he could definitely tell things apart.

This most likely will be implemented in a major pointversion, or even a major version alone, so it might be a while

jstetten commented 2 years ago

Ha! Well thank you.

This most likely will be implemented in a major pointversion, or even a major version alone, so it might be a while

Yeah I gathered this, hence my overly-long post. That's good news though!