• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category User Interface
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by SovietCommissar - 2008-03-28
Last edited by speachy - 2022-11-15

FS#8816 - Extra button press required to continue browsing menus

When utilizing the database on the iPod Photo (as well as other 4G iPods I have used), on occasion when entering a directory or going to the parent directory, any button on the iPod will need to be pressed before the others will have effect. I.E. before I can scroll to select a song, I must press Select or one of the other wheel buttons. It is severely annoying, in part because it is too sporadic to even be assumed to be a “feature”.

Closed by  speachy
2022-11-15 17:55
Reason for closing:  Invalid

That's not normal. Do you have the "First Buttonpress Enables Backlight Only" option enabled perhaps?

Or could it just be that the database processing is slow, so your initial key press is not being handled quickly enough?

The backlight option in question remains off. As well, I can allow any given amount of time when entering a menu before pressing a button, and the effect is still the same. I've reproduced it on two iPods; unfortunately, the problem is one that photographs won't help.

I encounter the same thing after exiting certain plugins (clock, dict (if aborted)). In order to begin moving around the menus again a buttonpress is required. Possibly a different problem altogether but the effect is the same.

I haven't used the database yet. However, one time after I selected the database from the main menu and then left with a button other than select (not creating the database), wheel scrolling didn't work on the main menu until I pressed a button. I haven't been able to reproduce this since. I'm running r16819 on a 30 gig video iPod.

This happens to me as well and not only in the database, but also in the plugins menu when I exit a plugin. I am using an iPod Nano 1st gen.

I might add the my Sansa e250 has the same problem, but only when coming out of a plugin

Same here on sansa e260 (svn 17218). It happens about 1 in 15 times when exiting a plugin (tried it with dice). When it happens, scrolling through the list with the wheel does not work, but the wheel light does still come on though. Just a wild guess: could have something to do with the previous button not being remembered correctly when exiting the plugin? (for example ACTION_STD_PREV is generated only when BUTTON_SCROLL_BACK is preceded by BUTTON_NONE as far as I understand).

I can reproduce this reliably on my sansa e260 now:
* start from freshly powered-up state
* go to plugins/games menu and start dice plugin
* exit dice plugin immediately by pressing power/menu button
→ selector in plugins/games menu does not move anymore when wheel is turned but starts working again when a button is pressed.

Maybe this is specific to the dice plugin, it always happens after the first time dice is run.

In an effort to fix a possible race condition in button_get (call may be unexpectedly blocked when the queue is cleared, for example just after exiting a plugin), the problem actually became more apparent for plugins. It becomes more reproducible now for the following plugins: dice, dict, wormlet and clock. On my player it only happens on short presses of menu/power, on longer presses it is no problem.

Attached is the simplification of the button_get code.

The simplify_button patch generally works fine in rockbox, but causes problems in a few plugins (matrix gives a data abort with this patch), so please don't apply it.

Bertik, whats the story on this?

Jonathan, see my comment at Tuesday, 06 July 2010, 10:10 GMT+1 in FS #10097. Basically I found the cause and know how to fix it when it happens after exiting a plugin, but a full solution needs a complete re-think on how we handle buttons.


Available keyboard shortcuts


Task Details

Task Editing