• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Plugins
  • Assigned To No-one
  • Operating System Another
  • 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 andiator - 2008-03-09
Last edited by shotofadds - 2008-04-27

FS#8708 - Cowon D2: Button definitions for plugins and WPS

Cowon D2: Key/Button definitions/mappings for plugins, WPS and setings menu. Alot of ‘#define’ stuff

Closed by  shotofadds
2008-04-27 16:35
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

Thanks :-)

I’ve re-opened this task since many of the button definitions need to be altered to use the “touchscreen area” button macros (see button-target.h) rather than the existing BUTTON_LEFT/RIGHT etc. Eg. BUTTON_UP becomes BUTTON_TOPMIDDLE, BUTTON_RIGHT becomes BUTTON_MIDRIGHT, etc.

The touchscreen button definitions should be defined in a HAVE_TOUCHPAD block (common to the D2 and m:robe500), with the D2-specific section containing only definitions for the physcial buttons (PLUS/MINUS/MENU/POWER).

I should have mentioned that the current SVN build only supports the touchscreen area buttons (BUTTON_TOPMIDDLE etc) when running in the UI Simulator (mapped to keypad keys 1-9).

The attached patch adds touchpad support to the target build, by adapting JdGordon’s existing m:robe500 work. It’s far from perfect, for example menu navigation is difficult because it sometimes registers incorrect presses. But it does make plugins such as jewels and brickmania playable ;-)

Sync’d to r17200 by correcting an idiotic typo or two.

So, there a lot of changes. Almost all plugins got a touchpad section. Some have only one button (exit or so) - so I let it the way it was.
Other touchpad-targets have to define a target section anyway, at least an empty one.
The touchpad definitions are overrideable: e.g. #define PLUGIN_EXIT POWER_BUTTON in target section overrides the one in touchpad section (made with #ifndef PLUGIN_EXIT …)

Added some missing button description/help text for some plugins. Had to change #ifdef/#else logic in plasma.c and starfield.c, hoping not to break other targets.
Changed drivers/button.c, there was an assumption that every target has BUTTON_LEFT/BUTTON_RIGHT –> added a mapping from BUTTON_MIDLEFT to BUTTON_LEFT etc. Is needed for screen flipping.

Update for r17254 (New plugin flashlight.c)

Got brickmania working


Available keyboard shortcuts


Task Details

Task Editing