FS#8702 - Rework USB Charging-Only Functionality
Opened by Davide (Davide-NYC) - Saturday, 08 March 2008, 04:21 GMT
Last edited by Marc Guay (Marc_Guay) - Tuesday, 01 April 2008, 13:29 GMT
|
DetailsHaving the HOLD switch "on" should prevent the device from entering disk mode when a USB cable is inserted. Basically this would allow the player to charge without having to interrupt use of Rockbox.
This would benefit the H1x0 players as well since a simple, single wire modification would allow USB charging. (IIUC) This feature request relates to (and supercedes) This is also indirectly related to (at least) the following FS tasks: |
Reason for closing: Fixed
Additional comments about closing: Closing all feature requests.
FS#7715.the issue is that now this is a different button on most targets, and a double-used one on some. For example, on h300 it is the REC button, so if I want to have USB-Charging mode only, I also end up in the recording screen, which is quite silly...
As for the hold switch itself, this has been discussed before. One significant problem is that it allows you to accidentally prevent automatically going into USB mode. What's so difficult about holding down a single button that we should change it to a method that might have users saying "My iPod won't go into USB mode any more?"
If anything, why not introduce a menu option that lets one switch between the default of "USB if nothing held, Power if Menu (or other button on the few targets it hasn't been changed to menu yet) held" to "Power by default, USB if held". This is much more explicit than a hold switch, and also discoverable without using the manual for those people who never look at it, so it's much less likely to lead to spurious bug reports or unexpected behaviour.
This has been discussed various times in IRC over the past few years, but I can't remember any good solutions - no-one seems to be able to agree.
For the purpose of discussion, the options I remember are:
1) Leave as it is, but make all targets more consistent - i.e. use the same button as the quickmenu on all targets, meaning the user would be taken to the quickmenu screen.
2) Use the hold switch to prevent entering disk mode. (the suggestion in this task) I agree that this could cause people to accidentally avoid disk mode, but that could be compensated (a little - it assumes the user is looking at their device) by displaying a splash saying something like "HOLD detected, charging only".
3) Display a prompt, asking the user if they want to charge or enter disk mode. This could have a time-out, after which time it would go to disk mode,
I'm not really sure what I prefer, so am hoping for more ideas - let's try and finally sort this issue out.
USB Connect menu option with choices: always, never, ask.
If in always or never mode, holding down any button (but not the hold switch) will inverse the behavior causing it to charge if in always or connect if in never.
I stay by my HOLD proposal :)
What's *bad* about ending up in the context menu or quick screen? No actions take place, it takes a single button to back out of, and they're a lot harder to do accidentally than the quick screen.
HOLD on => USB mode
HOLD off => charge only
reason: you can't touch buttons in usb mode anyway.
The only disadvantage: change of usage - most users will wonder why usb mode no longer works
other than that, I do not feel a problem with using the HOLD selector...
Hold is a switch, so you can slide it then insert USB cable. Physically holding a particular button is slightly harder to do. Of course this also has the disadvante that you need to explicitly turn hold off again afterwards, but that's easier than having to press a different button to get out of the quickscreen or context menu.
I really like the menu + any button approach too. I'd use USB connect = ask.
- It won't create confusion. In fact, it may lessen it.
- A new menu option won't need to be added.
- If button needs to be held or switch needs to be pushed anyway, why not make it explicit?
In [ Setting --> General Settings --> System ] we make a USB behavior menu with three choices:
1 - Defaults to Disk Mode [default behavior]
On connect, a splash screen prompts the user to hit SELECT to Charge Only (should timeout after 3 seconds)
2 - Defaults to Charging Only
On connect, a splash screen prompts the user to hit SELECT to enter Disk Mode (should timeout after 3 seconds)
3 - Hold Toggles Disk Mode (Petur's Idea)
HOLD ON (Disk Mode + Charging) :: Presents the user with a splash screen saying something like "HOLD ON (Disk Mode + Charging)"
HOLD OFF (Charge Only) :: Presents the user with a splash screen saying "HOLD OFF (Charging Only)"
Personally I think just implementing option 3 is the most elegant. It's clear and all of the SWCODEC targets have hold switches with the except ion of the M3.
My $0.02.
Instead of suggesting random new things that can't even work on all targets, why not explain what's wrong with my suggestion that can work on all targets?
Edit: To clarify, part of the reason we even have this problem is because of differing behaviour on different targets. We should concentrate on finding a behaviour that can be consistent, usable, and not trigger extra bug reports/confusion. While I admit holding a button down is less simple than flipping a switch, I think it's better than accidental unexpected behaviour such as someone not realizing the hold switch changes behaviour on USB insertion.
But: if you occasionally want to charge, this will be a pita: either put on ask and be bothered with the question every time, or go to the settings menu before you can charge. Neither seems attractive to me :(
There's a menu option with the choices "Always, Never, or Ask".
In "Ask" mode, on any connection, you are given a prompt to choose.
In "Always" you always charge, unless ANY button is held down, in which case you USB connect instead.
In "Never" you always connect, unless ANY button is held down, in which case you charge instead.
This way the user can pick any button (one that's easy for them to reach while connecting, one that doesn't start an action, or one that does but starts an action that USB connection will cut off such as resuming playback) as long as it's comfortable for them to reach. Meanwhile, it doesn't have the delay of a menu coming up every single time, even if it's one that times out after a few seconds. And if you occasionally want to charge, you don't even have to remember a button, just hold down anything.
Just to clarify: When in ASK mode disk mode would not start until you chose to start it.
Also, which buttons are universal to use when answering YES/NO questions of this sort? LEFT and RIGHT?