diff --git a/apps/plugins/alarmclock.c b/apps/plugins/alarmclock.c index 88e3e858cb..23ad886f6c 100644 --- a/apps/plugins/alarmclock.c +++ b/apps/plugins/alarmclock.c @@ -24,8 +24,7 @@ PLUGIN_HEADER -const struct button_mapping *plugin_contexts[] = {generic_directions, - generic_actions}; +const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; static int current = 0; static bool tomorrow = false; @@ -33,7 +32,8 @@ static int alarm[2] = {0, 0}, maxval[2] = {24, 60}, prev_tick = 3600 * 24; static bool quit = false, usb = false, waiting = false, done = false; static inline int get_button(void) { - return pluginlib_getaction(HZ/2, plugin_contexts, 2); + return pluginlib_getaction(HZ/2, plugin_contexts, + ARRAYLEN(plugin_contexts)); } int rem_seconds(void) { @@ -125,7 +125,7 @@ enum plugin_status plugin_start(const void* parameter) while(!quit) { button = get_button(); - if (button == PLA_QUIT) + if (button == PLA_EXIT || PLA_CANCEL) quit = true; FOR_NB_SCREENS(i) { @@ -157,7 +157,8 @@ enum plugin_status plugin_start(const void* parameter) current = (current + 1) % 2; break; - case PLA_FIRE: { + case PLA_SELECT: + case PLA_SELECT_REPEAT: { if (rem_seconds() < 0) tomorrow = true; diff --git a/apps/plugins/bubbles.c b/apps/plugins/bubbles.c index 514621224a..f169a2ef45 100644 --- a/apps/plugins/bubbles.c +++ b/apps/plugins/bubbles.c @@ -66,28 +66,41 @@ enum { /* keyboard layouts */ -#if (CONFIG_KEYPAD != SANSA_E200_PAD) && \ - (CONFIG_KEYPAD != SANSA_FUZE_PAD) +#ifdef HAVE_SCROLLWHEEL /* sansas 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_QUIT1 PLA_QUIT -#define BUBBLES_QUIT2 PLA_MENU -#define BUBBLES_PAUSE PLA_START -#define BUBBLES_FIRE PLA_FIRE +#define ANGLE_STEP 2 +#define ANGLE_STEP_REP 4 + +#define BUBBLES_QUIT1 PLA_EXIT +#define BUBBLES_QUIT2 PLA_CANCEL + +/* these are better off shooting with up */ +#if (CONFIG_KEYPAD == SAMSUNG_YH_PAD) \ + || (CONFIG_KEYPAD == ONDIO_PAD) \ + || (CONFIG_KEYPAD == IRIVER_H10_PAD) +#define SHOOT_WITH_UP +#endif + +#ifdef SHOOT_WITH_UP +#define BUBBLES_FIRE PLA_UP +#define BUBBLES_FIRE_REPEAT PLA_UP_REPEAT +#define BUBBLES_PAUSE PLA_SELECT +#else +#define BUBBLES_FIRE PLA_SELECT +#define BUBBLES_FIRE_REPEAT PLA_SELECT_REPEAT +#define BUBBLES_PAUSE PLA_UP +#endif /* external bitmaps */ #ifdef HAVE_LCD_COLOR @@ -2294,16 +2307,15 @@ static int bubbles_handlebuttons(struct game_context* bb, bool animblock, int buttonres; long start; const struct button_mapping *plugin_contexts[] -#if (CONFIG_KEYPAD == SANSA_E200_PAD) || \ - (CONFIG_KEYPAD == SANSA_FUZE_PAD) - = {generic_directions,generic_actions}; -#else - = {generic_left_right_fire,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()) @@ -2324,6 +2336,7 @@ static int bubbles_handlebuttons(struct game_context* bb, bool animblock, break; case BUBBLES_FIRE: /* fire the shot */ + case BUBBLES_FIRE_REPEAT: if(!animblock) { bb->elapsedlvl += bb->elapsedshot; bb->elapsedshot = 0; @@ -2338,7 +2351,9 @@ static int bubbles_handlebuttons(struct game_context* bb, bool animblock, case BUBBLES_PAUSE: /* 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_PAUSE); bb->startedshot += *rb->current_tick-start; bubbles_drawboard(bb); diff --git a/apps/plugins/clock/clock.c b/apps/plugins/clock/clock.c index 1937954a0f..f06f3e15e4 100644 --- a/apps/plugins/clock/clock.c +++ b/apps/plugins/clock/clock.c @@ -34,27 +34,24 @@ PLUGIN_HEADER /* 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 @@ enum plugin_status plugin_start(const void* parameter){ 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) diff --git a/apps/plugins/codebuster.c b/apps/plugins/codebuster.c index bfcc25f9b5..0fd1234b29 100644 --- a/apps/plugins/codebuster.c +++ b/apps/plugins/codebuster.c @@ -31,8 +31,12 @@ PLUGIN_HEADER #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, +#ifdef HAVE_REMOTE_LCD + pla_remote_ctx, +#endif +}; /* * Screen structure: @@ -427,14 +431,14 @@ enum plugin_status plugin_start(const void* parameter) { draw_board(guess, piece); button = get_button(); - if (button == PLA_FIRE || button == PLA_START) + if (button == PLA_SELECT) break; switch (button) { /* Exit */ - case PLA_QUIT: - case PLA_MENU: + case PLA_EXIT: + case PLA_CANCEL: resume = true; main_menu(); break; @@ -452,6 +456,10 @@ enum plugin_status plugin_start(const void* parameter) { break; /* Next color */ +#ifdef HAVE_SCROLLWHEEL + case PLA_SCROLL_FWD: + case PLA_SCROLL_FWD_REPEAT: +#endif case PLA_DOWN: case PLA_DOWN_REPEAT: guesses[guess].pieces[piece] = @@ -460,6 +468,10 @@ enum plugin_status plugin_start(const void* parameter) { break; /* Previous color */ +#ifdef HAVE_SCROLLWHEEL + case PLA_SCROLL_BACK: + case PLA_SCROLL_BACK_REPEAT: +#endif case PLA_UP: case PLA_UP_REPEAT: guesses[guess].pieces[piece] = diff --git a/apps/plugins/demystify.c b/apps/plugins/demystify.c index 5f44e11f3d..468f1806ce 100644 --- a/apps/plugins/demystify.c +++ b/apps/plugins/demystify.c @@ -37,26 +37,33 @@ PLUGIN_HEADER #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 @@ int plugin_main(void) 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: diff --git a/apps/plugins/dice.c b/apps/plugins/dice.c index bee9f89c6b..7bd51122ee 100644 --- a/apps/plugins/dice.c +++ b/apps/plugins/dice.c @@ -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 @@ enum plugin_status plugin_start(const void* parameter) { 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); diff --git a/apps/plugins/fire.c b/apps/plugins/fire.c index fff39b38c9..e1362dc900 100644 --- a/apps/plugins/fire.c +++ b/apps/plugins/fire.c @@ -51,20 +51,27 @@ GREY_INFO_STRUCT /* 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 @@ int main(void) 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: diff --git a/apps/plugins/frotz/frotz.c b/apps/plugins/frotz/frotz.c index f64431f14e..a12faf90aa 100644 --- a/apps/plugins/frotz/frotz.c +++ b/apps/plugins/frotz/frotz.c @@ -112,7 +112,7 @@ zchar menu(void) } } -const struct button_mapping* plugin_contexts[]={generic_actions}; +const struct button_mapping* plugin_contexts[]={pla_main_ctx}; void wait_for_key() { @@ -126,11 +126,11 @@ void wait_for_key() plugin_contexts, 1); switch (action) { - case PLA_QUIT: + case PLA_EXIT: hot_key_quit(); break; - case PLA_FIRE: + case PLA_SELECT: return; } } @@ -154,24 +154,24 @@ zchar do_input(int timeout, bool show_cursor) for (;;) { - action = pluginlib_getaction(timeout, - plugin_contexts, 1); + action = pluginlib_getaction(timeout, plugin_contexts, + ARRAYLEN(plugin_contexts)); switch (action) { - case PLA_QUIT: + case PLA_EXIT: return ZC_HKEY_QUIT; - case PLA_MENU: + case PLA_CANCEL: menu_ret = menu(); if (menu_ret != ZC_BAD) return menu_ret; timeout_at = *rb->current_tick + timeout; break; - case PLA_FIRE: + case PLA_SELECT: return ZC_RETURN; - case PLA_START: + case PLA_SELECT_REPEAT: return ZC_BAD; default: diff --git a/apps/plugins/jackpot.c b/apps/plugins/jackpot.c index 302c5c6851..56c2910b70 100644 --- a/apps/plugins/jackpot.c +++ b/apps/plugins/jackpot.c @@ -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 @@ enum plugin_status plugin_start(const void* parameter) 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; diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c index 29c9430f64..b68c390aae 100644 --- a/apps/plugins/lib/pluginlib_actions.c +++ b/apps/plugins/lib/pluginlib_actions.c @@ -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,35 +69,34 @@ const struct button_mapping remote_directions[] = { 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_REL, BUTTON_CENTER|BUTTON_REL, 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) \ + + /* Directions */ +#if ((CONFIG_KEYPAD == IRIVER_H100_PAD) \ || (CONFIG_KEYPAD == IRIVER_H300_PAD) \ || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ || (CONFIG_KEYPAD == GIGABEAT_PAD) \ @@ -110,86 +110,67 @@ const struct button_mapping generic_directions[] = || (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}, + || (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 }, + /* now the bad ones that don't have standard names for the directional + * buttons */ #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}, + || (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_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 == COWON_D2_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}, + { 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 == PHILIPS_SA9200_PAD) - { PLA_UP, BUTTON_UP, BUTTON_NONE}, - { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, - { PLA_LEFT, BUTTON_PREV, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE}, - { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_NEXT|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}, + { PLA_UP, BUTTON_UP, BUTTON_NONE }, + { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE }, + { PLA_LEFT, BUTTON_PREV, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_NEXT|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 == PBELL_VIBE500_PAD) { PLA_UP, BUTTON_UP, BUTTON_NONE}, { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, @@ -210,448 +191,172 @@ const struct button_mapping generic_directions[] = { PLA_RIGHT_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, #else - #error pluginlib_actions: Unsupported keypad +#ifndef HAVE_TOUCHSCREEN + #error pluginlib_actions: No directions defined #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_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}, -#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}, -#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 == COWON_D2_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}, -#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 == PHILIPS_SA9200_PAD) - { PLA_LEFT, BUTTON_PREV, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_PLAY, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_PLAY|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_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}, -#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD) - { PLA_LEFT, BUTTON_PREV, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_OK, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_OK|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == MPIO_HD200_PAD) - { PLA_LEFT, BUTTON_VOL_DOWN, BUTTON_NONE}, - { PLA_RIGHT, BUTTON_VOL_UP, BUTTON_NONE}, - { PLA_LEFT_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_RIGHT_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, - { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, - -#else - #error pluginlib_actions: Unsupported keypad + /* 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 - {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE} -}; -/* 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}, -#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_NONE }, + {PLA_SELECT, BUTTON_RC_ON, BUTTON_NONE }, + {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, + {PLA_SELECT_REL, BUTTON_RC_ON|BUTTON_REL, BUTTON_RC_ON }, + {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}, -#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}, -#elif (CONFIG_KEYPAD == COWON_D2_PAD) - {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, - {PLA_START, BUTTON_MINUS, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_PLUS, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_PLUS|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_PLAY, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_PLAY|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}, -#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}, -#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}, -#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}, -#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD) - {PLA_QUIT, BUTTON_REC, BUTTON_NONE}, - {PLA_START, BUTTON_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, - {PLA_FIRE, BUTTON_OK, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_OK|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == MPIO_HD200_PAD) - {PLA_QUIT, (BUTTON_REC|BUTTON_PLAY), BUTTON_NONE}, - {PLA_START, BUTTON_PLAY, BUTTON_NONE}, - {PLA_MENU, BUTTON_REC, BUTTON_NONE}, - {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, - {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, - -#else - #error pluginlib_actions: Unsupported keypad -#endif - {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE} -}; - -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}, + {PLA_CANCEL, BUTTON_MENU|BUTTON_SELECT, BUTTON_NONE }, + {PLA_EXIT, BUTTON_PLAY|BUTTON_SELECT, BUTTON_NONE }, + {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE }, + {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, + {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_NONE }, + {PLA_SELECT, BUTTON_RC_MODE, BUTTON_NONE }, + {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, + {PLA_SELECT_REL, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE }, + {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_NONE}, + {PLA_SELECT_REL, 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_NONE}, + {PLA_SELECT_REL, 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_NONE}, + {PLA_SELECT_REL, 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_NONE}, + {PLA_SELECT_REL, 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_NONE}, + {PLA_SELECT_REL, 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_NONE}, + {PLA_SELECT_REL, 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_NONE}, + {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, 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}, + {PLA_CANCEL, BUTTON_PREV, BUTTON_NONE}, + {PLA_EXIT, BUTTON_POWER, BUTTON_NONE}, + {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE}, + {PLA_SELECT_REL, 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_NONE}, + {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + {PLA_SELECT_REPEAT, BUTTON_SELECT|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 == COWON_D2_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}, -#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD - {PLA_INC, BUTTON_UP, BUTTON_NONE}, - {PLA_DEC, BUTTON_DOWN, BUTTON_NONE}, - {PLA_INC_REPEAT, BUTTON_UP, BUTTON_NONE}, - {PLA_DEC_REPEAT, BUTTON_DOWN, BUTTON_NONE}, -#elif CONFIG_KEYPAD == MPIO_HD200_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}, - + {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + {PLA_SELECT, BUTTON_RC_HEART, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_RC_HEART|BUTTON_REL, BUTTON_RC_HEART}, + {PLA_SELECT_REPEAT, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == COWON_D2_PAD) + {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + {PLA_SELECT, BUTTON_MINUS, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_MINUS|BUTTON_REL, BUTTON_MINUS}, + {PLA_SELECT_REPEAT, BUTTON_MINUS|BUTTON_MINUS, 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_NONE}, + {PLA_SELECT_REL, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE}, + {PLA_SELECT_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE}, +#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD + {PLA_EXIT, BUTTON_POWER, BUTTON_NONE}, + {PLA_CANCE BUTTON_MENU, BUTTON_NONE}, + {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, + {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == IAUDIO67_PAD) + {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, + {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT BUTTON_NONE}, +#elif (CONFIG_KEYPAD == CREATIVEZVM_PAD) + {PLA_CANCEL, BUTTON_BACK|BUTTON_REL, BUTTON_BACK}, + {PLA_EXIT, BUTTON_BACK|BUTTON_REPEAT, BUTTON_NONE}, + {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == ONDAVX747_PAD) + {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + {PLA_SELECT, BUTTON_VOL_UP, BUTTON_NONE}, + {PLA_SELECT_REL, 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_CANCEL, BUTTON_REW, BUTTON_NONE}, + {PLA_EXIT, BUTTON_FFWD, BUTTON_NONE}, + {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, + {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD) + {PLA_CANCEL, BUTTON_MENU, BUTTON_NONE}, + {PLA_EXIT, BUTTON_REC, BUTTON_NONE}, + {PLA_SELECT, BUTTON_OK, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_OK|BUTTON_REL, BUTTON_OK }, + {PLA_SELECT_REPEAT, BUTTON_OK|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == MPIO_HD200_PAD) + {PLA_CANCEL, BUTTON_REC, BUTTON_NONE}, + {PLA_EXIT, (BUTTON_REC|BUTTON_PLAY), BUTTON_NONE}, + {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, + {PLA_SELECT_REPEAT, BUTTON_SELECT|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), }; static struct button_mapping **plugin_context_order; diff --git a/apps/plugins/lib/pluginlib_actions.h b/apps/plugins/lib/pluginlib_actions.h index cc5f8b4eb8..51a0f4a84a 100644 --- a/apps/plugins/lib/pluginlib_actions.h +++ b/apps/plugins/lib/pluginlib_actions.h @@ -38,27 +38,26 @@ enum { PLA_LEFT_REPEAT, PLA_RIGHT_REPEAT, - PLA_INC, - PLA_DEC, - PLA_INC_REPEAT, - PLA_DEC_REPEAT, + PLA_CANCEL, + PLA_EXIT, + PLA_SELECT, + PLA_SELECT_REL, + 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[], diff --git a/apps/plugins/maze.c b/apps/plugins/maze.c index 307f14d86a..465dfa9e84 100644 --- a/apps/plugins/maze.c +++ b/apps/plugins/maze.c @@ -37,56 +37,35 @@ PLUGIN_HEADER /* key assignments */ -#if (CONFIG_KEYPAD == IPOD_4G_PAD) || \ - (CONFIG_KEYPAD == IPOD_1G2G_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 -# define MAZE_LEFT BUTTON_LEFT -# 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 +#if (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 +# define MAZE_RIGHT_REPEAT BUTTON_RIGHT|BUTTON_REPEAT +# define MAZE_LEFT BUTTON_LEFT +# define MAZE_LEFT_REPEAT BUTTON_LEFT|BUTTON_REPEAT +# define MAZE_UP BUTTON_SCROLL_BACK +# define MAZE_UP_REPEAT BUTTON_SCROLL_BACK|BUTTON_REPEAT +# define MAZE_DOWN BUTTON_SCROLL_FWD +# define MAZE_DOWN_REPEAT BUTTON_SCROLL_FWD|BUTTON_REPEAT #else # include "lib/pluginlib_actions.h" -# define MAZE_NEW PLA_START -# define MAZE_QUIT PLA_QUIT -# define MAZE_SOLVE PLA_FIRE -# define MAZE_RIGHT PLA_RIGHT -# define MAZE_LEFT PLA_LEFT -# define MAZE_UP PLA_UP -# define MAZE_DOWN PLA_DOWN +# define MAZE_NEW PLA_SELECT_REPEAT +# define MAZE_QUIT PLA_CANCEL +# define MAZE_SOLVE PLA_SELECT_REL +# define MAZE_RIGHT PLA_RIGHT +# define MAZE_RIGHT_REPEAT PLA_RIGHT_REPEAT +# define MAZE_LEFT PLA_LEFT +# define MAZE_LEFT_REPEAT PLA_LEFT_REPEAT +# define MAZE_UP PLA_UP +# define MAZE_UP_REPEAT PLA_UP_REPEAT +# define MAZE_DOWN PLA_DOWN +# define MAZE_DOWN_REPEAT PLA_DOWN_REPEAT static const struct button_mapping *plugin_contexts[] -= {generic_directions, generic_actions}; += {pla_main_ctx}; #endif @@ -546,7 +525,8 @@ enum plugin_status plugin_start(const void* parameter) 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 @@ -567,25 +547,25 @@ enum plugin_status plugin_start(const void* parameter) maze_draw(&maze, rb->screens[i]); break; case MAZE_UP: - case (MAZE_UP|BUTTON_REPEAT): + case MAZE_UP_REPEAT: maze_move_player_up(&maze); FOR_NB_SCREENS(i) maze_draw(&maze, rb->screens[i]); break; case MAZE_RIGHT: - case (MAZE_RIGHT|BUTTON_REPEAT): + case MAZE_RIGHT_REPEAT: maze_move_player_right(&maze); FOR_NB_SCREENS(i) maze_draw(&maze, rb->screens[i]); break; case MAZE_DOWN: - case (MAZE_DOWN|BUTTON_REPEAT): + case MAZE_DOWN_REPEAT: maze_move_player_down(&maze); FOR_NB_SCREENS(i) maze_draw(&maze, rb->screens[i]); break; case MAZE_LEFT: - case (MAZE_LEFT|BUTTON_REPEAT): + case MAZE_LEFT_REPEAT: maze_move_player_left(&maze); FOR_NB_SCREENS(i) maze_draw(&maze, rb->screens[i]); diff --git a/apps/plugins/mazezam.c b/apps/plugins/mazezam.c index 1eab90e9db..f4b76df374 100644 --- a/apps/plugins/mazezam.c +++ b/apps/plugins/mazezam.c @@ -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 @@ PLUGIN_HEADER # 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 @@ PLUGIN_HEADER # 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 @@ static void level_loop(struct level_info* li, short* shift, short *x, short *y) 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 diff --git a/apps/plugins/metronome.c b/apps/plugins/metronome.c index c5d27faf3d..1af62554fb 100644 --- a/apps/plugins/metronome.c +++ b/apps/plugins/metronome.c @@ -608,62 +608,56 @@ static signed short sound[] = { }; #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_REL +#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 + METRONOME_SYNC = LAST_PLUGINLIB_ACTION+1, +}; #endif /* IRIVER_H100_PAD||IRIVER_H300_PAD */ -}; -#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 }, - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_PLUGIN) -}; -#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 }, LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_PLUGIN) }; #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 @@ void tap(void) 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 @@ enum plugin_status plugin_start(const void* parameter) 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 @@ enum plugin_status plugin_start(const void* parameter) status = PLUGIN_OK; goto metronome_exit; -#if CONFIG_KEYPAD == ONDIO_PAD - case METRONOME_PLAY_TAP: - if(sound_paused) { + case METRONOME_PAUSE: + if(!sound_paused) + { + sound_paused = true; + draw_display(); + } + break; + case METRONOME_PLAY: + if(sound_paused) + { sound_paused = false; calc_period(); draw_display(); } - else + break; + case METRONOME_TAP: + if (last_button != METRONOME_PLAY) tap(); break; - - case METRONOME_PAUSE: - if(!sound_paused) { - sound_paused = true; - draw_display(); - } - break; - -#else - case METRONOME_PLAYPAUSE: - if(sound_paused) - sound_paused = false; - else - sound_paused = true; - calc_period(); - draw_display(); - break; -#endif /* ONDIO_PAD */ - case METRONOME_VOL_UP: case METRONOME_VOL_UP_REP: change_volume(1); @@ -989,12 +974,6 @@ enum plugin_status plugin_start(const void* parameter) 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 @@ enum plugin_status plugin_start(const void* parameter) break; } + if (button) + last_button = button; if (reset_tap) { tap_count = 0; } diff --git a/apps/plugins/pitch_detector.c b/apps/plugins/pitch_detector.c index 09536a7b18..538e0886fa 100644 --- a/apps/plugins/pitch_detector.c +++ b/apps/plugins/pitch_detector.c @@ -413,11 +413,9 @@ void save_settings(void) /* Keymaps */ const struct button_mapping* plugin_contexts[]={ - generic_actions, - generic_increase_decrease, - generic_directions, + pla_main_ctx, #if NB_SCREENS == 2 - remote_directions + pla_remote_ctx, #endif }; #define PLA_ARRAY_COUNT sizeof(plugin_contexts)/sizeof(plugin_contexts[0]) @@ -1040,11 +1038,11 @@ void record_and_get_pitch(void) switch(button) { - case PLA_QUIT: + case PLA_EXIT: quit=true; break; - case PLA_MENU: + case PLA_CANCEL: rb->pcm_stop_recording(); quit = main_menu() != 0; if(!quit) diff --git a/apps/plugins/robotfindskitten.c b/apps/plugins/robotfindskitten.c index 99fc327085..0e5c94ea7e 100644 --- a/apps/plugins/robotfindskitten.c +++ b/apps/plugins/robotfindskitten.c @@ -469,47 +469,7 @@ static char* messages[] = #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 @@ static char* messages[] = # 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 @@ static void play_game() int old_x = robot.x; int old_y = robot.y; int input = BUTTON_NONE; -#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) { @@ -700,11 +657,8 @@ static void play_game() old_x = robot.x; old_y = robot.y; } -#ifdef __PLUGINLIB_ACTIONS_H__ - input = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, 2); -#else - input = rb->button_get(true); -#endif + input = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, + ARRAYLEN(plugin_contexts)); } message("Bye!"); refresh(); diff --git a/apps/plugins/rocklife.c b/apps/plugins/rocklife.c index 35c848de1d..210cffa78d 100644 --- a/apps/plugins/rocklife.c +++ b/apps/plugins/rocklife.c @@ -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 @@ PLUGIN_HEADER #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 @@ enum plugin_status plugin_start(const void* parameter) 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 @@ enum plugin_status plugin_start(const void* parameter) /* 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: diff --git a/apps/plugins/test_resize.c b/apps/plugins/test_resize.c index a6a183a54b..8ad8cdee38 100644 --- a/apps/plugins/test_resize.c +++ b/apps/plugins/test_resize.c @@ -33,7 +33,6 @@ PLUGIN_HEADER 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 @@ const struct button_mapping *plugin_contexts[] #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 @@ enum plugin_status plugin_start(const void* parameter) 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;