This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#10698 - Cowon D2: Tactile button functions with hold switch on
Attached to Project:
Rockbox
Opened by Andrew Beveridge (andrewthecoder) - Wednesday, 21 October 2009, 06:15 GMT+2
Opened by Andrew Beveridge (andrewthecoder) - Wednesday, 21 October 2009, 06:15 GMT+2
|
DetailsThis has been (slightly) discussed before, but this is a new take on the matter, not a repeat of
With this patch applied, the following functionality is recognised with the hold switch in place: On any list/menu screen or the while playing screen; pressing MINUS decreases volume by one, pressing PLUS increases volume by one, pressing MENU switches between Play and Pause, holding MINUS skips back a track, holding PLUS skips forward a track, holding MENU advances to the next folder. I feel that anybody using a Cowon D2 will find this functionality essential, not only because it is present in the original firmware, but because it is necessary for in-pocket operation. With a small DAP like this, with tactile buttons as well as a touch screen, it makes sense to maximize convenience. I have added as much functionality as I could without requiring pressing multiple buttons at once. I have made several similar patches and built them for members on the iAudiophile forums, and this configuration has consistently been the most popular. I welcome any comments/suggestions. -Andrew |
This task blocks these from closing
FS#10644 - Cowon D2: JPEG viewer control using hardware buttons and Hold sw
FS#10645 - Cowon D2: PNG viewer control using hardware buttons and Hold swi
FS#10646 - Cowon D2: Keyboard text input using hardware buttons and Hold sw
FS#10647 - Cowon D2: Time screen control using hardware buttons and Hold sw
FS#10648 - Cowon D2: Mpegplayer control using hardware buttons and Hold swi
FS#10644 - Cowon D2: JPEG viewer control using hardware buttons and Hold sw
FS#10645 - Cowon D2: PNG viewer control using hardware buttons and Hold swi
FS#10646 - Cowon D2: Keyboard text input using hardware buttons and Hold sw
FS#10647 - Cowon D2: Time screen control using hardware buttons and Hold sw
FS#10648 - Cowon D2: Mpegplayer control using hardware buttons and Hold swi
But yes.. a dev ML thread is needed. Right now I need sleep, I'll kick it off tomorrow.
1. Lock out all input
2. Lock out touchscreen only (on touchscreen devices) / lock out scrollwheel only (on scrollwheel devices) - keeping buttons enabled
Thoughts?
There's a lot of work,but i think it's worth it.
Will post code here for menus,then would port it on other targets.
I'm used the HAVE_MUSIC_CONTROL_IN_LIST define to control the appearance of menu.
- rename the setting to "Playback Control in Hold Mode", and move it to the Playback Settings menu
- don't access global_settings directly from button-cowond2.c (this isn't allowed since settings are apps/ code and this is firmware/)
- add separate #defines for HAVE_PLAYBACK_CONTROL_IN_LIST and HAVE_BUTTONS_IN_HOLD_MODE
- add an entry to apps/features.txt, so that the lang entry is only built for targets with this feature
- rename a few variables
I intend to commit this once the following bug is fixed:
- the backlight sometimes behaves strangely (eg. fading in more than once) when turning hold off after having used buttons in hold mode. This does not happen when the option is disabled.
@bkd11, that certainly looks related, but I'd like to get to the bottom of it before committing this since this patch exaggerates the problem somewhat.
pixelma made a suggestion in IRC yesterday which I suspect may be a good compromise to alleviate the controversy around committing this patch; http://www.rockbox.org/irc/log-20100129#07:32:02
I don't think I have the knowledge to implement a "special keymap mode" which would be triggered by holding down one of the tactile buttons while sliding the hold switch, but perhaps somebody does, or if this seems like a good idea to other people, I'm sure I could find the time to learn (s/learn/fiddle around and break things till it works/).
-Andrew
{ ACTION_WPS_SKIPPREV, BUTTON_HOLDMINUS|BUTTON_REL, BUTTON_HOLDMINUS|BUTTON_REPEAT },
{ ACTION_WPS_SKIPNEXT, BUTTON_HOLDPLUS|BUTTON_REL, BUTTON_HOLDPLUS|BUTTON_REPEAT },
to:
{ ACTION_WPS_SKIPPREV, BUTTON_HOLDMINUS|BUTTON_REPEAT, BUTTON_HOLDMINUS },
{ ACTION_WPS_SKIPNEXT, BUTTON_HOLDPLUS|BUTTON_REPEAT, BUTTON_HOLDPLUS },
and
{ ACTION_LIST_SKIPPREV, BUTTON_HOLDMINUS|BUTTON_REL, BUTTON_HOLDMINUS|BUTTON_REPEAT },
{ ACTION_LIST_SKIPNEXT, BUTTON_HOLDPLUS|BUTTON_REL, BUTTON_HOLDPLUS|BUTTON_REPEAT },
to
{ ACTION_LIST_SKIPPREV, BUTTON_HOLDMINUS|BUTTON_REPEAT, BUTTON_HOLDMINUS },
{ ACTION_LIST_SKIPNEXT, BUTTON_HOLDPLUS|BUTTON_REPEAT, BUTTON_HOLDPLUS },
It seems to make it slightly more functional to not 'have to' release the button first to skip the tracks. ie. You can just hold + or - until it skips.
What do you think?
@jdgordon, I like that suggestion a bit more having thought about it a 2nd time. Now all we need is someone to do the work.... ;-)
Can you please update the manual accordingly? Thanks.
http://www.d2rockbox.co.uk/?a=patches
I'm posting that link here because this patch, FS#10698, is kept up-to-date there now - at least once a week it is synchronised with the latest rockbox revision and built for the D2. Thus, any D2 owner interested in this functionality will probably have more luck getting it there.