From c19e0f0d02fe1e87f24fc3037edd4e1566280d86 Mon Sep 17 00:00:00 2001 From: Marcoen Hirschberg Date: Sun, 12 Jun 2005 16:10:17 +0000 Subject: Add remote control support to tree and menu. Move defines from wps.c to wps.h git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6692 a1c6a512-1295-4272-9138-f99709370657 --- apps/menu.c | 12 +++++++ apps/menu.h | 15 ++++++++ apps/tree.c | 3 ++ apps/tree.h | 7 ++++ apps/wps.c | 113 ----------------------------------------------------------- apps/wps.h | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 151 insertions(+), 113 deletions(-) diff --git a/apps/menu.c b/apps/menu.c index 04e0bb278c..126d29f40a 100644 --- a/apps/menu.c +++ b/apps/menu.c @@ -317,6 +317,9 @@ int menu_show(int m) switch( key ) { case MENU_PREV: +#ifdef MENU_RC_PREV + case MENU_RC_PREV: +#endif case MENU_PREV | BUTTON_REPEAT: if (menus[m].cursor) { /* keep the cursor at 1/3 of the screen */ @@ -336,6 +339,9 @@ int menu_show(int m) break; case MENU_NEXT: +#ifdef MENU_RC_NEXT + case MENU_RC_NEXT: +#endif case MENU_NEXT | BUTTON_REPEAT: if (menus[m].cursor < menus[m].itemcount-1) { /* keep the cursor at 2/3 of the screen */ @@ -356,6 +362,9 @@ int menu_show(int m) case MENU_ENTER: #ifdef MENU_ENTER2 case MENU_ENTER2: +#endif +#ifdef MENU_RC_ENTER + case MENU_RC_ENTER: #endif /* Erase current display state */ lcd_clear_display(); @@ -367,6 +376,9 @@ int menu_show(int m) #endif #ifdef MENU_EXIT3 case MENU_EXIT3: +#endif +#ifdef MENU_RC_EXIT + case MENU_RC_EXIT: #endif lcd_stop_scroll(); exit = true; diff --git a/apps/menu.h b/apps/menu.h index 046153b654..d142d5ae60 100644 --- a/apps/menu.h +++ b/apps/menu.h @@ -31,6 +31,11 @@ #define MENU_ENTER BUTTON_RIGHT #define MENU_ENTER2 BUTTON_SELECT +#define MENU_RC_NEXT BUTTON_RC_FF +#define MENU_RC_PREV BUTTON_RC_REW +#define MENU_RC_EXIT BUTTON_RC_STOP +#define MENU_RC_ENTER BUTTON_RC_ON + #elif CONFIG_KEYPAD == RECORDER_PAD #define MENU_NEXT BUTTON_DOWN #define MENU_PREV BUTTON_UP @@ -40,6 +45,11 @@ #define MENU_ENTER BUTTON_RIGHT #define MENU_ENTER2 BUTTON_PLAY +#define MENU_RC_NEXT BUTTON_RC_RIGHT +#define MENU_RC_PREV BUTTON_RC_LEFT +#define MENU_RC_EXIT BUTTON_RC_STOP +#define MENU_RC_ENTER BUTTON_RC_PLAY + #elif CONFIG_KEYPAD == PLAYER_PAD #define MENU_NEXT BUTTON_RIGHT #define MENU_PREV BUTTON_LEFT @@ -47,6 +57,11 @@ #define MENU_EXIT2 BUTTON_MENU #define MENU_ENTER BUTTON_PLAY +#define MENU_RC_NEXT BUTTON_RC_RIGHT +#define MENU_RC_PREV BUTTON_RC_LEFT +#define MENU_RC_EXIT BUTTON_RC_STOP +#define MENU_RC_ENTER BUTTON_RC_PLAY + #elif CONFIG_KEYPAD == ONDIO_PAD #define MENU_NEXT BUTTON_DOWN #define MENU_PREV BUTTON_UP diff --git a/apps/tree.c b/apps/tree.c index e9a648ed80..da0e54c815 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -992,6 +992,9 @@ static bool dirbrowse(void) #endif case TREE_MENU: +#ifdef TREE_RC_MENU + case TREE_RC_MENU: +#endif #ifdef TREE_MENU_PRE if (lastbutton != TREE_MENU_PRE) break; diff --git a/apps/tree.h b/apps/tree.h index c3ab60c243..5db786de49 100644 --- a/apps/tree.h +++ b/apps/tree.h @@ -40,6 +40,13 @@ #define TREE_CONTEXT2 (BUTTON_ON | BUTTON_SELECT) #define TREE_POWER_BTN BUTTON_ON +#define TREE_RC_NEXT BUTTON_RC_FF +#define TREE_RC_PREV BUTTON_RC_REW +#define TREE_RC_EXIT BUTTON_RC_STOP +#define TREE_RC_ENTER BUTTON_RC_ON +#define TREE_RC_RUN BUTTON_RC_ON +#define TREE_RC_MENU BUTTON_RC_MENU + #elif CONFIG_KEYPAD == RECORDER_PAD #define TREE_NEXT BUTTON_DOWN #define TREE_PREV BUTTON_UP diff --git a/apps/wps.c b/apps/wps.c index 94978b30a3..d702282a25 100644 --- a/apps/wps.c +++ b/apps/wps.c @@ -62,119 +62,6 @@ static struct mp3entry* id3 = NULL; static struct mp3entry* nid3 = NULL; static char current_track_path[MAX_PATH+1]; -/* button definitions */ -#if CONFIG_KEYPAD == IRIVER_H100_PAD -#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) -#define WPS_NEXT_PRE BUTTON_RIGHT -#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) -#define WPS_PREV_PRE BUTTON_LEFT -#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) -#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) -#define WPS_INCVOL BUTTON_UP -#define WPS_DECVOL BUTTON_DOWN -#define WPS_PAUSE BUTTON_ON -#define WPS_MENU (BUTTON_MODE | BUTTON_REL) -#define WPS_MENU_PRE BUTTON_MODE -#define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL) -#define WPS_BROWSE_PRE BUTTON_SELECT -#define WPS_EXIT BUTTON_OFF -#define WPS_KEYLOCK (BUTTON_MODE | BUTTON_DOWN) -#define WPS_ID3 (BUTTON_MODE | BUTTON_ON) - -#define WPS_RC_NEXT BUTTON_RC_FF -#define WPS_RC_PREV BUTTON_RC_REW -#define WPS_RC_PAUSE BUTTON_RC_ON -#define WPS_RC_INCVOL BUTTON_RC_VOL_UP -#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN -#define WPS_RC_EXIT BUTTON_RC_STOP - - -#elif CONFIG_KEYPAD == RECORDER_PAD -#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) -#define WPS_NEXT_PRE BUTTON_RIGHT -#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) -#define WPS_PREV_PRE BUTTON_LEFT -#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) -#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) -#define WPS_INCVOL BUTTON_UP -#define WPS_DECVOL BUTTON_DOWN -#define WPS_PAUSE BUTTON_PLAY -#define WPS_MENU (BUTTON_F1 | BUTTON_REL) -#define WPS_MENU_PRE BUTTON_F1 -#define WPS_BROWSE (BUTTON_ON | BUTTON_REL) -#define WPS_BROWSE_PRE BUTTON_ON -#define WPS_EXIT BUTTON_OFF -#define WPS_KEYLOCK (BUTTON_F1 | BUTTON_DOWN) -#define WPS_ID3 (BUTTON_F1 | BUTTON_ON) - -#define WPS_RC_NEXT BUTTON_RC_RIGHT -#define WPS_RC_PREV BUTTON_RC_LEFT -#define WPS_RC_PAUSE BUTTON_RC_PLAY -#define WPS_RC_INCVOL BUTTON_RC_VOL_UP -#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN -#define WPS_RC_EXIT BUTTON_RC_STOP - -#elif CONFIG_KEYPAD == PLAYER_PAD -#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) -#define WPS_NEXT_PRE BUTTON_RIGHT -#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) -#define WPS_PREV_PRE BUTTON_LEFT -#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) -#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) -#define WPS_INCVOL (BUTTON_MENU | BUTTON_RIGHT) -#define WPS_DECVOL (BUTTON_MENU | BUTTON_LEFT) -#define WPS_PAUSE BUTTON_PLAY -#define WPS_MENU (BUTTON_MENU | BUTTON_REL) -#define WPS_MENU_PRE BUTTON_MENU -#define WPS_BROWSE (BUTTON_ON | BUTTON_REL) -#define WPS_BROWSE_PRE BUTTON_ON -#define WPS_EXIT BUTTON_STOP -#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_STOP) -#define WPS_ID3 (BUTTON_MENU | BUTTON_ON) - -#define WPS_RC_NEXT BUTTON_RC_RIGHT -#define WPS_RC_PREV BUTTON_RC_LEFT -#define WPS_RC_PAUSE BUTTON_RC_PLAY -#define WPS_RC_INCVOL BUTTON_RC_VOL_UP -#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN -#define WPS_RC_EXIT BUTTON_RC_STOP - -#elif CONFIG_KEYPAD == ONDIO_PAD -#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) -#define WPS_NEXT_PRE BUTTON_RIGHT -#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) -#define WPS_PREV_PRE BUTTON_LEFT -#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) -#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) -#define WPS_INCVOL BUTTON_UP -#define WPS_DECVOL BUTTON_DOWN -#define WPS_PAUSE BUTTON_OFF -#define WPS_MENU (BUTTON_MENU | BUTTON_REPEAT) -#define WPS_BROWSE (BUTTON_MENU | BUTTON_REL) -#define WPS_BROWSE_PRE BUTTON_MENU -#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_DOWN) -#define WPS_EXIT (BUTTON_OFF | BUTTON_REPEAT) - -#elif CONFIG_KEYPAD == GMINI100_PAD -#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) -#define WPS_NEXT_PRE BUTTON_RIGHT -#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) -#define WPS_PREV_PRE BUTTON_LEFT -#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) -#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) -#define WPS_INCVOL BUTTON_UP -#define WPS_DECVOL BUTTON_DOWN -#define WPS_PAUSE BUTTON_PLAY -#define WPS_MENU (BUTTON_MENU | BUTTON_REL) -#define WPS_MENU_PRE BUTTON_MENU -#define WPS_BROWSE (BUTTON_ON | BUTTON_REL) -#define WPS_BROWSE_PRE BUTTON_ON -#define WPS_EXIT BUTTON_OFF -#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_DOWN) -#define WPS_ID3 (BUTTON_MENU | BUTTON_ON) - -#endif - /* set volume return true if screen restore is needed return false otherwise diff --git a/apps/wps.h b/apps/wps.h index f218fdd277..668f9f6bbd 100644 --- a/apps/wps.h +++ b/apps/wps.h @@ -21,6 +21,119 @@ #include "id3.h" #include "playlist.h" +/* button definitions */ +#if CONFIG_KEYPAD == IRIVER_H100_PAD +#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) +#define WPS_NEXT_PRE BUTTON_RIGHT +#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) +#define WPS_PREV_PRE BUTTON_LEFT +#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) +#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) +#define WPS_INCVOL BUTTON_UP +#define WPS_DECVOL BUTTON_DOWN +#define WPS_PAUSE BUTTON_ON +#define WPS_MENU (BUTTON_MODE | BUTTON_REL) +#define WPS_MENU_PRE BUTTON_MODE +#define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL) +#define WPS_BROWSE_PRE BUTTON_SELECT +#define WPS_EXIT BUTTON_OFF +#define WPS_KEYLOCK (BUTTON_MODE | BUTTON_DOWN) +#define WPS_ID3 (BUTTON_MODE | BUTTON_ON) + +#define WPS_RC_NEXT BUTTON_RC_FF +#define WPS_RC_PREV BUTTON_RC_REW +#define WPS_RC_PAUSE BUTTON_RC_ON +#define WPS_RC_INCVOL BUTTON_RC_VOL_UP +#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN +#define WPS_RC_EXIT BUTTON_RC_STOP + + +#elif CONFIG_KEYPAD == RECORDER_PAD +#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) +#define WPS_NEXT_PRE BUTTON_RIGHT +#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) +#define WPS_PREV_PRE BUTTON_LEFT +#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) +#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) +#define WPS_INCVOL BUTTON_UP +#define WPS_DECVOL BUTTON_DOWN +#define WPS_PAUSE BUTTON_PLAY +#define WPS_MENU (BUTTON_F1 | BUTTON_REL) +#define WPS_MENU_PRE BUTTON_F1 +#define WPS_BROWSE (BUTTON_ON | BUTTON_REL) +#define WPS_BROWSE_PRE BUTTON_ON +#define WPS_EXIT BUTTON_OFF +#define WPS_KEYLOCK (BUTTON_F1 | BUTTON_DOWN) +#define WPS_ID3 (BUTTON_F1 | BUTTON_ON) + +#define WPS_RC_NEXT BUTTON_RC_RIGHT +#define WPS_RC_PREV BUTTON_RC_LEFT +#define WPS_RC_PAUSE BUTTON_RC_PLAY +#define WPS_RC_INCVOL BUTTON_RC_VOL_UP +#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN +#define WPS_RC_EXIT BUTTON_RC_STOP + +#elif CONFIG_KEYPAD == PLAYER_PAD +#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) +#define WPS_NEXT_PRE BUTTON_RIGHT +#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) +#define WPS_PREV_PRE BUTTON_LEFT +#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) +#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) +#define WPS_INCVOL (BUTTON_MENU | BUTTON_RIGHT) +#define WPS_DECVOL (BUTTON_MENU | BUTTON_LEFT) +#define WPS_PAUSE BUTTON_PLAY +#define WPS_MENU (BUTTON_MENU | BUTTON_REL) +#define WPS_MENU_PRE BUTTON_MENU +#define WPS_BROWSE (BUTTON_ON | BUTTON_REL) +#define WPS_BROWSE_PRE BUTTON_ON +#define WPS_EXIT BUTTON_STOP +#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_STOP) +#define WPS_ID3 (BUTTON_MENU | BUTTON_ON) + +#define WPS_RC_NEXT BUTTON_RC_RIGHT +#define WPS_RC_PREV BUTTON_RC_LEFT +#define WPS_RC_PAUSE BUTTON_RC_PLAY +#define WPS_RC_INCVOL BUTTON_RC_VOL_UP +#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN +#define WPS_RC_EXIT BUTTON_RC_STOP + +#elif CONFIG_KEYPAD == ONDIO_PAD +#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) +#define WPS_NEXT_PRE BUTTON_RIGHT +#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) +#define WPS_PREV_PRE BUTTON_LEFT +#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) +#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) +#define WPS_INCVOL BUTTON_UP +#define WPS_DECVOL BUTTON_DOWN +#define WPS_PAUSE BUTTON_OFF +#define WPS_MENU (BUTTON_MENU | BUTTON_REPEAT) +#define WPS_BROWSE (BUTTON_MENU | BUTTON_REL) +#define WPS_BROWSE_PRE BUTTON_MENU +#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_DOWN) +#define WPS_EXIT (BUTTON_OFF | BUTTON_REPEAT) + +#elif CONFIG_KEYPAD == GMINI100_PAD +#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL) +#define WPS_NEXT_PRE BUTTON_RIGHT +#define WPS_PREV (BUTTON_LEFT | BUTTON_REL) +#define WPS_PREV_PRE BUTTON_LEFT +#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT) +#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) +#define WPS_INCVOL BUTTON_UP +#define WPS_DECVOL BUTTON_DOWN +#define WPS_PAUSE BUTTON_PLAY +#define WPS_MENU (BUTTON_MENU | BUTTON_REL) +#define WPS_MENU_PRE BUTTON_MENU +#define WPS_BROWSE (BUTTON_ON | BUTTON_REL) +#define WPS_BROWSE_PRE BUTTON_ON +#define WPS_EXIT BUTTON_OFF +#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_DOWN) +#define WPS_ID3 (BUTTON_MENU | BUTTON_ON) + +#endif + extern bool keys_locked; extern bool wps_time_countup; @@ -34,3 +147,4 @@ bool f3_screen(void); #endif #endif + -- cgit v1.2.3