Index: apps/plugins/test_resize.c =================================================================== --- apps/plugins/test_resize.c (Revision 23345) +++ apps/plugins/test_resize.c (Arbeitskopie) @@ -33,7 +33,6 @@ const struct button_mapping *plugin_contexts[] = {generic_actions, generic_directions}; -#define NB_ACTION_CONTEXTS sizeof(plugin_contexts)/sizeof(plugin_contexts[0]) /* Key assignement */ #define SIZE_INCREASE PLA_UP @@ -46,8 +45,8 @@ #define WIDTH_DECREASE PLA_LEFT #define WIDTH_DECREASE_REPEAT PLA_LEFT_REPEAT -#define BUTTON_QUIT PLA_QUIT -#define CHANGE_MODE PLA_MENU +#define BUTTON_QUIT PLA_CANCEL +#define CHANGE_MODE PLA_SELECT #define MAX_OUTPUT_WIDTH LCD_WIDTH #define MAX_OUTPUT_HEIGHT LCD_HEIGHT @@ -110,8 +109,8 @@ output_bmp.height); rb->lcd_update(); - button = pluginlib_getaction(HZ, - plugin_contexts, NB_ACTION_CONTEXTS); + button = pluginlib_getaction(HZ, plugin_contexts, + ARRAYLEN(plugin_contexts)); switch (button) { case BUTTON_QUIT: return PLUGIN_OK; Index: apps/plugins/clock/clock.c =================================================================== --- apps/plugins/clock/clock.c (Revision 23345) +++ apps/plugins/clock/clock.c (Arbeitskopie) @@ -34,27 +34,24 @@ /* Keymaps */ const struct button_mapping* plugin_contexts[]={ - generic_actions, - generic_increase_decrease, - generic_directions, -#if NB_SCREENS == 2 - remote_directions + pla_main_ctx, +#ifdef HAVE_REMOTE_LCD + pla_remote_ctx, #endif }; #define PLA_ARRAY_COUNT sizeof(plugin_contexts)/sizeof(plugin_contexts[0]) -#define ACTION_COUNTER_TOGGLE PLA_FIRE -#define ACTION_COUNTER_RESET PLA_FIRE_REPEAT -#define ACTION_MENU PLA_MENU -#define ACTION_EXIT PLA_QUIT -#define ACTION_MODE_NEXT PLA_RIGHT -#define ACTION_MODE_NEXT_REPEAT PLA_RIGHT_REPEAT -#define ACTION_MODE_PREV PLA_LEFT -#define ACTION_MODE_PREV_REPEAT PLA_LEFT_REPEAT -#define ACTION_SKIN_NEXT PLA_INC -#define ACTION_SKIN_NEXT_REPEAT PLA_INC_REPEAT -#define ACTION_SKIN_PREV PLA_DEC -#define ACTION_SKIN_PREV_REPEAT PLA_DEC_REPEAT +#define ACTION_COUNTER_TOGGLE PLA_SELECT +#define ACTION_COUNTER_RESET PLA_SELECT_REPEAT +#define ACTION_MENU PLA_CANCEL +#define ACTION_MODE_NEXT PLA_RIGHT +#define ACTION_MODE_NEXT_REPEAT PLA_RIGHT_REPEAT +#define ACTION_MODE_PREV PLA_LEFT +#define ACTION_MODE_PREV_REPEAT PLA_LEFT_REPEAT +#define ACTION_SKIN_NEXT PLA_UP +#define ACTION_SKIN_NEXT_REPEAT PLA_UP_REPEAT +#define ACTION_SKIN_PREV PLA_DOWN +#define ACTION_SKIN_PREV_REPEAT PLA_DOWN_REPEAT /************************** * Cleanup on plugin return @@ -176,11 +173,6 @@ clock_draw_restore_colors(); exit_clock=main_menu(); break; - - case ACTION_EXIT: - exit_clock=true; - break; - default: if(rb->default_event_handler_ex(button, cleanup, NULL) == SYS_USB_CONNECTED) Index: apps/plugins/fire.c =================================================================== --- apps/plugins/fire.c (Revision 23345) +++ apps/plugins/fire.c (Arbeitskopie) @@ -51,21 +51,28 @@ /* Key assignement */ const struct button_mapping* plugin_contexts[]= { - generic_increase_decrease, - generic_directions, + pla_main_ctx, #if defined(HAVE_REMOTE_LCD) - remote_directions, + pla_remote_ctx, #endif - generic_actions }; -#define PLA_ARRAY_COUNT sizeof(plugin_contexts)/sizeof(plugin_contexts[0]) -#define FIRE_QUIT PLA_QUIT -#define FIRE_SWITCH_FLAMES_TYPE PLA_LEFT -#define FIRE_SWITCH_FLAMES_MOVING PLA_RIGHT -#define FIRE_INCREASE_MULT PLA_INC -#define FIRE_DECREASE_MULT PLA_DEC +#define FIRE_QUIT PLA_CANCEL +#define FIRE_SWITCH_FLAMES_TYPE PLA_LEFT +#define FIRE_SWITCH_FLAMES_MOVING PLA_RIGHT +#ifdef HAVE_SCROLLWHEEL +#define FIRE_INCREASE_MULT PLA_SCROLL_FWD +#define FIRE_INCREASE_MULT_REP PLA_SCROLL_FWD_REPEAT +#define FIRE_DECREASE_MULT PLA_SCROLL_BACK +#define FIRE_DECREASE_MULT_REP PLA_SCROLL_BACK_REPEAT +#else +#define FIRE_INCREASE_MULT PLA_UP +#define FIRE_INCREASE_MULT_REP PLA_UP_REPEAT +#define FIRE_DECREASE_MULT PLA_DOWN +#define FIRE_DECREASE_MULT_REP PLA_DOWN_REPEAT +#endif + #define MIN_FLAME_VALUE 0 #define COOL_MAX (440/LCD_HEIGHT+2) @@ -319,7 +326,8 @@ fire_draw(&fire); rb->yield(); - action = pluginlib_getaction(0, plugin_contexts, PLA_ARRAY_COUNT); + action = pluginlib_getaction(0, plugin_contexts, + ARRAYLEN(plugin_contexts)); switch(action){ case FIRE_QUIT: Index: apps/plugins/rocklife.c =================================================================== --- apps/plugins/rocklife.c (Revision 23345) +++ apps/plugins/rocklife.c (Arbeitskopie) @@ -66,11 +66,11 @@ PLUGIN_HEADER -#define ROCKLIFE_PLAY_PAUSE PLA_FIRE +#define ROCKLIFE_PLAY_PAUSE PLA_SELECT #define ROCKLIFE_INIT PLA_DOWN #define ROCKLIFE_NEXT PLA_RIGHT #define ROCKLIFE_NEXT_REP PLA_RIGHT_REPEAT -#define ROCKLIFE_QUIT PLA_QUIT +#define ROCKLIFE_QUIT PLA_CANCEL #define ROCKLIFE_STATUS PLA_LEFT #define PATTERN_RANDOM 0 @@ -80,7 +80,7 @@ #define PATTERN_GLIDER_GUN 4 const struct button_mapping *plugin_contexts[] -= {generic_directions, generic_actions}; += {pla_main_ctx}; #define GRID_W LCD_WIDTH #define GRID_H LCD_HEIGHT @@ -512,7 +512,7 @@ show_grid(pgrid); while(!quit) { - button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, 2); + button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, ARRAYLEN(plugin_contexts)); switch(button) { case ROCKLIFE_NEXT: case ROCKLIFE_NEXT_REP: @@ -537,7 +537,7 @@ /* show new generation */ rb->yield(); show_grid(pgrid); - button = pluginlib_getaction(0, plugin_contexts, 2); + button = pluginlib_getaction(0, plugin_contexts, ARRAYLEN(plugin_contexts)); switch(button) { case ROCKLIFE_PLAY_PAUSE: case ROCKLIFE_QUIT: Index: apps/plugins/dice.c =================================================================== --- apps/plugins/dice.c (Revision 23345) +++ apps/plugins/dice.c (Arbeitskopie) @@ -28,13 +28,13 @@ #define INITIAL_NB_DICES 1 #define INITIAL_NB_SIDES 2 /* corresponds to 6 sides in the array */ -#define DICE_QUIT PLA_QUIT -#define DICE_ROLL PLA_START +#define DICE_QUIT PLA_CANCEL +#define DICE_ROLL PLA_SELECT #define CFG_FILE "dice.cfg" -const struct button_mapping* plugin_contexts[]={generic_actions}; +const struct button_mapping* plugin_contexts[]={pla_main_ctx}; struct dices { @@ -94,7 +94,7 @@ dice_print( &dice, rb->screens[i] ); while(true) { action = pluginlib_getaction(TIMEOUT_BLOCK, - plugin_contexts, 1); + plugin_contexts, ARRAYLEN(plugin_contexts)); switch(action) { case DICE_ROLL: dice_roll(&dice); Index: apps/plugins/lib/pluginlib_actions.c =================================================================== --- apps/plugins/lib/pluginlib_actions.c (Revision 23345) +++ apps/plugins/lib/pluginlib_actions.c (Arbeitskopie) @@ -25,7 +25,8 @@ #include "pluginlib_actions.h" #if defined(HAVE_REMOTE_LCD) -const struct button_mapping remote_directions[] = +/* remote directions */ +const struct button_mapping pla_remote_ctx[] = { #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ (CONFIG_KEYPAD == IRIVER_H300_PAD) @@ -68,518 +69,246 @@ { PLA_DOWN_REPEAT, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE}, { PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE}, { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) - { PLA_UP, BUTTON_UP, BUTTON_NONE}, - { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE}, - { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REW, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REW, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REW, BUTTON_NONE}, #else - #error pluginlib_actions: Unsupported remote keypad + #error pluginlib_actions: No remote directions #endif - {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE} + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_PLUGIN), }; #endif /* HAVE_REMOTE_LCD */ -const struct button_mapping generic_directions[] = +/* these were taken from the bubbles plugin, so may need tweaking */ +const struct button_mapping pla_main_ctx[] = { + /* Touchscreens */ #ifdef HAVE_TOUCHSCREEN - { PLA_UP, BUTTON_TOPMIDDLE, BUTTON_NONE}, - { PLA_DOWN, BUTTON_BOTTOMMIDDLE, BUTTON_NONE}, - { PLA_LEFT, BUTTON_MIDLEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_MIDRIGHT, BUTTON_NONE}, - { PLA_UP_REPEAT, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_DOWN_REPEAT, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_MIDLEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_MIDRIGHT|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_CANCEL, BUTTON_BOTTOMRIGHT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_CENTER, BUTTON_NONE}, + { PLA_SELECT_REPEAT, BUTTON_CENTER|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_UP, BUTTON_TOPMIDDLE, BUTTON_NONE}, + { PLA_DOWN, BUTTON_BOTTOMMIDDLE, BUTTON_NONE}, + { PLA_LEFT, BUTTON_MIDLEFT, BUTTON_NONE}, + { PLA_RIGHT, BUTTON_MIDRIGHT, BUTTON_NONE}, + { PLA_UP_REPEAT, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_DOWN_REPEAT, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_LEFT_REPEAT, BUTTON_MIDLEFT|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_RIGHT_REPEAT, BUTTON_MIDRIGHT|BUTTON_REPEAT, BUTTON_NONE}, #endif -#if (CONFIG_KEYPAD == IRIVER_H100_PAD) \ - || (CONFIG_KEYPAD == IRIVER_H300_PAD) \ - || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ - || (CONFIG_KEYPAD == GIGABEAT_PAD) \ - || (CONFIG_KEYPAD == RECORDER_PAD) \ - || (CONFIG_KEYPAD == ARCHOS_AV300_PAD) \ - || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ - || (CONFIG_KEYPAD == ONDIO_PAD) \ - || (CONFIG_KEYPAD == SANSA_C200_PAD) \ - || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ - || (CONFIG_KEYPAD == MROBE100_PAD) \ - || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) \ - || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \ - || (CONFIG_KEYPAD == SANSA_CLIP_PAD) \ - || (CONFIG_KEYPAD == CREATIVEZVM_PAD) \ - || (CONFIG_KEYPAD == SANSA_M200_PAD) - { PLA_UP, BUTTON_UP, BUTTON_NONE}, - { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ - || (CONFIG_KEYPAD == IPOD_3G_PAD) \ - || (CONFIG_KEYPAD == IPOD_4G_PAD) \ - || (CONFIG_KEYPAD == SANSA_E200_PAD) \ - || (CONFIG_KEYPAD == SANSA_FUZE_PAD) - { PLA_UP, BUTTON_SCROLL_BACK, BUTTON_NONE}, - { PLA_DOWN, BUTTON_SCROLL_FWD, BUTTON_NONE}, - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_UP_REPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_DOWN_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == PLAYER_PAD - {PLA_UP, BUTTON_STOP, BUTTON_NONE}, - {PLA_DOWN, BUTTON_PLAY, BUTTON_NONE}, - {PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - {PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - {PLA_UP_REPEAT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) - { PLA_UP, BUTTON_SCROLL_UP, BUTTON_NONE}, - { PLA_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE}, - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_UP_REPEAT, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_DOWN_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == MROBE500_PAD) -#elif (CONFIG_KEYPAD == COWOND2_PAD) -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD - { PLA_UP, BUTTON_RC_VOL_UP, BUTTON_NONE}, - { PLA_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE}, - { PLA_LEFT, BUTTON_RC_REW, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RC_FF, 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_REW|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == IAUDIO67_PAD) - { PLA_UP, BUTTON_STOP, BUTTON_NONE}, - { PLA_DOWN, BUTTON_PLAY, BUTTON_NONE}, - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_UP_REPEAT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == ONDAVX747_PAD) /* Touchscreen target */ -#elif (CONFIG_KEYPAD == ONDAVX777_PAD) /* Touchscreen target */ -#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) - { PLA_UP, BUTTON_UP, BUTTON_NONE}, - { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE}, - { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REW, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REW, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REW, BUTTON_NONE}, -#else - #error pluginlib_actions: Unsupported keypad -#endif - {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE} -}; -const struct button_mapping generic_left_right_fire[] = -{ -#ifdef HAVE_TOUCHSCREEN - { PLA_LEFT, BUTTON_MIDLEFT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_MIDLEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_MIDRIGHT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_MIDRIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_CENTER, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_CENTER|BUTTON_REPEAT, BUTTON_NONE}, -#endif -#if (CONFIG_KEYPAD == IRIVER_H100_PAD) \ - || (CONFIG_KEYPAD == IRIVER_H300_PAD) \ - || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ - || (CONFIG_KEYPAD == GIGABEAT_PAD) \ - || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ - || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ - || (CONFIG_KEYPAD == MROBE100_PAD) \ - || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) \ - || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \ - || (CONFIG_KEYPAD == SANSA_CLIP_PAD) \ - || (CONFIG_KEYPAD == SANSA_M200_PAD) - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE}, + /* Directions */ +#if ((CONFIG_KEYPAD == IRIVER_H100_PAD) \ + || (CONFIG_KEYPAD == IRIVER_H300_PAD) \ + || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ + || (CONFIG_KEYPAD == GIGABEAT_PAD) \ + || (CONFIG_KEYPAD == RECORDER_PAD) \ + || (CONFIG_KEYPAD == ARCHOS_AV300_PAD) \ + || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ + || (CONFIG_KEYPAD == ONDIO_PAD) \ + || (CONFIG_KEYPAD == SANSA_C200_PAD) \ + || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ + || (CONFIG_KEYPAD == MROBE100_PAD) \ + || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) \ + || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \ + || (CONFIG_KEYPAD == SANSA_CLIP_PAD) \ + || (CONFIG_KEYPAD == CREATIVEZVM_PAD) \ + || (CONFIG_KEYPAD == SANSA_M200_PAD) \ + || (CONFIG_KEYPAD == SANSA_E200_PAD) \ + || (CONFIG_KEYPAD == SANSA_FUZE_PAD) \ + || (CONFIG_KEYPAD == SAMSUNG_YH_PAD)) + { PLA_UP, BUTTON_UP, BUTTON_NONE }, + { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE }, + { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, #elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ - || (CONFIG_KEYPAD == IPOD_3G_PAD) \ - || (CONFIG_KEYPAD == IPOD_4G_PAD) - { PLA_LEFT, BUTTON_SCROLL_BACK, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_SCROLL_FWD, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE}, -#elif CONFIG_KEYPAD == ONDIO_PAD - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_UP, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == PLAYER_PAD - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_ON, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_ON|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == RECORDER_PAD - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_PLAY, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == SANSA_C200_PAD) \ - || (CONFIG_KEYPAD == ARCHOS_AV300_PAD) - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE}, -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) \ - || (CONFIG_KEYPAD == SANSA_FUZE_PAD) - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE}, + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) + { PLA_UP, BUTTON_MENU, BUTTON_NONE }, + { PLA_DOWN, BUTTON_PLAY, BUTTON_NONE }, + { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, +#elif (CONFIG_KEYPAD == PLAYER_PAD) + { PLA_UP, BUTTON_PLAY, BUTTON_NONE }, + { PLA_DOWN, BUTTON_STOP, BUTTON_NONE }, + { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_REW, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == MROBE500_PAD) - { PLA_LEFT, BUTTON_RC_REW, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RC_FF, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_RC_HEART, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == COWOND2_PAD) - { PLA_LEFT, BUTTON_MINUS, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_MINUS|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_PLUS, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_PLUS|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_MENU, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD - { PLA_LEFT, BUTTON_RC_REW, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RC_FF, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_UP, BUTTON_SCROLL_UP, BUTTON_NONE }, + { PLA_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE }, + { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, #elif (CONFIG_KEYPAD == IAUDIO67_PAD) - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_MENU, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == CREATIVEZVM_PAD) - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == ONDAVX747_PAD) /* Touchscreen target */ -#elif (CONFIG_KEYPAD == ONDAVX777_PAD) /* Touchscreen target */ + { PLA_UP, BUTTON_STOP, BUTTON_NONE }, + { PLA_DOWN, BUTTON_PLAY, BUTTON_NONE }, + { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, +#elif CONFIG_KEYPAD == IAUDIO_M3_PAD + { PLA_UP, BUTTON_RC_VOL_UP, BUTTON_NONE}, + { PLA_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE}, + { PLA_LEFT, BUTTON_RC_REW, BUTTON_NONE}, + { PLA_RIGHT, BUTTON_RC_FF, 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_REW|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE}, #elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) - { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REW, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REW, BUTTON_NONE}, - { PLA_FIRE, BUTTON_UP, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE}, + { PLA_UP, BUTTON_UP, BUTTON_NONE}, + { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, + { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, + { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, + { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE}, + { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REW, BUTTON_NONE}, + { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REW, BUTTON_NONE}, + { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REW, BUTTON_NONE}, #else - #error pluginlib_actions: Unsupported keypad +#ifndef HAVE_TOUCHSCREEN + #error pluginlib_actions: No directions defined #endif - {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE} -}; +#endif -/* these were taken from the bubbles plugin, so may need tweaking */ -const struct button_mapping generic_actions[] = -{ -#ifdef HAVE_TOUCHSCREEN - {PLA_QUIT, BUTTON_BOTTOMRIGHT, BUTTON_NONE}, - {PLA_START, BUTTON_CENTER, BUTTON_NONE}, - {PLA_MENU, BUTTON_TOPLEFT, BUTTON_NONE}, - {PLA_FIRE, BUTTON_BOTTOMMIDDLE, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE}, + /* Scrollwheels */ +#ifdef HAVE_SCROLLWHEEL + { PLA_SCROLL_BACK, BUTTON_SCROLL_BACK, BUTTON_NONE }, + { PLA_SCROLL_FWD, BUTTON_SCROLL_FWD, BUTTON_NONE }, + { PLA_SCROLL_BACK_REPEAT,BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_SCROLL_FWD_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, #endif + + /* Actions */ #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) - {PLA_QUIT, BUTTON_OFF, BUTTON_NONE}, - {PLA_QUIT, BUTTON_RC_STOP, BUTTON_NONE}, - {PLA_START, BUTTON_ON, BUTTON_NONE}, - {PLA_START, BUTTON_RC_ON, BUTTON_NONE}, - {PLA_MENU, BUTTON_MODE, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE, BUTTON_RC_MENU, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_RC_MENU|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_CANCEL, BUTTON_OFF, BUTTON_NONE }, + { PLA_CANCEL, BUTTON_RC_STOP, BUTTON_NONE }, + { PLA_EXIT, BUTTON_ON, BUTTON_NONE }, + { PLA_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, + { PLA_SELECT, BUTTON_RC_ON|BUTTON_REL, BUTTON_NONE }, + { PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_SELECT_REPEAT, BUTTON_RC_ON|BUTTON_REPEAT, BUTTON_NONE }, #elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ || (CONFIG_KEYPAD == IPOD_3G_PAD) \ || (CONFIG_KEYPAD == IPOD_4G_PAD) - {PLA_QUIT, BUTTON_MENU|BUTTON_SELECT, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, - {PLA_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY, BUTTON_NONE}, - {PLA_START, BUTTON_RC_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_REC, BUTTON_NONE}, - {PLA_MENU, BUTTON_RC_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == GIGABEAT_PAD - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_A, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == GIGABEAT_S_PAD - {PLA_QUIT, BUTTON_BACK, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == RECORDER_PAD - {PLA_QUIT, BUTTON_OFF, BUTTON_NONE}, - {PLA_START, BUTTON_ON, BUTTON_NONE}, - {PLA_MENU, BUTTON_F1, BUTTON_NONE}, - {PLA_FIRE, BUTTON_PLAY, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD - {PLA_QUIT, BUTTON_OFF, BUTTON_NONE}, - {PLA_START, BUTTON_ON, BUTTON_NONE}, - {PLA_MENU, BUTTON_F1, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == ONDIO_PAD - {PLA_QUIT, BUTTON_OFF, BUTTON_NONE}, - {PLA_START, BUTTON_MENU, BUTTON_NONE}, - {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, - {PLA_FIRE, BUTTON_UP, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == PLAYER_PAD - {PLA_QUIT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_ON, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_ON|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == SANSA_E200_PAD || \ - CONFIG_KEYPAD == SANSA_C200_PAD || \ - CONFIG_KEYPAD == SANSA_CLIP_PAD || \ - CONFIG_KEYPAD == SANSA_M200_PAD - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_UP, BUTTON_NONE}, - {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == SANSA_FUZE_PAD - {PLA_QUIT, (BUTTON_HOME|BUTTON_REPEAT), BUTTON_NONE}, - {PLA_START, BUTTON_UP, BUTTON_NONE}, - {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == IRIVER_H10_PAD - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_FF, BUTTON_NONE}, - {PLA_FIRE, BUTTON_REW, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD - {PLA_QUIT, BUTTON_EQ, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_MODE, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_CANCEL, BUTTON_MENU|BUTTON_SELECT, BUTTON_NONE }, + { PLA_EXIT, BUTTON_PLAY|BUTTON_SELECT, BUTTON_NONE }, + { PLA_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, + { PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE }, +#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) + { PLA_CANCEL, BUTTON_POWER, BUTTON_NONE }, + { PLA_EXIT, BUTTON_PLAY|BUTTON_SELECT, BUTTON_NONE }, + { PLA_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, + { PLA_SELECT, BUTTON_RC_MODE|BUTTON_REL, BUTTON_NONE }, + { PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_SELECT_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE }, +#elif (CONFIG_KEYPAD == GIGABEAT_PAD \ + || CONFIG_KEYPAD == SANSA_E200_PAD \ + || CONFIG_KEYPAD == SANSA_C200_PAD \ + || CONFIG_KEYPAD == SANSA_CLIP_PAD \ + || CONFIG_KEYPAD == SANSA_M200_PAD \ + || CONFIG_KEYPAD == MROBE100_PAD \ + || CONFIG_KEYPAD == PHILIPS_SA9200_PAD \ + || CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) + { PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + { PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + { PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) + { PLA_CANCEL, BUTTON_BACK, BUTTON_NONE}, + { PLA_EXIT, BUTTON_MENU, BUTTON_NONE}, + { PLA_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + { PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == RECORDER_PAD) + { PLA_CANCEL, BUTTON_ON, BUTTON_NONE}, + { PLA_EXIT, BUTTON_OFF, BUTTON_NONE}, + { PLA_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, + { PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == ARCHOS_AV300_PAD) + { PLA_CANCEL, BUTTON_OFF|BUTTON_REL, BUTTON_OFF}, + { PLA_EXIT, BUTTON_OFF|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + { PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == ONDIO_PAD) + { PLA_CANCEL, BUTTON_OFF|BUTTON_REL, BUTTON_OFF}, + { PLA_EXIT, BUTTON_OFF|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU}, + { PLA_SELECT_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == PLAYER_PAD) + { PLA_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_MENU}, + { PLA_EXIT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_ON|BUTTON_REL, BUTTON_ON}, + { PLA_SELECT_REPEAT, BUTTON_ON|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) + { PLA_CANCEL, BUTTON_HOME|BUTTON_REL, BUTTON_HOME}, + { PLA_EXIT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + { PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) + { PLA_CANCEL, BUTTON_REW, BUTTON_NONE}, + { PLA_EXIT, BUTTON_POWER, BUTTON_NONE}, + { PLA_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, + { PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) + { PLA_CANCEL, BUTTON_EQ|BUTOTN_REL, BUTTON_EQ}, + { PLA_EXIT, BUTTON_EQ|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + { PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, #elif (CONFIG_KEYPAD == MROBE500_PAD) - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_RC_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_RC_MODE, BUTTON_NONE}, - {PLA_FIRE, BUTTON_RC_HEART, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == MROBE100_PAD - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + { PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_RC_HEART|BUTTON_REL, BUTTON_RC_HEART}, + { PLA_SELECT_REPEAT, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_NONE}, #elif (CONFIG_KEYPAD == COWOND2_PAD) - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_MINUS, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_CENTER, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_CENTER|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD - {PLA_QUIT, BUTTON_RC_REC, BUTTON_NONE}, - {PLA_START, BUTTON_RC_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_RC_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_RIGHT, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + { PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_MINUS|BUTTON_REL, BUTTON_MINUS}, + { PLA_SELECT_REPEAT, BUTTON_MINUS|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == IAUDIO_M3_PAD) + { PLA_CANCEL, BUTTON_RC_REC|BUTTON_REL, BUTTON_RC_REC}, + { PLA_EXIT, BUTTON_RC_REC|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE}, + { PLA_SELECT_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE}, #elif (CONFIG_KEYPAD == IAUDIO67_PAD) - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_VOLUP, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + { PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, + { PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT BUTTON_NONE}, #elif (CONFIG_KEYPAD == CREATIVEZVM_PAD) - {PLA_QUIT, BUTTON_BACK, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_VIEW, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_CANCEL, BUTTON_BACK|BUTTON_REL, BUTTON_BACK}, + { PLA_EXIT, BUTTON_BACK|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + { PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, #elif (CONFIG_KEYPAD == ONDAVX747_PAD) - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_VOL_DOWN, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_VOL_UP, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, #elif (CONFIG_KEYPAD == ONDAVX777_PAD) - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_VOL_DOWN, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_VOL_UP, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + { PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_SELECT, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP}, + { PLA_SELECT_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, #elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) - {PLA_QUIT, BUTTON_REW, BUTTON_NONE}, - {PLA_START, BUTTON_FFWD, BUTTON_NONE}, - {PLA_MENU, BUTTON_PLAY, BUTTON_NONE}, - {PLA_FIRE, BUTTON_UP, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE}, + { PLA_CANCEL, BUTTON_REW, BUTTON_NONE}, + { PLA_EXIT, BUTTON_FFWD, BUTTON_NONE}, + { PLA_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, + { PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, #else - #error pluginlib_actions: Unsupported keypad + #error pluginlib_actions: No actions defined #endif - {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE} + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_PLUGIN), }; -const struct button_mapping generic_increase_decrease[] = -{ -#ifdef HAVE_TOUCHSCREEN - {PLA_INC, BUTTON_TOPMIDDLE, BUTTON_NONE}, - {PLA_DEC, BUTTON_BOTTOMMIDDLE, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE}, -#endif -#if (CONFIG_KEYPAD == IRIVER_H100_PAD) \ - || (CONFIG_KEYPAD == IRIVER_H300_PAD) \ - || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ - || (CONFIG_KEYPAD == GIGABEAT_PAD) \ - || (CONFIG_KEYPAD == RECORDER_PAD) \ - || (CONFIG_KEYPAD == ARCHOS_AV300_PAD) \ - || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ - || (CONFIG_KEYPAD == ONDIO_PAD) \ - || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ - || (CONFIG_KEYPAD == MROBE100_PAD) \ - || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) \ - || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \ - || (CONFIG_KEYPAD == SANSA_CLIP_PAD) \ - || (CONFIG_KEYPAD == CREATIVEZVM_PAD) \ - || (CONFIG_KEYPAD == SANSA_M200_PAD) - {PLA_INC, BUTTON_UP, BUTTON_NONE}, - {PLA_DEC, BUTTON_DOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == SANSA_C200_PAD) - {PLA_INC, BUTTON_VOL_UP, BUTTON_NONE}, - {PLA_DEC, BUTTON_VOL_DOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ - || (CONFIG_KEYPAD == IPOD_3G_PAD) \ - || (CONFIG_KEYPAD == IPOD_4G_PAD) \ - || (CONFIG_KEYPAD == SANSA_E200_PAD) \ - || (CONFIG_KEYPAD == SANSA_FUZE_PAD) - {PLA_INC, BUTTON_SCROLL_FWD, BUTTON_NONE}, - {PLA_DEC, BUTTON_SCROLL_BACK, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == PLAYER_PAD - {PLA_INC, BUTTON_STOP, BUTTON_NONE}, - {PLA_DEC, BUTTON_PLAY, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) - {PLA_INC, BUTTON_SCROLL_UP, BUTTON_NONE}, - {PLA_DEC, BUTTON_SCROLL_DOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == MROBE500_PAD) - {PLA_INC, BUTTON_RC_PLAY, BUTTON_NONE}, - {PLA_DEC, BUTTON_RC_DOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD - {PLA_INC, BUTTON_RC_VOL_UP, BUTTON_NONE}, - {PLA_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == COWOND2_PAD - {PLA_INC, BUTTON_PLUS, BUTTON_NONE}, - {PLA_DEC, BUTTON_MINUS, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_PLUS|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_MINUS|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == IAUDIO67_PAD - {PLA_INC, BUTTON_VOLUP, BUTTON_NONE}, - {PLA_DEC, BUTTON_VOLDOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == ONDAVX747_PAD - {PLA_INC, BUTTON_VOL_UP, BUTTON_NONE}, - {PLA_DEC, BUTTON_VOL_DOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == ONDAVX777_PAD - {PLA_INC, BUTTON_VOL_UP, BUTTON_NONE}, - {PLA_DEC, BUTTON_VOL_DOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD - {PLA_INC, BUTTON_UP, BUTTON_NONE}, - {PLA_DEC, BUTTON_DOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_DOWN|BUTTON_REW, BUTTON_NONE}, -#else -#error pluginlib_actions: Unsupported keypad -#endif - {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE} -}; static struct button_mapping **plugin_context_order; static int plugin_context_count = 0; Index: apps/plugins/lib/pluginlib_actions.h =================================================================== --- apps/plugins/lib/pluginlib_actions.h (Revision 23345) +++ apps/plugins/lib/pluginlib_actions.h (Arbeitskopie) @@ -38,27 +38,25 @@ PLA_LEFT_REPEAT, PLA_RIGHT_REPEAT, - PLA_INC, - PLA_DEC, - PLA_INC_REPEAT, - PLA_DEC_REPEAT, + PLA_CANCEL, + PLA_EXIT, + PLA_SELECT, + PLA_SELECT_REPEAT, - PLA_QUIT, - PLA_START, - PLA_MENU, - PLA_FIRE, - PLA_FIRE_REPEAT, +#ifdef HAVE_SCROLLWHEEL + PLA_SCROLL_FWD, + PLA_SCROLL_FWD_REPEAT, + PLA_SCROLL_BACK, + PLA_SCROLL_BACK_REPEAT, +#endif LAST_PLUGINLIB_ACTION }; #if defined(HAVE_REMOTE_LCD) -extern const struct button_mapping remote_directions[]; +extern const struct button_mapping pla_remote_ctx[]; #endif -extern const struct button_mapping generic_directions[]; -extern const struct button_mapping generic_left_right_fire[]; -extern const struct button_mapping generic_actions[]; -extern const struct button_mapping generic_increase_decrease[]; +extern const struct button_mapping pla_main_ctx[]; int pluginlib_getaction(int timeout, const struct button_mapping *plugin_contexts[], Index: apps/plugins/pitch_detector.c =================================================================== --- apps/plugins/pitch_detector.c (Revision 23345) +++ apps/plugins/pitch_detector.c (Arbeitskopie) @@ -413,14 +413,11 @@ /* Keymaps */ const struct button_mapping* plugin_contexts[]={ - generic_actions, - generic_increase_decrease, - generic_directions, -#if NB_SCREENS == 2 - remote_directions + pla_main_ctx, +#ifdef HAVE_REMOTE_LCD + pla_remote_ctx, #endif }; -#define PLA_ARRAY_COUNT sizeof(plugin_contexts)/sizeof(plugin_contexts[0]) /* Option strings */ @@ -1015,15 +1012,16 @@ /* Only do this loop once if this is the simulator */ recording = 0; #endif - button=pluginlib_getaction(0, plugin_contexts, PLA_ARRAY_COUNT); + button=pluginlib_getaction(0, plugin_contexts, + ARRAYLEN(plugin_contexts)); switch(button) { - case PLA_QUIT: + case PLA_EXIT: quit=true; rb->yield(); break; - case PLA_MENU: + case PLA_CANCEL: if(main_menu()) quit=true; else redraw = true; Index: apps/plugins/mazezam.c =================================================================== --- apps/plugins/mazezam.c (Revision 23345) +++ apps/plugins/mazezam.c (Arbeitskopie) @@ -27,19 +27,7 @@ /* Include standard plugin macro */ PLUGIN_HEADER -#if (CONFIG_KEYPAD == IPOD_4G_PAD) || \ - (CONFIG_KEYPAD == IPOD_1G2G_PAD) -# define MAZEZAM_MENU (BUTTON_SELECT | BUTTON_MENU) -# define MAZEZAM_RIGHT BUTTON_RIGHT -# define MAZEZAM_LEFT BUTTON_LEFT -# define MAZEZAM_UP BUTTON_MENU -# define MAZEZAM_DOWN BUTTON_PLAY -# define MAZEZAM_RIGHT_REPEAT (BUTTON_RIGHT|BUTTON_REPEAT) -# define MAZEZAM_LEFT_REPEAT (BUTTON_LEFT|BUTTON_REPEAT) -# define MAZEZAM_UP_REPEAT (BUTTON_MENU|BUTTON_REPEAT) -# define MAZEZAM_DOWN_REPEAT (BUTTON_PLAY|BUTTON_REPEAT) - -#elif (CONFIG_KEYPAD == IPOD_3G_PAD) +#if (CONFIG_KEYPAD == IPOD_3G_PAD) # define MAZEZAM_MENU BUTTON_MENU # define MAZEZAM_RIGHT BUTTON_RIGHT # define MAZEZAM_LEFT BUTTON_LEFT @@ -50,32 +38,9 @@ # define MAZEZAM_UP_REPEAT (BUTTON_SCROLL_BACK|BUTTON_REPEAT) # define MAZEZAM_DOWN_REPEAT (BUTTON_SCROLL_FWD|BUTTON_REPEAT) -#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) -# define MAZEZAM_MENU (BUTTON_HOME | BUTTON_REPEAT) -# define MAZEZAM_RIGHT BUTTON_RIGHT -# define MAZEZAM_LEFT BUTTON_LEFT -# define MAZEZAM_UP BUTTON_UP -# define MAZEZAM_DOWN BUTTON_DOWN -# define MAZEZAM_RIGHT_REPEAT (BUTTON_RIGHT|BUTTON_REPEAT) -# define MAZEZAM_LEFT_REPEAT (BUTTON_LEFT|BUTTON_REPEAT) -# define MAZEZAM_UP_REPEAT (BUTTON_UP|BUTTON_REPEAT) -# define MAZEZAM_DOWN_REPEAT (BUTTON_DOWN|BUTTON_REPEAT) - -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) -# define MAZEZAM_MENU BUTTON_POWER -# define MAZEZAM_SOLVE BUTTON_SELECT -# define MAZEZAM_RIGHT BUTTON_RIGHT -# define MAZEZAM_LEFT BUTTON_LEFT -# define MAZEZAM_UP BUTTON_UP -# define MAZEZAM_DOWN BUTTON_DOWN -# define MAZEZAM_RIGHT_REPEAT (BUTTON_RIGHT|BUTTON_REPEAT) -# define MAZEZAM_LEFT_REPEAT (BUTTON_LEFT|BUTTON_REPEAT) -# define MAZEZAM_UP_REPEAT (BUTTON_UP|BUTTON_REPEAT) -# define MAZEZAM_DOWN_REPEAT (BUTTON_DOWN|BUTTON_REPEAT) - #else # include "lib/pluginlib_actions.h" -# define MAZEZAM_MENU PLA_QUIT +# define MAZEZAM_MENU PLA_CANCEL # define MAZEZAM_RIGHT PLA_RIGHT # define MAZEZAM_LEFT PLA_LEFT # define MAZEZAM_UP PLA_UP @@ -85,7 +50,7 @@ # define MAZEZAM_UP_REPEAT PLA_UP_REPEAT # define MAZEZAM_DOWN_REPEAT PLA_DOWN_REPEAT const struct button_mapping *plugin_contexts[] -= {generic_directions, generic_actions}; += { pla_main_ctx }; #endif /* All the text is here */ @@ -586,7 +551,8 @@ draw_level(li, shift, *x, *y); rb->lcd_update(); #ifdef __PLUGINLIB_ACTIONS_H__ - button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, 2); + button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, + ARRAYLEN(plugin_contexts)); #else button = rb->button_get(true); #endif Index: apps/plugins/metronome.c =================================================================== --- apps/plugins/metronome.c (Revision 23345) +++ apps/plugins/metronome.c (Arbeitskopie) @@ -608,62 +608,56 @@ }; #endif -#define METRONOME_QUIT PLA_QUIT -#define METRONOME_VOL_UP PLA_INC -#define METRONOME_VOL_DOWN PLA_DEC -#define METRONOME_VOL_UP_REP PLA_INC_REPEAT -#define METRONOME_VOL_DOWN_REP PLA_DEC_REPEAT +#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) \ + || (CONFIG_KEYPAD == SANSA_E200_PAD) || (CONFIG_KEYPAD == SAMSUNG_YH_PAD) +#define MET_SYNC +#endif + +#define METRONOME_QUIT PLA_EXIT + +#ifdef HAVE_SCROLLWHEEL +#define METRONOME_VOL_UP PLA_SCROLL_FWD +#define METRONOME_VOL_UP_REP PLA_SCROLL_FWD_REPEAT +#define METRONOME_VOL_DOWN PLA_SCROLL_BACK +#define METRONOME_VOL_DOWN_REP PLA_SCROLL_BACK_REPEAT +#else +#define METRONOME_VOL_UP PLA_UP +#define METRONOME_VOL_DOWN PLA_DOWN +#define METRONOME_VOL_UP_REP PLA_UP_REPEAT +#define METRONOME_VOL_DOWN_REP PLA_DOWN_REPEAT +#endif #define METRONOME_LEFT PLA_LEFT #define METRONOME_RIGHT PLA_RIGHT #define METRONOME_LEFT_REP PLA_LEFT_REPEAT #define METRONOME_RIGHT_REP PLA_RIGHT_REPEAT +#define METRONOME_TAP PLA_SELECT +#define METRONOME_PAUSE PLA_CANCEL +#define METRONOME_PLAY PLA_SELECT_REPEAT + +#if defined(MET_SYNC) enum { - METRONOME_PLAY_TAP = LAST_PLUGINLIB_ACTION+1, -#if CONFIG_KEYPAD == ONDIO_PAD - METRONOME_PAUSE, -#endif /* ONDIO_PAD */ -#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) - METRONOME_SYNC -#endif /* IRIVER_H100_PAD||IRIVER_H300_PAD */ + METRONOME_SYNC = LAST_PLUGINLIB_ACTION+1, }; +#endif /* defined(MET_SYNC) */ -#if CONFIG_KEYPAD == ONDIO_PAD -#define METRONOME_TAP PLA_START -#define METRONOME_MSG_START "start: mode" -#define METRONOME_MSG_STOP "pause: hold mode" -static const struct button_mapping ondio_action[] = -{ - {METRONOME_PLAY_TAP, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, - {METRONOME_PAUSE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, - {CONTEXT_CUSTOM,BUTTON_NONE,BUTTON_NONE} -}; -#else /* !ONDIO_PAD */ -#define METRONOME_TAP PLA_FIRE -#define METRONOME_PLAYPAUSE PLA_START -#define METRONOME_MSG_START "press play" -#define METRONOME_MSG_STOP "press pause" +#define METRONOME_MSG_START "start: press select" +#define METRONOME_MSG_STOP "start: hold select" -#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) -#define MET_SYNC +#ifdef MET_SYNC static const struct button_mapping iriver_syncaction[] = { {METRONOME_SYNC, BUTTON_REC, BUTTON_NONE }, {CONTEXT_CUSTOM,BUTTON_NONE,BUTTON_NONE} }; #endif /* IRIVER_H100_PAD||IRIVER_H300_PAD */ -#endif /* #if CONFIG_KEYPAD == ONDIO_PAD */ const struct button_mapping *plugin_contexts[] = { - generic_increase_decrease, - generic_directions, -#if CONFIG_KEYPAD == ONDIO_PAD - ondio_action, -#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) + pla_main_ctx, +#if defined(MET_SYNC) iriver_syncaction, #endif - generic_actions }; #define PLA_ARRAY_COUNT sizeof(plugin_contexts)/sizeof(plugin_contexts[0]) @@ -890,6 +884,7 @@ enum plugin_status plugin_start(const void* parameter) { int button; + static int last_button = BUTTON_NONE; enum plugin_status status; (void)parameter; @@ -918,7 +913,7 @@ while (true){ reset_tap = true; #if CONFIG_CODEC == SWCODEC - button = pluginlib_getaction(1,plugin_contexts,PLA_ARRAY_COUNT); + button = pluginlib_getaction(TIMEOUT_NOBLOCK,plugin_contexts,PLA_ARRAY_COUNT); if (need_to_play) { need_to_play = false; @@ -936,35 +931,25 @@ status = PLUGIN_OK; goto metronome_exit; -#if CONFIG_KEYPAD == ONDIO_PAD - case METRONOME_PLAY_TAP: - if(sound_paused) { - sound_paused = false; - calc_period(); - draw_display(); - } - else - tap(); - break; - case METRONOME_PAUSE: - if(!sound_paused) { + if(!sound_paused) + { sound_paused = true; draw_display(); } break; - -#else - case METRONOME_PLAYPAUSE: + case METRONOME_PLAY: if(sound_paused) + { sound_paused = false; - else - sound_paused = true; - calc_period(); - draw_display(); + calc_period(); + draw_display(); + } break; -#endif /* ONDIO_PAD */ - + case METRONOME_TAP: + if (last_button != METRONOME_PLAY) + tap(); + break; case METRONOME_VOL_UP: case METRONOME_VOL_UP_REP: change_volume(1); @@ -989,12 +974,6 @@ change_bpm(1); break; -#ifdef METRONOME_TAP - case METRONOME_TAP: - tap(); - break; -#endif - #ifdef MET_SYNC case METRONOME_SYNC: minitick = period; @@ -1012,6 +991,8 @@ break; } + if (button) + last_button = button; if (reset_tap) { tap_count = 0; } Index: apps/plugins/demystify.c =================================================================== --- apps/plugins/demystify.c (Revision 23345) +++ apps/plugins/demystify.c (Arbeitskopie) @@ -37,26 +37,33 @@ #define MIN_POLYGONS 1 /* Key assignement */ -#define DEMYSTIFY_QUIT PLA_QUIT +#define DEMYSTIFY_QUIT PLA_CANCEL -#define DEMYSTIFY_INCREASE_SPEED PLA_RIGHT -#define DEMYSTIFY_DECREASE_SPEED PLA_LEFT -#define DEMYSTIFY_INCREASE_SPEED_REPEAT PLA_RIGHT_REPEAT -#define DEMYSTIFY_DECREASE_SPEED_REPEAT PLA_LEFT_REPEAT +#ifdef HAVE_SCROLLWHEEL -#define DEMYSTIFY_ADD_POLYGON PLA_UP -#define DEMYSTIFY_REMOVE_POLYGON PLA_DOWN -#define DEMYSTIFY_ADD_POLYGON_REPEAT PLA_UP_REPEAT -#define DEMYSTIFY_REMOVE_POLYGON_REPEAT PLA_DOWN_REPEAT +#define DEMYSTIFY_INCREASE_SPEED PLA_SCROLL_FWD +#define DEMYSTIFY_DECREASE_SPEED PLA_SCROLL_BACK +#define DEMYSTIFY_INCREASE_SPEED_REPEAT PLA_SCROLL_FWD_REPEAT +#define DEMYSTIFY_DECREASE_SPEED_REPEAT PLA_SCROLL_BACK_REPEAT +#else +#define DEMYSTIFY_INCREASE_SPEED PLA_RIGHT +#define DEMYSTIFY_DECREASE_SPEED PLA_LEFT +#define DEMYSTIFY_INCREASE_SPEED_REPEAT PLA_RIGHT_REPEAT +#define DEMYSTIFY_DECREASE_SPEED_REPEAT PLA_LEFT_REPEAT +#endif +#define DEMYSTIFY_ADD_POLYGON PLA_UP +#define DEMYSTIFY_REMOVE_POLYGON PLA_DOWN +#define DEMYSTIFY_ADD_POLYGON_REPEAT PLA_UP_REPEAT +#define DEMYSTIFY_REMOVE_POLYGON_REPEAT PLA_DOWN_REPEAT + const struct button_mapping *plugin_contexts[] -= {generic_directions, generic_actions, += {pla_main_ctx, #if defined(HAVE_REMOTE_LCD) - remote_directions + pla_remote_ctx, #endif }; -#define NB_ACTION_CONTEXTS \ - sizeof(plugin_contexts)/sizeof(struct button_mapping*) + #ifdef HAVE_LCD_COLOR struct line_color { @@ -383,7 +390,7 @@ else rb->sleep(sleep_time); action = pluginlib_getaction(TIMEOUT_NOBLOCK, - plugin_contexts, NB_ACTION_CONTEXTS); + plugin_contexts, ARRAYLEN(plugin_contexts)); switch(action) { case DEMYSTIFY_QUIT: Index: apps/plugins/robotfindskitten.c =================================================================== --- apps/plugins/robotfindskitten.c (Revision 23345) +++ apps/plugins/robotfindskitten.c (Arbeitskopie) @@ -469,47 +469,7 @@ #define RFK_VERSION "v1.4142135.406" -/* Button definitions stolen from maze.c */ -#if (CONFIG_KEYPAD == IPOD_4G_PAD) || \ - (CONFIG_KEYPAD == IPOD_3G_PAD) || \ - (CONFIG_KEYPAD == IPOD_1G2G_PAD) -# undef __PLUGINLIB_ACTIONS_H__ -# define RFK_QUIT (BUTTON_SELECT | BUTTON_MENU) -# define RFK_RIGHT BUTTON_RIGHT -# define RFK_LEFT BUTTON_LEFT -# define RFK_UP BUTTON_MENU -# define RFK_DOWN BUTTON_PLAY -# define RFK_RRIGHT (BUTTON_RIGHT | BUTTON_REPEAT) -# define RFK_RLEFT (BUTTON_LEFT | BUTTON_REPEAT) -# define RFK_RUP (BUTTON_MENU | BUTTON_REPEAT) -# define RFK_RDOWN (BUTTON_PLAY | BUTTON_REPEAT) - -#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) -# undef __PLUGINLIB_ACTIONS_H__ -# define RFK_QUIT (BUTTON_HOME|BUTTON_REPEAT) -# define RFK_RIGHT BUTTON_RIGHT -# define RFK_LEFT BUTTON_LEFT -# define RFK_UP BUTTON_UP -# define RFK_DOWN BUTTON_DOWN -# define RFK_RRIGHT (BUTTON_RIGHT | BUTTON_REPEAT) -# define RFK_RLEFT (BUTTON_LEFT | BUTTON_REPEAT) -# define RFK_RUP (BUTTON_UP | BUTTON_REPEAT) -# define RFK_RDOWN (BUTTON_DOWN | BUTTON_REPEAT) - -#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) -# undef __PLUGINLIB_ACTIONS_H__ -# define RFK_QUIT (BUTTON_REC|BUTTON_REPEAT) -# define RFK_RIGHT BUTTON_RIGHT -# define RFK_LEFT BUTTON_LEFT -# define RFK_UP BUTTON_UP -# define RFK_DOWN BUTTON_DOWN -# define RFK_RRIGHT (BUTTON_PLAY | BUTTON_RIGHT) -# define RFK_RLEFT (BUTTON_PLAY | BUTTON_LEFT) -# define RFK_RUP (BUTTON_PLAY | BUTTON_UP) -# define RFK_RDOWN (BUTTON_PLAY | BUTTON_DOWN) - -#else -# define RFK_QUIT PLA_QUIT +# define RFK_QUIT PLA_CANCEL # define RFK_RIGHT PLA_RIGHT # define RFK_LEFT PLA_LEFT # define RFK_UP PLA_UP @@ -519,7 +479,6 @@ # define RFK_RUP PLA_UP_REPEAT # define RFK_RDOWN PLA_DOWN_REPEAT -#endif /*Constants for our internal representation of the screen.*/ #define EMPTY -1 #define ROBOT 0 @@ -677,9 +636,7 @@ int old_x = robot.x; int old_y = robot.y; int input = 0; /* Not sure what a reasonable initial value is */ -#ifdef __PLUGINLIB_ACTIONS_H__ - const struct button_mapping *plugin_contexts[] = {generic_directions, generic_actions}; -#endif + const struct button_mapping *plugin_contexts[] = {pla_main_ctx}; while (input != RFK_QUIT && exit_rfk == false) { @@ -701,7 +658,8 @@ old_y = robot.y; } #ifdef __PLUGINLIB_ACTIONS_H__ - input = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, 2); + input = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, + ARRAYLEN(plugin_contexts)); #else input = rb->button_get(true); #endif Index: apps/plugins/maze.c =================================================================== --- apps/plugins/maze.c (Revision 23345) +++ apps/plugins/maze.c (Arbeitskopie) @@ -37,20 +37,9 @@ /* key assignments */ -#if (CONFIG_KEYPAD == IPOD_4G_PAD) || \ - (CONFIG_KEYPAD == IPOD_1G2G_PAD) +#if (CONFIG_KEYPAD == IPOD_3G_PAD) # define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT) # define MAZE_NEW_PRE BUTTON_SELECT -# define MAZE_QUIT (BUTTON_SELECT | BUTTON_MENU) -# define MAZE_SOLVE (BUTTON_SELECT | BUTTON_PLAY) -# define MAZE_RIGHT BUTTON_RIGHT -# define MAZE_LEFT BUTTON_LEFT -# define MAZE_UP BUTTON_MENU -# define MAZE_DOWN BUTTON_PLAY - -#elif (CONFIG_KEYPAD == IPOD_3G_PAD) -# define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT) -# define MAZE_NEW_PRE BUTTON_SELECT # define MAZE_QUIT BUTTON_MENU # define MAZE_SOLVE (BUTTON_SELECT | BUTTON_PLAY) # define MAZE_RIGHT BUTTON_RIGHT @@ -58,35 +47,17 @@ # define MAZE_UP BUTTON_SCROLL_BACK # define MAZE_DOWN BUTTON_SCROLL_FWD -#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) -# define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT) -# define MAZE_QUIT (BUTTON_HOME | BUTTON_REPEAT) -# define MAZE_SOLVE BUTTON_SELECT -# define MAZE_RIGHT BUTTON_RIGHT -# define MAZE_LEFT BUTTON_LEFT -# define MAZE_UP BUTTON_UP -# define MAZE_DOWN BUTTON_DOWN - -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) -# define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT) -# define MAZE_QUIT BUTTON_POWER -# define MAZE_SOLVE BUTTON_SELECT -# define MAZE_RIGHT BUTTON_RIGHT -# define MAZE_LEFT BUTTON_LEFT -# define MAZE_UP BUTTON_UP -# define MAZE_DOWN BUTTON_DOWN - #else # include "lib/pluginlib_actions.h" -# define MAZE_NEW PLA_START -# define MAZE_QUIT PLA_QUIT -# define MAZE_SOLVE PLA_FIRE +# define MAZE_NEW PLA_SELECT_REPEAT +# define MAZE_QUIT PLA_CANCEL +# define MAZE_SOLVE PLA_SELECT # define MAZE_RIGHT PLA_RIGHT # define MAZE_LEFT PLA_LEFT # define MAZE_UP PLA_UP # define MAZE_DOWN PLA_DOWN static const struct button_mapping *plugin_contexts[] -= {generic_directions, generic_actions}; += {pla_main_ctx}; #endif @@ -546,7 +517,8 @@ while(!quit) { #ifdef __PLUGINLIB_ACTIONS_H__ - button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, 2); + button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, + ARRAYLEN(plugin_contexts)); #else button = rb->button_get(true); #endif Index: apps/plugins/codebuster.c =================================================================== --- apps/plugins/codebuster.c (Revision 23345) +++ apps/plugins/codebuster.c (Arbeitskopie) @@ -31,21 +31,29 @@ #define MAX_COLORS_COUNT 8 #define MAX_GUESSES_COUNT 10 -const struct button_mapping *plugin_contexts[] = - {generic_directions, generic_actions}; +const struct button_mapping *plugin_contexts[] += { pla_main_ctx }; /* Mapping */ -#define EXIT PLA_QUIT -#define VALIDATE PLA_FIRE +#define EXIT PLA_CANCEL +#define VALIDATE PLA_SELECT #define PREV_PIECE PLA_LEFT #define PREV_PIECE_REPEAT PLA_LEFT_REPEAT #define NEXT_PIECE PLA_RIGHT #define NEXT_PIECE_REPEAT PLA_RIGHT_REPEAT -#define PREV_COLOR PLA_UP -#define PREV_COLOR_REPEAT PLA_UP_REPEAT -#define NEXT_COLOR PLA_DOWN -#define NEXT_COLOR_REPEAT PLA_DOWN_REPEAT +#ifdef HAVE_SCROLLWHEEL +#define PREV_COLOR PLA_SCROLL_BACK +#define PREV_COLOR_REPEAT PLA_SCROLL_BACK_REPEAT +#define NEXT_COLOR PLA_SCROLL_FWD +#define NEXT_COLOR_REPEAT PLA_SCROLL_FWD_REPEAT +#else +#define PREV_COLOR PLA_DOWN +#define PREV_COLOR_REPEAT PLA_DOWN_REPEAT +#define NEXT_COLOR PLA_UP +#define NEXT_COLOR_REPEAT PLA_UP_REPEAT +#endif + /* * Screen structure: * * (guesses_count) lines of guesses, Index: apps/plugins/jackpot.c =================================================================== --- apps/plugins/jackpot.c (Revision 23345) +++ apps/plugins/jackpot.c (Arbeitskopie) @@ -25,7 +25,7 @@ PLUGIN_HEADER -const struct button_mapping* plugin_contexts[]={generic_actions}; +const struct button_mapping* plugin_contexts[]={pla_main_ctx}; #define NB_PICTURES 9 #define NB_SLOTS 3 @@ -313,12 +313,12 @@ while (true) { action = pluginlib_getaction(TIMEOUT_BLOCK, - plugin_contexts, 1); + plugin_contexts, ARRAYLEN(plugin_contexts)); switch ( action ) { - case PLA_QUIT: + case PLA_CANCEL: return PLUGIN_OK; - case PLA_FIRE: + case PLA_SELECT: jackpot_play_turn(&game); break; Index: apps/plugins/bubbles.c =================================================================== --- apps/plugins/bubbles.c (Revision 23345) +++ apps/plugins/bubbles.c (Arbeitskopie) @@ -66,47 +66,38 @@ /* keyboard layouts */ -#if (CONFIG_KEYPAD != SANSA_E200_PAD) && \ - (CONFIG_KEYPAD != SANSA_FUZE_PAD) -/* sansas use the wheel instead of left/right if available */ +#ifdef HAVE_SCROLLWHEEL +/* sansas or ipods use the wheel instead of left/right if available */ +#define BUBBLES_LEFT PLA_SCROLL_BACK +#define BUBBLES_LEFT_REP PLA_SCROLL_BACK_REPEAT +#define BUBBLES_RIGHT PLA_SCROLL_FWD +#define BUBBLES_RIGHT_REP PLA_SCROLL_FWD_REPEAT +#else #define BUBBLES_LEFT PLA_LEFT #define BUBBLES_LEFT_REP PLA_LEFT_REPEAT #define BUBBLES_RIGHT PLA_RIGHT #define BUBBLES_RIGHT_REP PLA_RIGHT_REPEAT -#define ANGLE_STEP 4 -#define ANGLE_STEP_REP 4 -#else -#define BUBBLES_LEFT PLA_UP -#define BUBBLES_LEFT_REP PLA_UP_REPEAT -#define BUBBLES_RIGHT PLA_DOWN -#define BUBBLES_RIGHT_REP PLA_DOWN_REPEAT -#define ANGLE_STEP 2 -#define ANGLE_STEP_REP 4 #endif -#define BUBBLES_QUIT PLA_QUIT -#define BUBBLES_START PLA_START -#define BUBBLES_SELECT PLA_FIRE -#define BUBBLES_RESUME PLA_MENU +#define ANGLE_STEP 2 +#define ANGLE_STEP_REP 4 -#if CONFIG_KEYPAD != ONDIO_PAD +#define BUBBLES_RESUME PLA_CANCEL +#define BUBBLES_QUIT PLA_EXIT -#define BUBBLES_LVLINC PLA_UP -#define BUBBLES_LVLINC_REP PLA_UP_REPEAT -#define BUBBLES_LVLDEC PLA_DOWN -#define BUBBLES_LVLDEC_REP PLA_DOWN_REPEAT - -#else /* ondio keys */ - -#define BUBBLES_LVLINC PLA_RIGHT -#define BUBBLES_LVLINC_REP PLA_RIGHT_REPEAT -#define BUBBLES_LVLDEC PLA_LEFT -#define BUBBLES_LVLDEC_REP PLA_LEFT_REPEAT - +/* these are better off shooting with up */ +#if (CONFIG_KEYPAD == SAMSUNG_YH_PAD) \ + || (CONFIG_KEYPAD == ONDIO_PAD) \ + || (CONFIG_KEYPAD == IRIVER_H10_PAD) +#define BUBBLES_SELECT PLA_UP +#define BUBBLES_START PLA_SELECT +#else +#define BUBBLES_SELECT PLA_SELECT +#define BUBBLES_START PLA_UP #endif /* external bitmaps */ -#ifdef HAVE_LCD_COLOR +#ifdef HAVE_LCD_COLOR #include "pluginbitmaps/bubbles_background.h" #endif #include "pluginbitmaps/bubbles_bubble.h" @@ -2300,16 +2291,15 @@ int buttonres; long start; const struct button_mapping *plugin_contexts[] -#if (CONFIG_KEYPAD != SANSA_E200_PAD) && \ - (CONFIG_KEYPAD != SANSA_FUZE_PAD) - = {generic_left_right_fire,generic_actions}; -#else - = {generic_directions,generic_actions}; + = { pla_main_ctx, +#ifdef HAVE_REMOTE_LCD + pla_remote_ctx, #endif + }; if (timeout < 0) timeout = 0; - button = pluginlib_getaction(timeout,plugin_contexts,2); + button = pluginlib_getaction(timeout,plugin_contexts,ARRAYLEN(plugin_contexts)); #if defined(HAS_BUTTON_HOLD) && !defined(HAVE_REMOTE_LCD_AS_MAIN) /* FIXME: Should probably check remote hold here */ if (rb->button_hold()) @@ -2344,7 +2334,8 @@ case BUBBLES_START: /* pause the game */ start = *rb->current_tick; rb->splash(0, "Paused"); - while(pluginlib_getaction(TIMEOUT_BLOCK,plugin_contexts,2) + while(pluginlib_getaction(TIMEOUT_BLOCK,plugin_contexts, + ARRAYLEN(plugin_contexts)) != (BUBBLES_START)); bb->startedshot += *rb->current_tick-start; bubbles_drawboard(bb);