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