Rockbox Development > Feature Ideas

Keymap mapping and redundancy

(1/1)

BenBrown:
Keymaps and more keymaps and more keymaps with some more just in case. I jumped in and wrote a patch for the android target's keymaps. After it was all said and done I realized just what a mess we have in /apps/plugins/. I would like to clean it up. I though about making a global keymap.h with every targets buttons and what not, but isn't that what pluginlib_action was supposed to be? Was anyone working this out or has it been left to wander about the wilderness?  What are your thoughts?

pixelma:
What's there currently is the result of learning the hard way that unified keymaps for anything more than the simple "4 directions + action + quit" doesn't work on the vastly different key layouts with their electrical, mechanical and physical restrictions or possibilities.

There was a more complicated (and "global") system before and even though only a few plugins were using it, some of them had broken controls on some targets. So we went back to saying "ok, if a plugin uses the simple scheme then it can use the simple global system - if not it shall define its own".

I rather have a bit more inconvenience for the one time a new port appears than non-working controls and always having in mind that a fix for one target may break another.

Out of curiosity - what did you prepare for the android devices? I would think that there already is something generic for "touchscreen" - and then there is a ton of different key layouts for different android phones ...

BenBrown:
I agree the differences in key layouts are staggering. Is anyone against me trying to identify the plugins who are good candidates for a simple layout, and then slowly one by one unifying them under pluginlib_action. Then leave the rest as "define your own keymap".


I added defines for ANDROID_PAD in some plugins but only had to add to pluginlib_action once and it took care of most of the rest. also found some bugs. I found two global pause functions that conflicted with another pause function from some where outside of /app/plugins/ so I just renamed the individual functions, robotfindskitten had one and chessclock had the other. dang now I have to pull them out of the patch and submit them individually.   

Llorean:
By "a simple layout" do you mean the one described by Pixelma (up, down, left, right, action, quit)?

BenBrown:
Precisely what I was thinking.

Navigation

[0] Message Index

Go to full version