1
0
Fork 0
forked from len0rd/rockbox

Remote keys support for the demystify plugin (added remote_directions to the plugins actions), updated key bindings in manual

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13927 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Kevin Ferrare 2007-07-19 03:49:43 +00:00
parent f074b4635b
commit e68a2e6c41
3 changed files with 60 additions and 11 deletions

View file

@ -47,7 +47,11 @@ PLUGIN_HEADER
#define DEMYSTIFY_REMOVE_POLYGON_REPEAT PLA_DOWN_REPEAT #define DEMYSTIFY_REMOVE_POLYGON_REPEAT PLA_DOWN_REPEAT
const struct button_mapping *plugin_contexts[] const struct button_mapping *plugin_contexts[]
= {generic_directions, generic_actions}; = {generic_directions, generic_actions,
#if defined(HAVE_REMOTE_LCD)
remote_directions
#endif
};
#ifdef HAVE_LCD_COLOR #ifdef HAVE_LCD_COLOR
struct line_color struct line_color
@ -293,8 +297,17 @@ void color_change(struct line_color * color)
color_randomize(color); color_randomize(color);
} }
#define COLOR_RGBPACK(color) LCD_RGBPACK((color)->current_r, (color)->current_g, (color)->current_b) #define COLOR_RGBPACK(color) \
LCD_RGBPACK((color)->current_r, (color)->current_g, (color)->current_b)
void color_apply(struct line_color * color, struct screen * display)
{
if (display->is_color){
unsigned foreground=
SCREEN_COLOR_TO_NATIVE(display,COLOR_RGBPACK(color));
display->set_foreground(foreground);
}
}
#endif #endif
/* /*
@ -352,13 +365,8 @@ int plugin_main(void)
polygon_update(&leading_polygon[i], display, &move[i]); polygon_update(&leading_polygon[i], display, &move[i]);
/* Now the drawing part */ /* Now the drawing part */
#ifdef HAVE_LCD_COLOR #ifdef HAVE_LCD_COLOR
if (display->is_color){ color_apply(&color, display);
unsigned foreground=
SCREEN_COLOR_TO_NATIVE(display,COLOR_RGBPACK(&color));
display->set_foreground(foreground);
}
#endif #endif
display->clear_display(); display->clear_display();
polygons_draw(&polygons[i], display); polygons_draw(&polygons[i], display);
@ -373,7 +381,7 @@ int plugin_main(void)
else else
rb->sleep(sleep_time); rb->sleep(sleep_time);
action = pluginlib_getaction(rb, TIMEOUT_NOBLOCK, plugin_contexts, 2); action = pluginlib_getaction(rb, TIMEOUT_NOBLOCK, plugin_contexts, 3);
switch(action) switch(action)
{ {
case DEMYSTIFY_QUIT: case DEMYSTIFY_QUIT:

View file

@ -45,6 +45,47 @@ enum {
LAST_PLUGINLIB_ACTION LAST_PLUGINLIB_ACTION
}; };
#if defined(HAVE_REMOTE_LCD)
static const struct button_mapping remote_directions[] =
{
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
{ PLA_UP, BUTTON_RC_BITRATE, BUTTON_NONE},
{ PLA_DOWN, BUTTON_RC_SOURCE, BUTTON_NONE},
{ PLA_LEFT, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
{ PLA_RIGHT, BUTTON_RC_VOL_UP, BUTTON_NONE},
{ PLA_UP_REPEAT, BUTTON_RC_BITRATE|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_DOWN_REPEAT, BUTTON_RC_SOURCE|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_LEFT_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_RIGHT_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) || \
(CONFIG_KEYPAD == IRIVER_H10_PAD) || \
(CONFIG_KEYPAD == GIGABEAT_PAD)
{ PLA_UP, BUTTON_RC_FF, BUTTON_NONE},
{ PLA_DOWN, BUTTON_RC_REW, BUTTON_NONE},
{ PLA_LEFT, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
{ PLA_RIGHT, BUTTON_RC_VOL_UP, BUTTON_NONE},
{ PLA_UP_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_DOWN_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_LEFT_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_RIGHT_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
#elif (CONFIG_KEYPAD == PLAYER_PAD) || \
(CONFIG_KEYPAD == RECORDER_PAD)
{ PLA_UP, BUTTON_RC_VOL_UP, BUTTON_NONE},
{ PLA_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
{ PLA_LEFT, BUTTON_RC_LEFT, BUTTON_NONE},
{ PLA_RIGHT, BUTTON_RC_RIGHT, BUTTON_NONE},
{ PLA_UP_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_DOWN_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_LEFT_REPEAT, BUTTON_RC_LEFT|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_RIGHT_REPEAT, BUTTON_RC_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
#else
#error pluginlib_actions: Unsupported remote keypad
#endif
{CONTEXT_CUSTOM,BUTTON_NONE,BUTTON_NONE}
};
#endif /* HAVE_REMOTE_LCD */
static const struct button_mapping generic_directions[] = static const struct button_mapping generic_directions[] =
{ {
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) \ #if (CONFIG_KEYPAD == IRIVER_H100_PAD) \

View file

@ -7,13 +7,13 @@ Demystify is a screen saver like demo.\\
\opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD} \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}
{\ButtonUp\ / \ButtonDown} {\ButtonUp\ / \ButtonDown}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD}{\ButtonRight\ / \ButtonLeft} \opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD}{\ButtonRight\ / \ButtonLeft}
& Add / remove polygon\\ & Increase / decrease speed\\
\opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD} \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}
{\ButtonRight\ / \ButtonLeft} {\ButtonRight\ / \ButtonLeft}
\opt{IPOD_4G_PAD,IPOD_4G_PAD}{\ButtonScrollFwd\ / \ButtonScrollBack} \opt{IPOD_4G_PAD,IPOD_4G_PAD}{\ButtonScrollFwd\ / \ButtonScrollBack}
\opt{IRIVER_H10_PAD,SANSA_E200_PAD}{\ButtonScrollUp/\ButtonScrollDown} \opt{IRIVER_H10_PAD,SANSA_E200_PAD}{\ButtonScrollUp/\ButtonScrollDown}
\opt{IAUDIO_X5_PAD}{\ButtonUp\ / \ButtonDown} \opt{IAUDIO_X5_PAD}{\ButtonUp\ / \ButtonDown}
& Increase / decrease speed\\ & Add / remove polygon\\
\opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
\opt{IPOD_4G_PAD,IPOD_4G_PAD}{\ButtonMenu} \opt{IPOD_4G_PAD,IPOD_4G_PAD}{\ButtonMenu}
\opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD}{\ButtonPower} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD}{\ButtonPower}