- 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
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 http://www.rockbox.org/tracker/task/9623 , 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.
2008-12-31 21:03
Reason for closing: Accepted
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
Commited in r19629.
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
Tested r19442 with keymap-fuze-reduced.c, applied button-fuze.c.vc.diff and lcd-fuze.c.vc.diff (
FS#9623) on Fuze 8GB hardware. Display is reliable, button presses working for up / down / left / right / select.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.
Remove lcd_mutex, it’s apparently not needed.
Also updated some comments (and the copyright notice).
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.
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!
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.
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.
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!
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.
This one works slightly better.
Get rid of some oops/unrelated change, sorry :/