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
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
struct line_color
@ -293,8 +297,17 @@ void color_change(struct line_color * 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
/*
@ -352,13 +365,8 @@ int plugin_main(void)
polygon_update(&leading_polygon[i], display, &move[i]);
/* Now the drawing part */
#ifdef HAVE_LCD_COLOR
if (display->is_color){
unsigned foreground=
SCREEN_COLOR_TO_NATIVE(display,COLOR_RGBPACK(&color));
display->set_foreground(foreground);
}
color_apply(&color, display);
#endif
display->clear_display();
polygons_draw(&polygons[i], display);
@ -373,7 +381,7 @@ int plugin_main(void)
else
rb->sleep(sleep_time);
action = pluginlib_getaction(rb, TIMEOUT_NOBLOCK, plugin_contexts, 2);
action = pluginlib_getaction(rb, TIMEOUT_NOBLOCK, plugin_contexts, 3);
switch(action)
{
case DEMYSTIFY_QUIT:

View file

@ -45,6 +45,47 @@ enum {
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[] =
{
#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}
{\ButtonUp\ / \ButtonDown}
\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}
{\ButtonRight\ / \ButtonLeft}
\opt{IPOD_4G_PAD,IPOD_4G_PAD}{\ButtonScrollFwd\ / \ButtonScrollBack}
\opt{IRIVER_H10_PAD,SANSA_E200_PAD}{\ButtonScrollUp/\ButtonScrollDown}
\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{IPOD_4G_PAD,IPOD_4G_PAD}{\ButtonMenu}
\opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD}{\ButtonPower}