Rockbox mail archiveSubject: Re: Custom button mappings - a proposal
Re: Custom button mappings - a proposal
From: codemonkey <codemonkey_at_interthingy.net>
Date: Thu, 22 Oct 2009 14:29:21 -0700
On Thu, 22 Oct 2009 22:20:51 +0200, rockbox-dev-request_at_cool.haxx.se wrote:
>>> All standard controls will be disabled by the custom map, including
>>> touchscreen. They can of course be re-enabled in the map itself.
>> If the touchscreen is in "grid" mode, it should present the nine buttons
>> for configuration. In absolute mode, it should be more configurable
>> anyway by way of the theme, so doesn't need to be disabled (in my
> I'd still like to give the option to really have no traces left of the
> original. This would allow e.g. using only physical buttons on a
> touchscreen target, which otherwise is not possible.
I'd like add my $0.02 to this discussion because it is something that would
be quite valuable to me and for a reason that no one may have thought of:
I have an X5 and my REC button is broken (the surface-mount switch came
right off the board -- I'm not sure how but I guess it must have suffered
an impact somehow -- I tried fixing it but no luck).
So, in order to access everything that I need to, I've needed for a while
now to customize the keymap on every rockbox release that I've installed
(using a custom build, of course). That's a PITB but it's better than
buying a new player... :)
I want to make two main points:
1) I hate the idea of having to press some key combination to switch to my
keymap every time I boot the player. It would take little time for me to
begin swearing righteously at that. :) This should be a feature that is
selectable through the settings and saved to the config file and
automatically enabled every time the player is turned on.
2) I don't like the idea of having an alternate keymap completely reset the
default keymaps. That forces the user to have to redefine EVERY key press
and I suspect that the vast majority of the time the user is only going to
want to tweak one or a few mappings.
A better idea, IMO, is a "sparse" keymap file which uses a simple language
to redefine only the keys that the user desires (the language defines how
to modify the internal keymap tables). It could include commands like
"swap <key1> <key2>" to swap all functionality of two keys and "map <key>
<func>". It could also include commands to do things like request that the
default mappings be wiped ("clear").
I also like the idea of externalizing the entire set of keymap tables into
a "keymap" file. This takes the work out of "redefining everything" --
it's another way for the user to modify only the mappings that she wants.
Users should be encouraged to COPY the original file and create a new one
with their mods which can then be referenced in the config.
Anyway, as I said, just my $0.20...
Received on 2009-10-22