• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Drivers
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.0
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Thomas Martitz - 2008-12-15
Last edited by Björn Stenberg - 2008-12-31

FS#9645 - Working buttons for Fuze

This patch enables at least some of the buttons for the main build.

It’s based on domonoky’s buttons for e200v2, but does it a bit better (imho), as it’s
a) only changing the afsel and dir for the pins we need for the buttons – and this GREATLY improves reliability of the lcd, as in it’s working perfectly instead of showing crazy stuff on the screen (and doing this also avoids changing lcd_update_rect to lcd_update)
b) it uses mutex instead of disabling irqs. NOTE: The lcd_mutex comes from , so apply that one too. This mutex is needed anyway, else the buttons reads are going to mess up the lcd. This combo is tested and works well (for me of course).

I decided to remove the HAVE_SCROLLWHEEL define for now, until the scrollwheel actually works. The reason is that those defines disturb creating a reduced keymap which uses up/down to browse in lists.

I also added a reduced keymap, for testing purpose. It’s lousy based on the c200 keymap, and lacks some features, but it makes browsing possible (and playing music). Add it to SOURCES (and remove the regular keymap) in case you use it.

Closed by  Björn Stenberg
2008-12-31 21:03
Reason for closing:  Accepted
Additional comments about closing:  

Commited in r19629.

Eric Shattow commented on 2008-12-15 08:30

Tested r19442 with keymap-fuze-reduced.c, applied and ( FS#9623 ) on Fuze 8GB hardware. Display is reliable, button presses working for up / down / left / right / select.

Thomas Martitz commented on 2008-12-15 11:35

Thanks for the feedback!

Does anyone have objections against this patch? I’d also be interested if the way I did it works well for e200v2 too.

BTW: I’ve so far not experienced any missed button press.

Thomas Martitz commented on 2008-12-15 19:27

Remove lcd_mutex, it’s apparently not needed.
Also updated some comments (and the copyright notice).

Eric Shattow commented on 2008-12-16 08:21

Cleaned up patch a bit and limited its scope to just fixing up the button code, does not touch scrollwheel or keymap. Tested successfully on 8GB Fuze in bootloader and normal builds.

Thomas Martitz commented on 2008-12-16 19:14

make keymap usable for FM radio.

Note: this one is only supposed to make the Fuze/e200v2 usable. It’s by no means meant to be a final keymap!

Eric Shattow commented on 2008-12-22 09:19

Tested patch (not listed above, attached for reference) as mentioned on IRC against r19555 to enable scrollwheel. Working on 8GB Fuze hardware are Scrollwheel (usable but it twitches a bit), Up / Down / Left / Right / Hold / Power buttons, and I don’t know if “Home” button is mapped but it doesn’t seem to do anything. Leaving comment here due to not being on IRC at the same time, anticipate this task to be updated soon by author.

Thomas Martitz commented on 2008-12-24 05:19

Just as a note to the above patch: Yes, Home button is still not known how to read. And the scrollwheel is far from working reliable. We need to find a way to trigger an IRQ from the wheel, it won’t get good using the tick task only.

Gabe Cook commented on 2008-12-26 22:57

I tested it on my 8 GB Fuze, and the buttons work fine, except home of course. The scrollwheel, like Kugel said, is not very reliable. To move just one down or up, I have to carefully turn it. Great job so far, though!

Thomas Martitz commented on 2008-12-31 00:13

Update: Wheel is working acceptable, still no Home button.

Reverted to e200 keymap, so that everything is usable (replaced Rec with Home).

This can go in.

Thomas Martitz commented on 2008-12-31 01:26

This one works slightly better.

Thomas Martitz commented on 2008-12-31 01:48

Get rid of some oops/unrelated change, sorry :/


Available keyboard shortcuts


Task Details

Task Editing