On Thu, 22 Oct 2009 22:20:51 +0200, rockbox-dev-requ...@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 
>> opinion).
> 
> 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...

~ray

Reply via email to