diff -ru --strip-trailing-cr rockbox-devel/apps/bookmark.c rockbox/apps/bookmark.c --- rockbox-devel/apps/bookmark.c 2006-01-22 08:43:56.000000000 +0900 +++ rockbox/apps/bookmark.c 2006-03-29 15:19:20.424854400 +0900 @@ -449,9 +449,21 @@ { #ifdef HAVE_LCD_BITMAP case BOOKMARK_DOWN: +#ifdef BOOKMARK_RC_DOWN + case BOOKMARK_RC_DOWN: +#endif +#ifdef BOOKMARK_RC_DOWN2 + case BOOKMARK_RC_DOWN2: +#endif return bookmark_load(global_bookmark_file_name, false); #endif case SETTINGS_OK: +#ifdef SETTINGS_RC_OK + case SETTINGS_RC_OK: +#endif +#ifdef SETTINGS_RC_OK3 + case SETTINGS_RC_OK3: +#endif return bookmark_load(global_bookmark_file_name, true); default: @@ -603,6 +615,12 @@ switch(key) { case BOOKMARK_SELECT: +#ifdef BOOKMARK_RC_SELECT + case BOOKMARK_RC_SELECT: +#endif +#ifdef BOOKMARK_RC_SELECT2 + case BOOKMARK_RC_SELECT2: +#endif #ifdef BOOKMARK_SELECT_PRE if (lastkey != BOOKMARK_SELECT_PRE) break; @@ -617,6 +635,12 @@ return bookmark; case BOOKMARK_DELETE: +#ifdef BOOKMARK_RC_DELETE + case BOOKMARK_RC_DELETE: +#endif +#ifdef BOOKMARK_RC_DELETE2 + case BOOKMARK_RC_DELETE2: +#endif /* User wants to delete this bookmark */ delete_bookmark(bookmark_file_name, bookmark_id); bookmark_id_prev=-2; @@ -627,11 +651,27 @@ case SETTINGS_DEC: case SETTINGS_DEC | BUTTON_REPEAT: +#ifdef SETTINGS_RC_DEC + case SETTINGS_RC_DEC: + case SETTINGS_RC_DEC | BUTTON_REPEAT: +#endif +#ifdef SETTINGS_RC_DEC2 + case SETTINGS_RC_DEC2: + case SETTINGS_RC_DEC2 | BUTTON_REPEAT: +#endif bookmark_id--; break; case SETTINGS_INC: case SETTINGS_INC | BUTTON_REPEAT: +#ifdef SETTINGS_RC_INC + case SETTINGS_RC_INC: + case SETTINGS_RC_INC | BUTTON_REPEAT: +#endif +#ifdef SETTINGS_RC_INC2 + case SETTINGS_RC_INC2: + case SETTINGS_RC_INC2 | BUTTON_REPEAT: +#endif bookmark_id++; break; @@ -639,8 +679,11 @@ #ifdef SETTINGS_CANCEL2 case SETTINGS_CANCEL2: #endif -#ifdef SETTINGS_OK2 - case SETTINGS_OK2: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: #endif #ifdef HAVE_LCD_BITMAP lcd_setmargins(x, y); diff -ru --strip-trailing-cr rockbox-devel/apps/bookmark.h rockbox/apps/bookmark.h --- rockbox-devel/apps/bookmark.h 2006-02-26 02:36:16.556000000 +0900 +++ rockbox/apps/bookmark.h 2006-03-29 15:19:20.464912000 +0900 @@ -33,6 +33,13 @@ #define BOOKMARK_DELETE (BUTTON_ON | BUTTON_SELECT) #define BOOKMARK_DOWN BUTTON_DOWN +#define BOOKMARK_RC_SELECT BUTTON_RC_MENU /* for H1x0 remote */ +#define BOOKMARK_RC_SELECT2 BUTTON_RC3_MENU /* for H3x0 remote */ +#define BOOKMARK_RC_DELETE (BUTTON_RC_ON | BUTTON_RC_MENU ) /* for H1x0 remote */ +#define BOOKMARK_RC_DELETE2 (BUTTON_RC3_ON | BUTTON_RC3_MENU ) /* for H3x0 remote */ +#define BOOKMARK_RC_DOWN BUTTON_RC_FF /* for H1x0 remote */ +#define BOOKMARK_RC_DOWN2 BUTTON_RC3_VOL_DOWN /* for H3x0 remote */ + #elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) #define BOOKMARK_SELECT BUTTON_SELECT #define BOOKMARK_DELETE (BUTTON_RIGHT | BUTTON_REPEAT) diff -ru --strip-trailing-cr rockbox-devel/apps/debug_menu.c rockbox/apps/debug_menu.c --- rockbox-devel/apps/debug_menu.c 2006-03-28 16:21:08.014000000 +0900 +++ rockbox/apps/debug_menu.c 2006-03-29 15:19:20.504969600 +0900 @@ -108,6 +108,15 @@ switch(button) { case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; } } @@ -136,6 +145,15 @@ switch(button) { case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; case SETTINGS_DEC: @@ -172,6 +190,15 @@ switch(button) { case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; } @@ -252,6 +279,15 @@ audio_prev(); break; case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif done = true; break; } @@ -643,6 +679,15 @@ switch(button) { case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; case SETTINGS_DEC: @@ -691,6 +736,15 @@ { case SETTINGS_OK: case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; case SETTINGS_DEC: @@ -875,6 +929,15 @@ { case SETTINGS_CANCEL: case SETTINGS_OK2: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif done = true; break; } @@ -942,6 +1005,15 @@ switch(button) { case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; } } @@ -1035,6 +1107,15 @@ switch(button) { /* quit on release to allow for reading the cancel button input */ case (SETTINGS_CANCEL|BUTTON_REL): +#ifdef SETTINGS_RC_CANCEL + case (SETTINGS_RC_CANCEL|BUTTON_REL): +#endif +#ifdef SETTINGS_RC_CANCEL2 + case (SETTINGS_RC_CANCEL2|BUTTON_REL): +#endif +#ifdef SETTINGS_RC_CANCEL3 + case (SETTINGS_RC_CANCEL3|BUTTON_REL): +#endif return false; } } @@ -1093,6 +1174,15 @@ switch(button) { case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; } } @@ -1172,6 +1262,15 @@ switch(button) { case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; case SETTINGS_DEC: @@ -1251,6 +1350,15 @@ #else case SETTINGS_CANCEL: case SETTINGS_OK2: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif #endif return false; } @@ -1439,6 +1547,15 @@ case SETTINGS_OK: case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; } } @@ -1498,6 +1615,15 @@ key = button_get_w_tmo(HZ); switch(key) { case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif done = true; break; @@ -1621,6 +1747,15 @@ { case SETTINGS_OK: case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif done = true; break; @@ -1782,6 +1917,15 @@ switch(key) { case SETTINGS_OK: case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif done = true; break; @@ -1850,6 +1994,15 @@ { case SETTINGS_OK: case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif done = true; break; } @@ -1899,6 +2052,15 @@ { case SETTINGS_OK: case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif done = true; break; } @@ -1979,6 +2141,15 @@ switch(button) { case SETTINGS_CANCEL: +#ifdef SETTINGS_RC_CANCEL + case SETTINGS_RC_CANCEL: +#endif +#ifdef SETTINGS_RC_CANCEL2 + case SETTINGS_RC_CANCEL2: +#endif +#ifdef SETTINGS_RC_CANCEL3 + case SETTINGS_RC_CANCEL3: +#endif return false; } } diff -ru --strip-trailing-cr rockbox-devel/apps/eq_menu.c rockbox/apps/eq_menu.c --- rockbox-devel/apps/eq_menu.c 2006-03-28 16:21:09.516000000 +0900 +++ rockbox/apps/eq_menu.c 2006-03-29 15:19:20.555041600 +0900 @@ -63,7 +63,14 @@ #define EQ_BTN_RC_DECREMENT BUTTON_RC_SOURCE #define EQ_BTN_RC_INCREMENT BUTTON_RC_BITRATE #define EQ_BTN_RC_CHANGE_MODE BUTTON_RC_MENU +#define EQ_BTN_RC_PREV_BAND2 BUTTON_RC3_REW +#define EQ_BTN_RC_NEXT_BAND2 BUTTON_RC3_FF +#define EQ_BTN_RC_DECREMENT2 BUTTON_RC3_VOL_UP +#define EQ_BTN_RC_INCREMENT2 BUTTON_RC3_VOL_DOWN +#define EQ_BTN_RC_CHANGE_MODE2 BUTTON_RC3_ON #define EQ_BTN_RC_EXIT BUTTON_RC_STOP +#define EQ_BTN_RC_EXIT2 (BUTTON_RC_MENU | BUTTON_REPEAT) /* for H1x0 remote */ +#define EQ_BTN_RC_EXIT3 (BUTTON_RC3_ON | BUTTON_REPEAT) /* for H3x0 remote */ #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) @@ -683,6 +690,10 @@ case EQ_BTN_RC_DECREMENT: case EQ_BTN_RC_DECREMENT | BUTTON_REPEAT: #endif +#ifdef EQ_BTN_RC_DECREMENT2 + case EQ_BTN_RC_DECREMENT2: + case EQ_BTN_RC_DECREMENT2 | BUTTON_REPEAT: +#endif *(setting) -= step; has_changed = true; if (*(setting) < min) @@ -695,6 +706,10 @@ case EQ_BTN_RC_INCREMENT: case EQ_BTN_RC_INCREMENT | BUTTON_REPEAT: #endif +#ifdef EQ_BTN_RC_INCREMENT2 + case EQ_BTN_RC_INCREMENT2: + case EQ_BTN_RC_INCREMENT2 | BUTTON_REPEAT: +#endif *(setting) += step; has_changed = true; if (*(setting) > max) @@ -725,6 +740,10 @@ case EQ_BTN_RC_PREV_BAND: case EQ_BTN_RC_PREV_BAND | BUTTON_REPEAT: #endif +#ifdef EQ_BTN_RC_PREV_BAND2 + case EQ_BTN_RC_PREV_BAND2: + case EQ_BTN_RC_PREV_BAND2 | BUTTON_REPEAT: +#endif current_band--; if (current_band < 0) current_band = 4; /* wrap around */ @@ -736,6 +755,10 @@ case EQ_BTN_RC_NEXT_BAND: case EQ_BTN_RC_NEXT_BAND | BUTTON_REPEAT: #endif +#ifdef EQ_BTN_RC_NEXT_BAND2 + case EQ_BTN_RC_NEXT_BAND2: + case EQ_BTN_RC_NEXT_BAND2 | BUTTON_REPEAT: +#endif current_band++; if (current_band > 4) current_band = 0; /* wrap around */ @@ -747,6 +770,10 @@ case EQ_BTN_RC_CHANGE_MODE: case EQ_BTN_RC_CHANGE_MODE | BUTTON_REPEAT: #endif +#ifdef EQ_BTN_RC_CHANGE_MODE2 + case EQ_BTN_RC_CHANGE_MODE2: + case EQ_BTN_RC_CHANGE_MODE2 | BUTTON_REPEAT: +#endif mode++; if (mode > Q) mode = GAIN; /* wrap around */ @@ -758,6 +785,14 @@ case EQ_BTN_RC_EXIT: case EQ_BTN_RC_EXIT | BUTTON_REPEAT: #endif +#ifdef EQ_BTN_RC_EXIT2 + case EQ_BTN_RC_EXIT2: + case EQ_BTN_RC_EXIT2 | BUTTON_REPEAT: +#endif +#ifdef EQ_BTN_RC_EXIT3 + case EQ_BTN_RC_EXIT3: + case EQ_BTN_RC_EXIT3 | BUTTON_REPEAT: +#endif exit_request = true; result = false; break; diff -ru --strip-trailing-cr rockbox-devel/apps/gui/gwps-common.c rockbox/apps/gui/gwps-common.c --- rockbox-devel/apps/gui/gwps-common.c 2006-03-28 16:21:21.343000000 +0900 +++ rockbox/apps/gui/gwps-common.c 2006-03-29 15:19:20.615128000 +0900 @@ -354,7 +354,14 @@ #ifdef HAVE_LCD_BITMAP static void gui_wps_statusbar_draw(struct gui_wps *wps, bool force) { - bool draw = global_settings.statusbar; + bool draw = false; + if(wps->display->screen_type == SCREEN_MAIN) + draw = global_settings.statusbar; + +#ifdef HAVE_REMOTE_LCD + else if(wps->display->screen_type == SCREEN_REMOTE) + draw = global_settings.remote_statusbar; +#endif if(wps->data->wps_sb_tag && wps->data->show_sb_on_wps) diff -ru --strip-trailing-cr rockbox-devel/apps/gui/gwps.c rockbox/apps/gui/gwps.c --- rockbox-devel/apps/gui/gwps.c 2006-03-28 16:21:21.553000000 +0900 +++ rockbox/apps/gui/gwps.c 2006-03-29 15:19:20.665200000 +0900 @@ -230,6 +230,9 @@ #ifdef WPS_RC_CONTEXT case WPS_RC_CONTEXT: #endif +#ifdef WPS_RC_CONTEXT2 + case WPS_RC_CONTEXT2: +#endif #ifdef HAVE_LCD_COLOR show_main_backdrop(); #endif @@ -247,18 +250,27 @@ break; #endif + case WPS_BROWSE: +#ifdef WPS_BROWSE_PRE + if ((button == WPS_BROWSE_PRE) && (lastbutton != WPS_BROWSE_PRE)) + break; +#endif + #ifdef WPS_RC_BROWSE case WPS_RC_BROWSE: #endif - case WPS_BROWSE: -#ifdef WPS_BROWSE_PRE - if ((lastbutton != WPS_BROWSE_PRE) #ifdef WPS_RC_BROWSE_PRE - && (lastbutton != WPS_RC_BROWSE_PRE) + if ((button == WPS_RC_BROWSE) && (lastbutton != WPS_RC_BROWSE_PRE)) + break; #endif - ) +#ifdef WPS_RC_BROWSE2 + case WPS_RC_BROWSE2: +#endif +#ifdef WPS_RC_BROWSE2_PRE + if ((button == WPS_RC_BROWSE2) && (lastbutton != WPS_RC_BROWSE2_PRE)) break; #endif + #ifdef HAVE_LCD_CHARCELLS status_set_record(false); status_set_audio(false); @@ -285,8 +297,15 @@ if (global_settings.party_mode) break; #ifdef WPS_RC_PAUSE_PRE - if ((button == WPS_RC_PAUSE) && - (lastbutton != WPS_RC_PAUSE_PRE)) + if ((button == WPS_RC_PAUSE) && (lastbutton != WPS_RC_PAUSE_PRE)) + break; +#endif +#endif + +#ifdef WPS_RC_PAUSE2 + case WPS_RC_PAUSE2: +#ifdef WPS_RC_PAUSE2_PRE + if ((button == WPS_RC_PAUSE2) && (lastbutton != WPS_RC_PAUSE2_PRE)) break; #endif #endif @@ -319,6 +338,10 @@ case WPS_RC_INCVOL: case WPS_RC_INCVOL | BUTTON_REPEAT: #endif +#ifdef WPS_RC_INCVOL2 + case WPS_RC_INCVOL2: + case WPS_RC_INCVOL2 | BUTTON_REPEAT: +#endif { global_settings.volume++; bool res = false; @@ -342,6 +365,10 @@ case WPS_RC_DECVOL: case WPS_RC_DECVOL | BUTTON_REPEAT: #endif +#ifdef WPS_RC_DECVOL2 + case WPS_RC_DECVOL2: + case WPS_RC_DECVOL2 | BUTTON_REPEAT: +#endif { global_settings.volume--; setvol(); @@ -362,6 +389,9 @@ #ifdef WPS_RC_FFWD case WPS_RC_FFWD: #endif +#ifdef WPS_RC_FFWD2 + case WPS_RC_FFWD2: +#endif case WPS_FFWD: if (global_settings.party_mode) break; @@ -378,6 +408,9 @@ #ifdef WPS_RC_REW case WPS_RC_REW: #endif +#ifdef WPS_RC_REW2 + case WPS_RC_REW2: +#endif case WPS_REW: if (global_settings.party_mode) break; @@ -409,6 +442,13 @@ break; #endif #endif +#ifdef WPS_RC_PREV2 + case WPS_RC_PREV2: +#ifdef WPS_RC_PREV2_PRE + if ((button == WPS_RC_PREV2) && (lastbutton != WPS_RC_PREV2_PRE)) + break; +#endif +#endif left_lastclick = current_tick; update_track = true; @@ -504,6 +544,13 @@ break; #endif #endif +#ifdef WPS_RC_NEXT2 + case WPS_RC_NEXT2: +#ifdef WPS_RC_NEXT2_PRE + if ((button == WPS_RC_NEXT2) && (lastbutton != WPS_RC_NEXT2_PRE)) + break; +#endif +#endif right_lastclick = current_tick; update_track = true; @@ -537,11 +584,11 @@ #endif #ifdef WPS_RC_MENU case WPS_RC_MENU: +#endif #ifdef WPS_RC_MENU_PRE if ((button == WPS_RC_MENU) && (lastbutton != WPS_RC_MENU_PRE)) break; #endif -#endif FOR_NB_SCREENS(i) gui_wps[i].display->stop_scroll(); diff -ru --strip-trailing-cr rockbox-devel/apps/gui/gwps.h rockbox/apps/gui/gwps.h --- rockbox-devel/apps/gui/gwps.h 2006-03-16 19:58:31.227000000 +0900 +++ rockbox/apps/gui/gwps.h 2006-03-29 15:19:20.705257600 +0900 @@ -52,15 +52,15 @@ #define WPS_RC_NEXT_DIR BUTTON_RC_BITRATE #define WPS_RC_PREV_DIR BUTTON_RC_SOURCE -#define WPS_RC_NEXT (BUTTON_RC_FF | BUTTON_REL) -#define WPS_RC_NEXT_PRE BUTTON_RC_FF -#define WPS_RC_PREV (BUTTON_RC_REW | BUTTON_REL) -#define WPS_RC_PREV_PRE BUTTON_RC_REW -#define WPS_RC_FFWD (BUTTON_RC_FF | BUTTON_REPEAT) -#define WPS_RC_REW (BUTTON_RC_REW | BUTTON_REPEAT) +#define WPS_RC_NEXT (BUTTON_RC_FF | BUTTON_REL) /* for H1x0 */ +#define WPS_RC_NEXT_PRE BUTTON_RC_FF /* for H1x0 */ +#define WPS_RC_PREV (BUTTON_RC_REW | BUTTON_REL) /* for H1x0 */ +#define WPS_RC_PREV_PRE BUTTON_RC_REW /* for H1x0 */ +#define WPS_RC_FFWD (BUTTON_RC_FF | BUTTON_REPEAT) /* for H1x0 */ +#define WPS_RC_REW (BUTTON_RC_REW | BUTTON_REPEAT) /* for H1x0 */ #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_INCVOL BUTTON_RC_VOL_UP /* for H1x0 */ +#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN /* for H1x0 */ #define WPS_RC_EXIT (BUTTON_RC_STOP | BUTTON_REL) #define WPS_RC_EXIT_PRE BUTTON_RC_STOP #define WPS_RC_MENU (BUTTON_RC_MODE | BUTTON_REL) @@ -70,6 +70,20 @@ #define WPS_RC_CONTEXT (BUTTON_RC_MENU | BUTTON_REPEAT) #define WPS_RC_QUICK (BUTTON_RC_MODE | BUTTON_REPEAT) +#define WPS_RC_NEXT2 (BUTTON_RC3_FF | BUTTON_REL) /* for H3x0 */ +#define WPS_RC_NEXT2_PRE BUTTON_RC3_FF /* for H3x0 */ +#define WPS_RC_PREV2 (BUTTON_RC3_REW | BUTTON_REL) /* for H3x0 */ +#define WPS_RC_PREV2_PRE BUTTON_RC3_REW /* for H3x0 */ +#define WPS_RC_FFWD2 (BUTTON_RC3_FF | BUTTON_REPEAT) /* for H3x0 */ +#define WPS_RC_REW2 (BUTTON_RC3_REW | BUTTON_REPEAT) /* for H3x0 */ +#define WPS_RC_INCVOL2 BUTTON_RC3_VOL_UP /* for H3x0 */ +#define WPS_RC_DECVOL2 BUTTON_RC3_VOL_DOWN /* for H3x0 */ +#define WPS_RC_PAUSE2 (BUTTON_RC3_ON | BUTTON_REL) +#define WPS_RC_PAUSE2_PRE BUTTON_RC3_ON +#define WPS_RC_BROWSE2 (BUTTON_RC3_MENU | BUTTON_REL) +#define WPS_RC_BROWSE2_PRE BUTTON_RC3_MENU +#define WPS_RC_CONTEXT2 (BUTTON_RC3_ON | BUTTON_REPEAT) + #ifdef AB_REPEAT_ENABLE #define WPS_AB_SHARE_DIR_BUTTONS #define WPS_AB_RESET_AB_MARKERS (BUTTON_ON | BUTTON_SELECT) diff -ru --strip-trailing-cr rockbox-devel/apps/gui/list.c rockbox/apps/gui/list.c --- rockbox-devel/apps/gui/list.c 2006-03-11 19:46:28.340000000 +0900 +++ rockbox/apps/gui/list.c 2006-03-29 15:19:20.745315200 +0900 @@ -93,8 +93,16 @@ } else { - int cursor_xpos=(global_settings.scrollbar && - display->nb_lines < gui_list->nb_items)?1:0; + int cursor_xpos=0; + if(display->screen_type == SCREEN_MAIN && global_settings.scrollbar + && display->nb_lines < gui_list->nb_items) + cursor_xpos = 1; +#ifdef HAVE_REMOTE_LCD + else if(display->screen_type == SCREEN_REMOTE + && global_settings.remote_scrollbar + && display->nb_lines < gui_list->nb_items) + cursor_xpos = 1; +#endif screen_put_cursorxy(display, cursor_xpos, selected_line, gui_list->cursor_flash_state); } display->update_rect(0, line_ypos,display->width, @@ -148,8 +156,16 @@ #ifdef HAVE_LCD_BITMAP display->setfont(FONT_UI); gui_textarea_update_nblines(display); - bool draw_scrollbar = (global_settings.scrollbar && + bool draw_scrollbar = false; + if(display->screen_type == SCREEN_MAIN) + draw_scrollbar = (global_settings.scrollbar && + display->nb_lines < gui_list->nb_items); +#ifdef HAVE_REMOTE_LCD + else if(display->screen_type == SCREEN_REMOTE) + draw_scrollbar = (global_settings.remote_scrollbar && display->nb_lines < gui_list->nb_items); +#endif + draw_cursor = !global_settings.invert_cursor; text_pos = 0; /* here it's in pixels */ if(draw_scrollbar) @@ -607,12 +623,18 @@ #ifdef LIST_RC_PREV case LIST_RC_PREV: #endif +#ifdef LIST_RC_PREV2 + case LIST_RC_PREV2: +#endif gui_synclist_limit_scroll(lists, false); case LIST_PREV | BUTTON_REPEAT: #ifdef LIST_RC_PREV case LIST_RC_PREV | BUTTON_REPEAT: #endif +#ifdef LIST_RC_PREV2 + case LIST_RC_PREV2 | BUTTON_REPEAT: +#endif gui_synclist_select_previous(lists); gui_synclist_draw(lists); yield(); @@ -622,6 +644,9 @@ #ifdef LIST_RC_NEXT case LIST_RC_NEXT: #endif +#ifdef LIST_RC_NEXT2 + case LIST_RC_NEXT2: +#endif gui_synclist_limit_scroll(lists, false); case LIST_NEXT | BUTTON_REPEAT: @@ -629,6 +654,9 @@ case LIST_RC_NEXT | BUTTON_REPEAT: #endif +#ifdef LIST_RC_NEXT2 + case LIST_RC_NEXT2 | BUTTON_REPEAT: +#endif gui_synclist_select_next(lists); gui_synclist_draw(lists); yield(); @@ -641,6 +669,10 @@ case LIST_RC_PGRIGHT: case LIST_RC_PGRIGHT | BUTTON_REPEAT: #endif +#ifdef LIST_RC_PGRIGHT2 + case LIST_RC_PGRIGHT2: + case LIST_RC_PGRIGHT2 | BUTTON_REPEAT: +#endif gui_synclist_scroll_right(lists); gui_synclist_draw(lists); return true; @@ -653,6 +685,10 @@ case LIST_RC_PGLEFT: case LIST_RC_PGLEFT | BUTTON_REPEAT: #endif +#ifdef LIST_RC_PGLEFT2 + case LIST_RC_PGLEFT2: + case LIST_RC_PGLEFT2 | BUTTON_REPEAT: +#endif gui_synclist_scroll_left(lists); gui_synclist_draw(lists); return true; diff -ru --strip-trailing-cr rockbox-devel/apps/gui/list.h rockbox/apps/gui/list.h --- rockbox-devel/apps/gui/list.h 2006-02-26 02:36:24.217000000 +0900 +++ rockbox/apps/gui/list.h 2006-03-29 15:19:20.785372800 +0900 @@ -43,6 +43,10 @@ #define LIST_RC_PGDN BUTTON_RC_BITRATE #define LIST_RC_PGRIGHT (BUTTON_RC_VOL_UP) #define LIST_RC_PGLEFT (BUTTON_RC_VOL_DOWN) +#define LIST_RC_NEXT2 BUTTON_RC3_VOL_DOWN +#define LIST_RC_PREV2 BUTTON_RC3_VOL_UP +#define LIST_RC_PGRIGHT2 BUTTON_RC3_FF +#define LIST_RC_PGLEFT2 BUTTON_RC3_REW #endif /* CONFIG_REMOTE_KEYPAD */ #elif CONFIG_KEYPAD == RECORDER_PAD diff -ru --strip-trailing-cr rockbox-devel/apps/gui/quickscreen.c rockbox/apps/gui/quickscreen.c --- rockbox-devel/apps/gui/quickscreen.c 2006-03-13 20:55:13.155000000 +0900 +++ rockbox/apps/gui/quickscreen.c 2006-03-29 15:19:20.835444800 +0900 @@ -134,6 +134,10 @@ case QUICKSCREEN_RC_LEFT : case QUICKSCREEN_RC_LEFT | BUTTON_REPEAT : #endif +#ifdef QUICKSCREEN_RC_LEFT2 + case QUICKSCREEN_RC_LEFT2 : + case QUICKSCREEN_RC_LEFT2 | BUTTON_REPEAT : +#endif option_select_next(qs->left_option); return(true); @@ -143,6 +147,10 @@ case QUICKSCREEN_RC_BOTTOM : case QUICKSCREEN_RC_BOTTOM | BUTTON_REPEAT : #endif +#ifdef QUICKSCREEN_RC_BOTTOM2 + case QUICKSCREEN_RC_BOTTOM2 : + case QUICKSCREEN_RC_BOTTOM2 | BUTTON_REPEAT : +#endif option_select_next(qs->bottom_option); return(true); @@ -152,6 +160,10 @@ case QUICKSCREEN_RC_RIGHT : case QUICKSCREEN_RC_RIGHT | BUTTON_REPEAT : #endif +#ifdef QUICKSCREEN_RC_RIGHT2 + case QUICKSCREEN_RC_RIGHT2 : + case QUICKSCREEN_RC_RIGHT2 | BUTTON_REPEAT : +#endif option_select_next(qs->right_option); return(true); @@ -163,7 +175,11 @@ case QUICKSCREEN_RC_BOTTOM_INV : case QUICKSCREEN_RC_BOTTOM_INV | BUTTON_REPEAT : #endif +#ifdef QUICKSCREEN_RC_BOTTOM_INV2 + case QUICKSCREEN_RC_BOTTOM_INV2 : + case QUICKSCREEN_RC_BOTTOM_INV2 | BUTTON_REPEAT : +#endif -#if defined(QUICKSCREEN_RC_BOTTOM_INV) || defined(QUICKSCREEN_BOTTOM_INV) +#if defined(QUICKSCREEN_RC_BOTTOM_INV) || defined(QUICKSCREEN_BOTTOM_INV) || defined(QUICKSCREEN_BOTTOM_INV2) option_select_prev(qs->bottom_option); return(true); #endif diff -ru --strip-trailing-cr rockbox-devel/apps/gui/quickscreen.h rockbox/apps/gui/quickscreen.h --- rockbox-devel/apps/gui/quickscreen.h 2005-11-23 06:55:04.000000000 +0900 +++ rockbox/apps/gui/quickscreen.h 2006-03-29 15:19:20.875502400 +0900 @@ -46,6 +46,10 @@ #define QUICKSCREEN_RC_BOTTOM BUTTON_RC_VOL_DOWN #define QUICKSCREEN_RC_BOTTOM_INV BUTTON_RC_VOL_UP #define QUICKSCREEN_RC_RIGHT BUTTON_RC_FF +#define QUICKSCREEN_RC_LEFT2 BUTTON_RC3_REW +#define QUICKSCREEN_RC_BOTTOM2 BUTTON_RC3_VOL_DOWN +#define QUICKSCREEN_RC_BOTTOM_INV2 BUTTON_RC3_VOL_UP +#define QUICKSCREEN_RC_RIGHT2 BUTTON_RC3_FF #endif #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) #define QUICKSCREEN_BOTTOM BUTTON_PLAY diff -ru --strip-trailing-cr rockbox-devel/apps/gui/select.c rockbox/apps/gui/select.c --- rockbox-devel/apps/gui/select.c 2005-12-08 00:37:21.000000000 +0900 +++ rockbox/apps/gui/select.c 2006-03-29 15:19:20.915560000 +0900 @@ -88,6 +88,9 @@ #ifdef SELECT_RC_INC case SELECT_RC_INC : #endif +#ifdef SELECT_RC_INC2 + case SELECT_RC_INC2 : +#endif option_select_next(&select->options); return(true); @@ -95,11 +98,17 @@ #ifdef SELECT_RC_DEC case SELECT_RC_DEC | BUTTON_REPEAT : #endif +#ifdef SELECT_RC_DEC2 + case SELECT_RC_DEC2 | BUTTON_REPEAT : +#endif select->options.limit_loop = true; case SELECT_DEC : #ifdef SELECT_RC_DEC case SELECT_RC_DEC : #endif +#ifdef SELECT_RC_DEC2 + case SELECT_RC_DEC2 : +#endif option_select_prev(&select->options); return(true); @@ -110,6 +119,12 @@ #ifdef SELECT_RC_OK2 case SELECT_RC_OK2 : #endif +#ifdef SELECT_RC_OK3 + case SELECT_RC_OK3 : +#endif +#ifdef SELECT_RC_OK4 + case SELECT_RC_OK4 : +#endif #ifdef SELECT_OK2 case SELECT_OK2 : #endif diff -ru --strip-trailing-cr rockbox-devel/apps/gui/select.h rockbox/apps/gui/select.h --- rockbox-devel/apps/gui/select.h 2006-03-28 16:21:22.444000000 +0900 +++ rockbox/apps/gui/select.h 2006-03-29 15:19:20.955617600 +0900 @@ -35,9 +35,13 @@ #define SELECT_RC_INC BUTTON_RC_FF #define SELECT_RC_DEC BUTTON_RC_REW #define SELECT_RC_OK BUTTON_RC_ON -#define SELECT_RC_OK2 BUTTON_RC_MENU +#define SELECT_RC_OK2 BUTTON_RC3_ON +#define SELECT_RC_OK3 BUTTON_RC_MENU +#define SELECT_RC_OK4 BUTTON_RC3_MENU #define SELECT_RC_CANCEL BUTTON_RC_STOP #define SELECT_RC_CANCEL2 BUTTON_RC_MODE +#define SELECT_RC_INC2 BUTTON_RC3_VOL_UP +#define SELECT_RC_DEC2 BUTTON_RC3_VOL_DOWN #elif CONFIG_KEYPAD == RECORDER_PAD #define SELECT_INC BUTTON_UP diff -ru --strip-trailing-cr rockbox-devel/apps/gui/statusbar.c rockbox/apps/gui/statusbar.c --- rockbox-devel/apps/gui/statusbar.c 2006-03-16 19:58:31.357000000 +0900 +++ rockbox/apps/gui/statusbar.c 2006-03-29 15:19:20.995675200 +0900 @@ -319,6 +319,13 @@ int fill, endfill; char buffer[5]; unsigned int width, height; + int battery_display = 0; + if(display->screen_type == SCREEN_MAIN) + battery_display = global_settings.battery_display; +#ifdef HAVE_REMOTE_LCD + else if(display->screen_type == SCREEN_REMOTE) + battery_display = global_settings.remote_battery_display; +#endif #if LCD_DEPTH > 1 unsigned int prevfg = 0; #endif @@ -340,11 +347,11 @@ #if CONFIG_CHARGING == CHARGING_MONITOR && !defined(SIMULATOR) /* Certain charge controlled targets */ /* show graphical animation when charging instead of numbers */ - if ((global_settings.battery_display) && + if ((battery_display) && (charge_state != CHARGING) && (percent > -1)) { #else /* all others */ - if (global_settings.battery_display && (percent > -1)) { + if (battery_display && (percent > -1)) { #endif /* Numeric display */ display->setfont(FONT_SYSFIXED); @@ -398,8 +405,14 @@ char buffer[4]; unsigned int width, height; bool needs_redraw = false; - int type = global_settings.volume_type; - struct screen * display=bar->display; + int type = 0; + struct screen * display=bar->display; + if(display->screen_type == SCREEN_MAIN) + type = global_settings.volume_type; +#ifdef HAVE_REMOTE_LCD + else if(display->screen_type == SCREEN_REMOTE) + type = global_settings.remote_volume_type; +#endif int minvol = sound_min(SOUND_VOLUME); int maxvol = sound_max(SOUND_VOLUME); @@ -567,12 +580,18 @@ void gui_syncstatusbar_draw(struct gui_syncstatusbar * bars, bool force_redraw) { -#ifdef HAVE_LCD_BITMAP - if(!global_settings.statusbar) - return; -#endif /* HAVE_LCD_BITMAP */ int i; FOR_NB_SCREENS(i) { +#ifdef HAVE_LCD_BITMAP + if(!global_settings.statusbar + && bars->statusbars[i].display->screen_type == SCREEN_MAIN) + return; +#ifdef HAVE_REMOTE_LCD + else if(!global_settings.remote_statusbar + && bars->statusbars[i].display->screen_type == SCREEN_REMOTE) + return; +#endif /* HAVE_REMOTE_LCD */ +#endif /* HAVE_LCD_BITMAP */ gui_statusbar_draw( &(bars->statusbars[i]), force_redraw ); } } diff -ru --strip-trailing-cr rockbox-devel/apps/gui/textarea.c rockbox/apps/gui/textarea.c --- rockbox-devel/apps/gui/textarea.c 2005-12-06 07:44:42.000000000 +0900 +++ rockbox/apps/gui/textarea.c 2006-03-29 15:19:21.035732800 +0900 @@ -20,6 +20,20 @@ #include "textarea.h" #include "font.h" +#ifdef HAVE_LCD_BITMAP +int gui_textarea_get_ystart(struct screen * display) +{ + int res = 0; + if(display->screen_type == SCREEN_MAIN) + res = (global_settings.statusbar)? STATUSBAR_HEIGHT : 0; +#ifdef HAVE_REMOTE_LCD + else if(display->screen_type == SCREEN_REMOTE) + res = (global_settings.remote_statusbar)? STATUSBAR_HEIGHT : 0; +#endif + return res; +} +#endif + void gui_textarea_clear(struct screen * display) { #ifdef HAVE_LCD_BITMAP @@ -58,8 +72,14 @@ { #ifdef HAVE_LCD_BITMAP int height=display->height; - if(global_settings.statusbar) + if(global_settings.statusbar + && display->screen_type == SCREEN_MAIN) height -= STATUSBAR_HEIGHT; +#ifdef HAVE_REMOTE_LCD + else if(global_settings.remote_statusbar + && display->screen_type == SCREEN_REMOTE) + height -= STATUSBAR_HEIGHT; +#endif #ifdef HAS_BUTTONBAR if(global_settings.buttonbar && display->has_buttonbar) height -= BUTTONBAR_HEIGHT; diff -ru --strip-trailing-cr rockbox-devel/apps/gui/textarea.h rockbox/apps/gui/textarea.h --- rockbox-devel/apps/gui/textarea.h 2005-11-18 11:07:02.000000000 +0900 +++ rockbox/apps/gui/textarea.h 2006-03-29 15:19:21.075790400 +0900 @@ -74,8 +74,7 @@ * - display : the screen structure * Returns the number of pixels */ -#define gui_textarea_get_ystart(display) \ - ( (global_settings.statusbar)? STATUSBAR_HEIGHT : 0) +int gui_textarea_get_ystart(struct screen * display); /* * Compute the number of pixels below which text can't be displayed diff -ru --strip-trailing-cr rockbox-devel/apps/lang/english.lang rockbox/apps/lang/english.lang --- rockbox-devel/apps/lang/english.lang 2006-03-28 16:21:22.825000000 +0900 +++ rockbox/apps/lang/english.lang 2006-03-29 15:19:21.145891200 +0900 @@ -8529,3 +8529,130 @@ *: "Remote Scrolling Options" + + id: LANG_REMOTE_STATUS_BAR + desc: in settings_menu + user: + + *: "Remote Status Bar" + + + *: "Remote Status Bar" + + + *: "Remote Status Bar" + + + + id: LANG_REMOTE_SCROLL_BAR + desc: in settings_menu + user: + + *: "Remote Scroll Bar" + + + *: "Remote Scroll Bar" + + + *: "Remote Scroll Bar" + + + + id: LANG_REMOTE_SHOW_ICONS + desc: in settings_menu + user: + + *: "Show Icons on Remote" + + + *: "Show Icons on Remote" + + + *: "Show Icons on Remote" + + + + + id: LANG_REMOTE_SCROLL_SPEED + desc: in settings_menu + user: + + *: "Remote Scroll Speed" + + + *: "Remote Scroll Speed" + + + *: "Remote Scroll Speed" + + + + id: LANG_REMOTE_SCROLL_DELAY + desc: Delay before scrolling + user: + + *: "Remote Scroll Start Delay" + + + *: "Remote Scroll Start Delay" + + + *: "Remote Scroll Start Delay" + + + + id: LANG_REMOTE_SCROLL_STEP + desc: Pixels to advance per scroll + user: + + *: "Remote Scroll Step Size" + + + *: "Remote Scroll Step Size" + + + *: "Remote Scroll Step Size" + + + + id: LANG_REMOTE_BIDIR_SCROLL + desc: Bidirectional scroll limit + user: + + *: "Remote Bidirectional Scroll Limit" + + + *: "Remote Bidirectional Scroll Limit" + + + *: "Remote Bidirectional Scroll Limit" + + + + id: LANG_REMOTE_VOLUME_DISPLAY + desc: Volume type title + user: + + *: "Remote Volume Display" + + + *: "Remote Volume Display" + + + *: "Remote Volume Display" + + + + id: LANG_REMOTE_BATTERY_DISPLAY + desc: Battery type title + user: + + *: "Remote Battery Display" + + + *: "Remote Battery Display" + + + *: "Remote Battery Display" + + diff -ru --strip-trailing-cr rockbox-devel/apps/menu.c rockbox/apps/menu.c --- rockbox-devel/apps/menu.c 2005-12-06 07:44:41.000000000 +0900 +++ rockbox/apps/menu.c 2006-03-29 15:19:21.165920000 +0900 @@ -64,6 +64,9 @@ static struct menu menus[MAX_MENUS]; static bool inuse[MAX_MENUS] = { false }; +static int lastkey = BUTTON_NONE; + + char * menu_get_itemname(int selected_item, void * data, char *buffer) { struct menu *local_menus=(struct menu *)data; @@ -153,6 +156,26 @@ #ifdef MENU_RC_ENTER2 case MENU_RC_ENTER2: #endif +#ifdef MENU_RC_ENTER3 + case MENU_RC_ENTER3: +#endif +#ifdef MENU_RC_ENTER4 + case MENU_RC_ENTER4: +#endif +#ifdef MENU_RC_ENTER5 + case MENU_RC_ENTER5: +#endif +#ifdef MENU_RC_ENTER6 + case MENU_RC_ENTER6: +#endif +#ifdef MENU_RC_ENTER3_PRE + if ((key == MENU_RC_ENTER3) && (lastkey != MENU_RC_ENTER3_PRE)) + break; +#endif +#ifdef MENU_RC_ENTER4_PRE + if ((key == MENU_RC_ENTER4) && (lastkey != MENU_RC_ENTER4_PRE)) + break; +#endif return gui_synclist_get_sel_pos(&(menus[m].synclist)); @@ -169,6 +192,17 @@ #ifdef MENU_RC_EXIT_MENU case MENU_RC_EXIT_MENU: #endif +#ifdef MENU_RC_EXIT2 + case MENU_RC_EXIT2: +#endif +#ifdef MENU_RC_EXIT4 + case MENU_RC_EXIT4: +#endif +#ifdef MENU_RC_EXIT3 + case MENU_RC_EXIT3: + if (lastkey == MENU_RC_EXIT3) + break; +#endif exit = true; break; @@ -177,6 +211,8 @@ return MENU_ATTACHED_USB; break; } + if ( key ) + lastkey = key; gui_syncstatusbar_draw(&statusbars, false); } return MENU_SELECTED_EXIT; diff -ru --strip-trailing-cr rockbox-devel/apps/menu.h rockbox/apps/menu.h --- rockbox-devel/apps/menu.h 2006-02-26 02:36:17.297000000 +0900 +++ rockbox/apps/menu.h 2006-03-29 15:19:21.195963200 +0900 @@ -31,11 +31,19 @@ #define MENU_ENTER BUTTON_RIGHT #define MENU_ENTER2 BUTTON_SELECT +#define MENU_RC_ENTER BUTTON_RC_ON +#define MENU_RC_ENTER2 BUTTON_RC3_ON +#define MENU_RC_ENTER3 (BUTTON_RC_MENU | BUTTON_REL) +#define MENU_RC_ENTER3_PRE BUTTON_RC_MENU +#define MENU_RC_ENTER4 (BUTTON_RC3_MENU | BUTTON_REL) +#define MENU_RC_ENTER4_PRE BUTTON_RC3_MENU +#define MENU_RC_ENTER5 BUTTON_RC_VOL_UP +#define MENU_RC_ENTER6 BUTTON_RC3_FF #define MENU_RC_EXIT BUTTON_RC_STOP #define MENU_RC_EXIT_MENU BUTTON_RC_MODE -#define MENU_RC_ENTER BUTTON_RC_ON -#define MENU_RC_ENTER2 BUTTON_RC_MENU - +#define MENU_RC_EXIT2 BUTTON_RC_VOL_DOWN +#define MENU_RC_EXIT3 (BUTTON_RC_MENU | BUTTON_REPEAT) +#define MENU_RC_EXIT4 BUTTON_RC3_REW #elif CONFIG_KEYPAD == RECORDER_PAD diff -ru --strip-trailing-cr rockbox-devel/apps/playlist_viewer.c rockbox/apps/playlist_viewer.c --- rockbox-devel/apps/playlist_viewer.c 2006-03-06 07:45:16.668000000 +0900 +++ rockbox/apps/playlist_viewer.c 2006-03-29 15:19:21.236020800 +0900 @@ -693,17 +693,16 @@ case TREE_ENTER: case TREE_ENTER | BUTTON_REPEAT: #endif + case TREE_RUN: +#ifdef TREE_RUN_PRE + if ((button == TREE_RUN) && (lastbutton != TREE_RUN_PRE)) + break; +#endif #ifdef TREE_RC_RUN case TREE_RC_RUN: #endif - case TREE_RUN: -#ifdef TREE_RUN_PRE - if (((button == TREE_RUN) #ifdef TREE_RC_RUN_PRE - || (button == TREE_RC_RUN)) - && ((lastbutton != TREE_RC_RUN_PRE) -#endif - && (lastbutton != TREE_RUN_PRE))) + if ((button == TREE_RC_RUN) && (lastbutton != TREE_RC_RUN_PRE)) break; #endif struct playlist_entry * current_track = diff -ru --strip-trailing-cr rockbox-devel/apps/recorder/radio.c rockbox/apps/recorder/radio.c --- rockbox-devel/apps/recorder/radio.c 2006-03-28 16:21:35.243000000 +0900 +++ rockbox/apps/recorder/radio.c 2006-03-29 15:19:21.286092800 +0900 @@ -324,6 +324,9 @@ bool statusbar = global_settings.statusbar; int mute_timeout = current_tick; int button_timeout = current_tick + (2*HZ); +#ifdef HAVE_REMOTE_LCD + bool remote_statusbar = global_settings.remote_statusbar; +#endif #ifdef HAS_BUTTONBAR struct gui_buttonbar buttonbar; gui_buttonbar_init(&buttonbar); @@ -331,6 +334,9 @@ #endif /* always display status bar in radio screen for now */ global_settings.statusbar = true; +#ifdef HAVE_REMOTE_LCD + global_settings.remote_statusbar = true; +#endif FOR_NB_SCREENS(i) { gui_textarea_clear(&screens[i]); @@ -1014,6 +1020,9 @@ /* restore status bar settings */ global_settings.statusbar = statusbar; +#ifdef HAVE_REMOTE_LCD + global_settings.remote_statusbar = remote_statusbar; +#endif return have_recorded; } Only in rockbox/apps/recorder: radio.c.orig diff -ru --strip-trailing-cr rockbox-devel/apps/settings.c rockbox/apps/settings.c --- rockbox-devel/apps/settings.c 2006-03-28 16:21:11.178000000 +0900 +++ rockbox/apps/settings.c 2006-03-29 15:19:21.366208000 +0900 @@ -563,6 +563,22 @@ {1, S_O(warnon_erase_dynplaylist), false, "warn when erasing dynamic playlist", off_on }, +#ifdef HAVE_REMOTE_LCD + {1, S_O(remote_statusbar), true, "remote statusbar", off_on }, + {1, S_O(remote_scrollbar), true, "remote scrollbar", off_on }, + {1, S_O(remote_volume_type), 0, "remote volume display", graphic_numeric }, + {1, S_O(remote_battery_display), 0, "remote battery display", graphic_numeric }, + {1, S_O(remote_invert_cursor), false, "remote invert cursor", off_on }, + {1, S_O(remote_show_icons), true, "remote_show icons", off_on }, + {4, S_O(remote_scroll_speed), 9, "remote scroll speed", NULL }, /* 0...15 */ + {7, S_O(remote_scroll_step), 6, "remote scroll step", NULL }, /* 1...112 */ + {8, S_O(remote_scroll_delay), 100, "remote scroll delay", NULL }, /* 0...250 */ + {8, S_O(remote_bidir_limit), 50, "remote bidir limit", NULL }, /* 0...200 */ +#ifdef CONFIG_BACKLIGHT + {1, S_O(remote_caption_backlight), false, "remote caption backlight", off_on }, +#endif +#endif + /* If values are just added to the end, no need to bump the version. */ /* new stuff to be added at the end */ @@ -1014,6 +1030,7 @@ lcd_remote_scroll_speed(global_settings.remote_scroll_speed); lcd_remote_scroll_step(global_settings.remote_scroll_step); lcd_remote_scroll_delay(global_settings.remote_scroll_delay * (HZ/10)); + lcd_remote_bidir_scroll(global_settings.remote_bidir_limit); #ifdef HAVE_REMOTE_LCD_TICKING lcd_remote_emireduce(global_settings.remote_reduce_ticking); #endif @@ -1056,6 +1073,9 @@ lcd_set_flip(global_settings.flip_display); button_set_flip(global_settings.flip_display); lcd_update(); /* refresh after flipping the screen */ +#ifdef HAVE_REMOTE_LCD + lcd_remote_update(); /* refresh after flipping the screen */ +#endif settings_apply_pm_range(); peak_meter_init_times( global_settings.peak_meter_release, global_settings.peak_meter_hold, diff -ru --strip-trailing-cr rockbox-devel/apps/settings.h rockbox/apps/settings.h --- rockbox-devel/apps/settings.h 2006-03-28 16:21:11.268000000 +0900 +++ rockbox/apps/settings.h 2006-03-29 15:19:21.386236800 +0900 @@ -57,6 +57,25 @@ #define SETTINGS_NEXT BUTTON_RIGHT #define SETTINGS_ACCEPT BUTTON_ON +#define SETTINGS_RC_INC BUTTON_RC_FF /* for H1x0 remote */ +#define SETTINGS_RC_INC2 BUTTON_RC3_VOL_UP /* for H3x0 remote */ +#define SETTINGS_RC_DEC BUTTON_RC_REW /* for H1x0 remote */ +#define SETTINGS_RC_DEC2 BUTTON_RC3_VOL_DOWN /* for H3x0 remote */ +#define SETTINGS_RC_OK BUTTON_RC_ON /* for H1x0 remote */ +#define SETTINGS_RC_OK2 (BUTTON_RC_MENU | BUTTON_REL) /* for H1x0 remote */ +#define SETTINGS_RC_OK2_PRE BUTTON_RC_MENU /* for H1x0 remote */ +#define SETTINGS_RC_OK3 BUTTON_RC3_MENU /* for H3x0 remote */ +#define SETTINGS_RC_OK4 (BUTTON_RC3_ON | BUTTON_REL) /* for H3x0 remote */ +#define SETTINGS_RC_OK4_PRE BUTTON_RC3_ON /* for H3x0 remote */ +#define SETTINGS_RC_CANCEL BUTTON_RC_STOP /* for H1x0/H3x0 remote */ +#define SETTINGS_RC_CANCEL2 (BUTTON_RC_MENU | BUTTON_REPEAT) /* for H1x0 remote */ +#define SETTINGS_RC_CANCEL3 (BUTTON_RC3_ON | BUTTON_REPEAT) /* for H3x0 remote */ +#define SETTINGS_RC_PREV BUTTON_RC_REW /* for H1x0 remote */ +#define SETTINGS_RC_PREV2 BUTTON_RC3_REW /* for H3x0 remote */ +#define SETTINGS_RC_NEXT BUTTON_RC_FF /* for H1x0 remote */ +#define SETTINGS_RC_NEXT2 BUTTON_RC3_FF /* for H3x0 remote */ + + #elif CONFIG_KEYPAD == RECORDER_PAD #define SETTINGS_INC BUTTON_UP #define SETTINGS_DEC BUTTON_DOWN @@ -397,11 +416,22 @@ int remote_contrast; /* lcd contrast: 0-63 0=low 63=high */ bool remote_invert; /* invert display */ bool remote_flip_display; /* turn display (and button layout) by 180 degrees */ + bool remote_invert_cursor; /* invert the current file in dir browser and menu + instead of using the default cursor */ + int remote_bidir_limit; /* bidir scroll length limit */ + + bool remote_scrollbar; /* 0=hide, 1=show */ + bool remote_statusbar; /* 0=hide, 1=show */ + bool remote_show_icons; /* 0=hide 1=show */ + + int remote_volume_type; /* how volume is displayed: 0=graphic, 1=percent */ + int remote_battery_display; /* how battery is displayed: 0=graphic, 1=percent */ int remote_backlight_timeout; /* backlight off timeout: 0-18 0=never, 1=always, then according to timeout_values[] */ int remote_backlight_timeout_plugged; bool remote_caption_backlight; /* turn on backlight at end and start of track */ + int remote_type; /* remote type 0=H1x0, 1=H3x0 LCD, 2=H3x0 nonLCD, 3=other */ #ifdef HAVE_REMOTE_LCD_TICKING bool remote_reduce_ticking; /* 0=normal operation, 1=EMI reduce on with cost more CPU. */ diff -ru --strip-trailing-cr rockbox-devel/apps/settings_menu.c rockbox/apps/settings_menu.c --- rockbox-devel/apps/settings_menu.c +++ rockbox/apps/settings_menu.c @@ -135,6 +135,60 @@ return rc; } +static bool remote_bidir_limit(void) +{ + return set_int(str(LANG_BIDIR_SCROLL), "%", UNIT_PERCENT, + &global_settings.remote_bidir_limit, + &lcd_remote_bidir_scroll, 25, 0, 200, NULL ); +} + +static bool remote_scroll_bar(void) +{ + return set_bool( str(LANG_SCROLL_BAR), &global_settings.remote_scrollbar ); +} + +static bool remote_status_bar(void) +{ + return set_bool( str(LANG_STATUS_BAR), &global_settings.remote_statusbar ); +} + +static bool remote_show_icons(void) +{ + return set_bool( str(LANG_SHOW_ICONS), &global_settings.remote_show_icons ); +} + +static bool remote_battery_display(void) +{ + static const struct opt_items names[] = { + { STR(LANG_DISPLAY_GRAPHIC) }, + { STR(LANG_DISPLAY_NUMERIC) } + }; + return set_option( str(LANG_BATTERY_DISPLAY), + &global_settings.remote_battery_display, INT, names, 2, NULL); +} + +/** +* Menu to configure the volume display on status bar +*/ +static bool remote_volume_type(void) +{ + static const struct opt_items names[] = { + { STR(LANG_DISPLAY_GRAPHIC) }, + { STR(LANG_DISPLAY_NUMERIC) } + }; + return set_option( str(LANG_VOLUME_DISPLAY), &global_settings.remote_volume_type, + INT, names, 2, NULL); +} + +static bool remote_invert_cursor(void) +{ + return set_bool_options(str(LANG_INVERT_CURSOR), + &global_settings.remote_invert_cursor, + STR(LANG_INVERT_CURSOR_BAR), + STR(LANG_INVERT_CURSOR_POINTER), + NULL); +} + #ifdef HAVE_REMOTE_LCD_TICKING static bool remote_reduce_ticking(void) { @@ -867,7 +921,7 @@ { return set_int(str(LANG_SCROLL_STEP_EXAMPLE), str(LANG_PIXELS), UNIT_PIXEL, &global_settings.remote_scroll_step, - &lcd_remote_scroll_step, 1, 1, LCD_WIDTH, NULL ); + &lcd_remote_scroll_step, 1, 1, LCD_REMOTE_WIDTH, NULL ); } static bool remote_scroll_delay(void) @@ -1641,6 +1695,9 @@ { ID2P(LANG_FILTER), dir_filter }, { ID2P(LANG_FOLLOW), browse_current }, { ID2P(LANG_SHOW_ICONS), show_icons }, +#ifdef HAVE_REMOTE_LCD + { ID2P(LANG_REMOTE_SHOW_ICONS), remote_show_icons }, +#endif #ifdef HAVE_DIRCACHE { ID2P(LANG_TAGCACHE), tagcache_ram }, #endif @@ -1661,9 +1718,10 @@ bool result; static const struct menu_item items[] = { - { ID2P(LANG_SCROLL_SPEED), remote_scroll_speed }, - { ID2P(LANG_SCROLL_DELAY), remote_scroll_delay }, - { ID2P(LANG_SCROLL_STEP), remote_scroll_step }, + { ID2P(LANG_REMOTE_SCROLL_SPEED), remote_scroll_speed }, + { ID2P(LANG_REMOTE_SCROLL_DELAY), remote_scroll_delay }, + { ID2P(LANG_REMOTE_SCROLL_STEP), remote_scroll_step }, + { ID2P(LANG_REMOTE_BIDIR_SCROLL), remote_bidir_limit }, }; m=menu_init( items, sizeof(items) / sizeof(*items), NULL, @@ -1772,6 +1830,7 @@ { ID2P(LANG_CONTRAST), remote_contrast }, { ID2P(LANG_INVERT), remote_invert }, { ID2P(LANG_FLIP_DISPLAY), remote_flip_display }, + { ID2P(LANG_INVERT_CURSOR), remote_invert_cursor }, #ifdef HAVE_REMOTE_LCD_TICKING { ID2P(LANG_REDUCE_TICKING), remote_reduce_ticking }, #endif @@ -1799,6 +1858,12 @@ #endif { ID2P(LANG_VOLUME_DISPLAY), volume_type }, { ID2P(LANG_BATTERY_DISPLAY), battery_display }, +#ifdef HAVE_REMOTE_LCD + { ID2P(LANG_REMOTE_SCROLL_BAR), remote_scroll_bar }, + { ID2P(LANG_REMOTE_STATUS_BAR), remote_status_bar }, + { ID2P(LANG_REMOTE_VOLUME_DISPLAY), remote_volume_type }, + { ID2P(LANG_REMOTE_BATTERY_DISPLAY), remote_battery_display }, +#endif }; m=menu_init( items, sizeof(items) / sizeof(*items), NULL, Only in rockbox/apps: settings_menu.c.orig Only in rockbox/apps: settings_menu.c.rej diff -ru --strip-trailing-cr rockbox-devel/apps/tree.c rockbox/apps/tree.c --- rockbox-devel/apps/tree.c 2006-03-28 16:21:13.481000000 +0900 +++ rockbox/apps/tree.c 2006-03-29 15:19:21.476366400 +0900 @@ -237,8 +237,8 @@ strcpy(tc.currdir, "/"); -#ifdef HAVE_LCD_CHARCELLS int i; +#ifdef HAVE_LCD_CHARCELLS FOR_NB_SCREENS(i) screens[i].double_height(false); #endif @@ -248,8 +248,17 @@ gui_buttonbar_set_display(&tree_buttonbar, &(screens[SCREEN_MAIN]) ); #endif gui_synclist_init(&tree_lists, &tree_get_filename, &tc); - gui_synclist_set_icon_callback(&tree_lists, - global_settings.show_icons?&tree_get_fileicon:NULL); + FOR_NB_SCREENS(i) + { + if(screens[i].screen_type == SCREEN_MAIN) + gui_list_set_icon_callback(&tree_lists.gui_list[i], + global_settings.show_icons?&tree_get_fileicon:NULL); +#ifdef HAVE_REMOTE_LCD + else if(screens[i].screen_type == SCREEN_REMOTE) + gui_list_set_icon_callback(&tree_lists.gui_list[i], + global_settings.remote_show_icons?&tree_get_fileicon:NULL); +#endif + } #ifndef SIMULATOR dirbrowse(); #else @@ -345,8 +354,19 @@ } } gui_synclist_set_nb_items(&tree_lists, tc.filesindir); - gui_synclist_set_icon_callback(&tree_lists, - global_settings.show_icons?&tree_get_fileicon:NULL); + + int i; + FOR_NB_SCREENS(i) + { + if(screens[i].screen_type == SCREEN_MAIN) + gui_list_set_icon_callback(&tree_lists.gui_list[i], + global_settings.show_icons?&tree_get_fileicon:NULL); +#ifdef HAVE_REMOTE_LCD + else if(screens[i].screen_type == SCREEN_REMOTE) + gui_list_set_icon_callback(&tree_lists.gui_list[i], + global_settings.remote_show_icons?&tree_get_fileicon:NULL); +#endif + } if( tc.selected_item >= tc.filesindir) tc.selected_item=tc.filesindir-1; @@ -585,19 +605,31 @@ switch ( button ) { #ifdef TREE_ENTER case TREE_ENTER: - case TREE_ENTER | BUTTON_REPEAT: +// case TREE_ENTER | BUTTON_REPEAT: #endif #ifdef TREE_RC_RUN case TREE_RC_RUN: #endif +#ifdef TREE_RC_RUN2 + case TREE_RC_RUN2: +#endif +#ifdef TREE_RC_ENTER + case TREE_RC_ENTER: +#endif +#ifdef TREE_RC_ENTER2 + case TREE_RC_ENTER2: +#endif case TREE_RUN: #ifdef TREE_RUN_PRE - if (((button == TREE_RUN) + if ((button == TREE_RUN) && (lastbutton != TREE_RUN_PRE)) + break; +#endif #ifdef TREE_RC_RUN_PRE - || (button == TREE_RC_RUN)) - && ((lastbutton != TREE_RC_RUN_PRE) + if ((button == TREE_RC_RUN) && (lastbutton != TREE_RC_RUN_PRE)) + break; #endif - && (lastbutton != TREE_RUN_PRE))) +#ifdef TREE_RC_RUN2_PRE + if ((button == TREE_RC_RUN2) && (lastbutton != TREE_RC_RUN2_PRE)) break; #endif /* nothing to do if no files to display */ @@ -615,17 +647,38 @@ break; case TREE_EXIT: - case TREE_EXIT | BUTTON_REPEAT: +// case TREE_EXIT | BUTTON_REPEAT: #ifdef TREE_RC_EXIT case TREE_RC_EXIT: #endif +#ifdef TREE_RC_EXIT1 + case TREE_RC_EXIT1: +#endif +#ifdef TREE_RC_EXIT2 + case TREE_RC_EXIT2: +#endif +#ifdef TREE_RC_EXIT3 + case TREE_RC_EXIT3: + if (lastbutton == TREE_RC_EXIT3) + break; +#endif +#ifdef TREE_RC_EXIT4 + case TREE_RC_EXIT4: + if (lastbutton == TREE_RC_EXIT4) + break; +#endif if (*tc.dirfilter > NUM_FILTER_MODES && tc.dirlevel < 1) { exit_func = true; break; } /* if we are in /, nothing to do */ if (tc.dirlevel == 0) + { + if (audio_status() & AUDIO_STATUS_PLAY) + start_wps=true; + while(button_get_w_tmo(HZ/5)) {} break; + } if (id3db) tagtree_exit(&tc); @@ -702,13 +755,17 @@ #ifdef TREE_RC_WPS case TREE_RC_WPS: #endif +#ifdef TREE_RC_WPS2 + case TREE_RC_WPS2: +#endif #ifdef TREE_WPS_PRE - if ((lastbutton != TREE_WPS_PRE) -#ifdef TREE_RC_WPS - && (lastbutton != TREE_RC_WPS_PRE) + if ((button == TREE_WPS) && (lastbutton != TREE_WPS_PRE)) break; #endif - ) - break; +#ifdef TREE_RC_WPS_PRE + if ((button == TREE_RC_WPS) && (lastbutton != TREE_RC_WPS_PRE)) break; +#endif +#ifdef TREE_RC_WPS2_PRE + if ((button == TREE_RC_WPS2) && (lastbutton != TREE_RC_WPS2_PRE)) break; #endif /* don't enter wps from plugin browser etc */ if (*tc.dirfilter < NUM_FILTER_MODES) @@ -759,6 +816,9 @@ #ifdef TREE_RC_CONTEXT case TREE_RC_CONTEXT: #endif +#ifdef TREE_RC_CONTEXT2 + case TREE_RC_CONTEXT2: +#endif #ifdef TREE_CONTEXT2 case TREE_CONTEXT2: #endif Only in rockbox/apps: tree.c.orig diff -ru --strip-trailing-cr rockbox-devel/apps/tree.h rockbox/apps/tree.h --- rockbox-devel/apps/tree.h 2006-03-28 16:21:13.732000000 +0900 +++ rockbox/apps/tree.h 2006-03-29 15:19:21.516424000 +0900 @@ -44,14 +44,27 @@ #define TREE_RC_PREV BUTTON_RC_REW #define TREE_RC_PGUP BUTTON_RC_SOURCE #define TREE_RC_PGDN BUTTON_RC_BITRATE -#define TREE_RC_EXIT BUTTON_RC_STOP +#define TREE_RC_ENTER BUTTON_RC_VOL_UP +#define TREE_RC_ENTER2 BUTTON_RC3_FF +#define TREE_RC_OFF BUTTON_RC_STOP +#define TREE_RC_EXIT1 BUTTON_RC_VOL_DOWN +#define TREE_RC_EXIT2 BUTTON_RC3_REW +#define TREE_RC_EXIT3 (BUTTON_RC_MENU | BUTTON_REPEAT) +#define TREE_RC_EXIT4 (BUTTON_RC3_ON | BUTTON_REPEAT) #define TREE_RC_RUN (BUTTON_RC_MENU | BUTTON_REL) #define TREE_RC_RUN_PRE BUTTON_RC_MENU +#define TREE_RC_RUN2 (BUTTON_RC3_MENU | BUTTON_REL) +#define TREE_RC_RUN2_PRE BUTTON_RC3_MENU #define TREE_RC_MENU (BUTTON_RC_MODE | BUTTON_REL) #define TREE_RC_MENU_PRE BUTTON_RC_MODE #define TREE_RC_WPS (BUTTON_RC_ON | BUTTON_REL) #define TREE_RC_WPS_PRE BUTTON_RC_ON +#define TREE_RC_WPS2 (BUTTON_RC3_ON | BUTTON_REL) +#define TREE_RC_WPS2_PRE BUTTON_RC3_ON + #define TREE_RC_CONTEXT (BUTTON_RC_ON | BUTTON_REPEAT) +#define TREE_RC_CONTEXT2 (BUTTON_RC3_MENU | BUTTON_REPEAT) + #define TREE_RC_QUICK (BUTTON_RC_MODE | BUTTON_REPEAT) #elif CONFIG_KEYPAD == RECORDER_PAD diff -ru --strip-trailing-cr rockbox-devel/firmware/drivers/button.c rockbox/firmware/drivers/button.c --- rockbox-devel/firmware/drivers/button.c 2006-03-28 16:21:39.689000000 +0900 +++ rockbox/firmware/drivers/button.c 2006-03-29 15:19:21.556481600 +0900 @@ -961,9 +961,9 @@ if (data < 0x42) if (data < 0x27) if(data < 0x0c) - btn |= BUTTON_RC_VOL_DOWN; + btn |= BUTTON_RC3_VOL_DOWN; else - btn |= BUTTON_RC_FF; + btn |= BUTTON_RC3_FF; else btn |= BUTTON_RC_STOP; else @@ -974,7 +974,7 @@ else if (data < 0xab) if (data < 0x8e) - btn |= BUTTON_RC_ON; + btn |= BUTTON_RC3_ON; else btn |= BUTTON_RC_BITRATE; else @@ -982,24 +982,24 @@ if(data < 0xc5) btn |= BUTTON_RC_SOURCE; else - btn |= BUTTON_RC_VOL_UP; + btn |= BUTTON_RC3_VOL_UP; else - btn |= BUTTON_RC_REW; + btn |= BUTTON_RC3_REW; } break; case REMOTETYPE_H300_NONLCD: if (data < 0xf1) { if (data < 0x7d) if (data < 0x25) - btn |= BUTTON_RC_FF; + btn |= BUTTON_RC3_FF; else - btn |= BUTTON_RC_REW; + btn |= BUTTON_RC3_REW; else if (data < 0xd5) - btn |= BUTTON_RC_VOL_DOWN; + btn |= BUTTON_RC3_VOL_DOWN; else - btn |= BUTTON_RC_VOL_UP; + btn |= BUTTON_RC3_VOL_UP; } break; } @@ -1024,11 +1024,13 @@ switch(remote_type()) { case REMOTETYPE_H100_LCD: - case REMOTETYPE_H300_NONLCD: btn |= BUTTON_RC_ON; break; + case REMOTETYPE_H300_NONLCD: + btn |= BUTTON_RC3_ON; + break; case REMOTETYPE_H300_LCD: - btn |= BUTTON_RC_MENU; + btn |= BUTTON_RC3_MENU; break; } diff -ru --strip-trailing-cr rockbox-devel/firmware/export/button.h rockbox/firmware/export/button.h --- rockbox-devel/firmware/export/button.h 2006-03-28 16:21:44.186000000 +0900 +++ rockbox/firmware/export/button.h 2006-03-29 14:42:35.634521600 +0900 @@ -60,8 +60,8 @@ #define BUTTON_NONE 0x00000000 /* Button modifiers */ -#define BUTTON_REL 0x02000000 +#define BUTTON_REL 0x20000000 -#define BUTTON_REPEAT 0x04000000 +#define BUTTON_REPEAT 0x40000000 /* Target specific button codes */ @@ -89,6 +89,13 @@ BUTTON_UP|BUTTON_DOWN|BUTTON_REC|BUTTON_MODE|BUTTON_SELECT) /* Remote control's buttons */ +#define BUTTON_RC3_ON 0x04000000 +#define BUTTON_RC3_MENU 0x02000000 +#define BUTTON_RC3_VOL_UP 0x01000000 +#define BUTTON_RC3_VOL_DOWN 0x00800000 +#define BUTTON_RC3_FF 0x00400000 +#define BUTTON_RC3_REW 0x00200000 + #define BUTTON_RC_ON 0x00100000 #define BUTTON_RC_STOP 0x00080000 @@ -108,7 +115,8 @@ #define BUTTON_REMOTE (BUTTON_RC_ON|BUTTON_RC_STOP|BUTTON_RC_REW|BUTTON_RC_FF\ |BUTTON_RC_VOL_UP|BUTTON_RC_VOL_DOWN|BUTTON_RC_REC\ |BUTTON_RC_MODE|BUTTON_RC_MENU|BUTTON_RC_BITRATE\ - |BUTTON_RC_SOURCE) + |BUTTON_RC_SOURCE|BUTTON_RC3_ON|BUTTON_RC3_MENU|BUTTON_RC3_VOL_UP\ + |BUTTON_RC3_VOL_DOWN|BUTTON_RC3_FF|BUTTON_RC3_REW) #elif CONFIG_KEYPAD == RECORDER_PAD