|
|
|
#1
|
|||
|
|||
|
[Edit - This is a second attempt, which appears to play much better...]
I decided to embark on this mission, though it's proved harder than I thought - for example, you can't just switch on the keylock on the radio, some deeper digging must be necessary. However, with a bit of rearrangement, I've added the hotkeys (short home), and what effectively amounts to an [almost] always functional 'start / stop' key you can use without having to look (long home). To do this, I've had to move the quickscreen to short down (you crazy kids who want to turn your backlight back on will just have to use short power...), but otherwise I think I've just squeezed out a bit of redundancy in ways to move around the menu. It's not a *great* deal of added functionality, sure, but I think I prefer it, and it's been interesting to play around with anyway. To use, first you need to uncomment the last line of /firmware/export/config/sansaclipplus.h to turn on the hotkeys. Then apply this diff to /apps/keymaps/keymap-clip.c Code:
Index: keymap-clip.c
===================================================================
--- keymap-clip.c (revision 27995)
+++ keymap-clip.c (working copy)
@@ -39,9 +39,6 @@
{ ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
- { ACTION_STD_MENU, BUTTON_HOME|BUTTON_REL, BUTTON_HOME },
- { ACTION_STD_QUICKSCREEN, BUTTON_HOME|BUTTON_REPEAT, BUTTON_HOME },
-
{ ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
{ ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE },
@@ -55,7 +52,7 @@
static const struct button_mapping button_context_wps[] = {
{ ACTION_WPS_PLAY, BUTTON_UP|BUTTON_REL, BUTTON_UP },
- { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
+ { ACTION_WPS_STOP, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
{ ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
@@ -77,18 +74,17 @@
{ ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
{ ACTION_WPS_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT },
- { ACTION_WPS_QUICKSCREEN, BUTTON_HOME|BUTTON_REPEAT, BUTTON_HOME },
- { ACTION_WPS_MENU, BUTTON_HOME|BUTTON_REL, BUTTON_HOME },
+ { ACTION_WPS_QUICKSCREEN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ ACTION_WPS_PITCHSCREEN, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_WPS_ID3SCREEN, BUTTON_SELECT|BUTTON_DOWN, BUTTON_SELECT },
#ifdef HAVE_HOTKEY /* down|repeat doesn't work in the file browser */
- { ACTION_WPS_HOTKEY, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
-#else
- { ACTION_WPS_VIEW_PLAYLIST, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_WPS_HOTKEY, BUTTON_HOME|BUTTON_REL, BUTTON_HOME },
#endif
+ { ACTION_WPS_VIEW_PLAYLIST, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
+
#ifndef HAS_BUTTON_HOLD /* Clip+ */
{ ACTION_STD_KEYLOCK, BUTTON_HOME|BUTTON_SELECT, BUTTON_NONE },
#endif /* HAS_BUTTON_HOLD */
@@ -134,10 +130,10 @@
}; /* button_context_list */
static const struct button_mapping button_context_tree[] = {
- { ACTION_TREE_WPS, BUTTON_HOME|BUTTON_SELECT, BUTTON_HOME },
+ { ACTION_TREE_WPS, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
#ifdef HAVE_HOTKEY
-// { ACTION_TREE_HOTKEY, BUTTON_NONE, BUTTON_NONE },
+ { ACTION_TREE_HOTKEY, BUTTON_HOME|BUTTON_REL, BUTTON_NONE },
#endif
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST),
[removed old versions] ETA fifty-third-time-lucky: I reckon the posted patch might actually now work! Last edited by Confuseling; 09-05-2010 at 04:51 PM. |
|
|
|||
|
|
|
#2
|
|||
|
|||
|
New version, now pretty much the entire keymap rewritten. Hopefully it's a bit more consistent (with a few notable exceptions - not sure what's going on with the recording screen, for example... It doesn't seem to do as it's told
[user error edit - recording screen now fixed])The patch should now alter both files (hopefully...). The zips are self-contained anyway. http://dl.dropbox.com/u/1257491/rock...ate.keymap.zip [power for menu] http://dl.dropbox.com/u/1257491/rock...e.keymap.2.zip [home for menu] [Have removed the diff - check the flyspray link below] Last edited by Confuseling; 09-06-2010 at 06:13 AM. |
|
#3
|
|||
|
|||
|
Thanks for working on this,
What about bringing this work on rockbox bug/patch tracker (flyspray) ? |
|
#4
|
|||
|
|||
|
Quote:
)Wasn't sure if this was going to work out, so didn't put it on flyspray initially. I've refined it a little more, so it's there now - personally I consider it usable. http://www.rockbox.org/tracker/task/11605 |
|
#5
|
|||
|
|||
|
So, this is pretty much ready, the links to the zips above should be the latest version. Anyone up for testing? Version two is slightly 'out there', having some nice functionality, but seeming to have painted itself into a corner consistency wise. Version one, however, to my mind adds functionality and loses nothing. I'd like to propose it for inclusion, but obviously it needs to run the comments gauntlet first...
It's basically the same as it is now, with the addition of the hotkey (short home in WPS, home and select in filebrowser), and a stop/start key (long home). Other than that, hopefully it feels a little more consistent - keep pressing (short power) to get back to the menu, and you can't go wrong. But I can't tell any more, because I've been staring at it for too long... |
|
#6
|
|||
|
|||
|
works great for me. very handy to be able to start/stop with one hand and without looking at the screen. thumbs up.
|
|
#7
|
|||
|
|||
|
Thanks for the feedback. You were using version 2 before, weren't you. I quite like version 2, but it is inconsistent - too inconsistent, I feel, to propose for inclusion. Any chance you could give version 1 a spin for a day or two, and report any problems / suggestions? My only real bugbear is that from the WPS, pressing [select] for browse then [home] will take you to the menu, rather than back to the WPS... Doesn't seem to be a lot I can do about it though...
![]() The code is beyond my understanding, but it seems to be quite an elaborate system whereby certain 'contexts' partially override others. In many ways it would be simpler (if more laborious) if you could specify by hand what each button did in each screen (preferably with hysteresis too...), but I imagine this might well make the code unnecessarily large and complex. Still, my hat goes off to people who have developed the keymaps. It's a lot blinking harder than it looks at first!
Last edited by Confuseling; 09-08-2010 at 11:55 AM. |
![]() |
«
Previous Thread
|
Next Thread
»
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
All times are GMT -5. The time now is 07:21 PM.











[user error edit - recording screen now fixed])

Hybrid Mode
