summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/screens.c37
-rw-r--r--apps/screens.h7
-rw-r--r--apps/tree.c9
-rw-r--r--apps/tree.h2
-rw-r--r--apps/wps.c11
-rw-r--r--apps/wps.h5
-rw-r--r--firmware/export/button.h2
7 files changed, 54 insertions, 19 deletions
diff --git a/apps/screens.c b/apps/screens.c
index 8136614..6849384 100644
--- a/apps/screens.c
+++ b/apps/screens.c
@@ -513,7 +513,9 @@ int pitch_screen(void)
else
return 0;
}
+#endif
+#if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD)
bool quick_screen(int context, int button)
{
bool exit = false;
@@ -535,7 +537,12 @@ bool quick_screen(int context, int button)
switch(button)
{
- case BUTTON_F2:
+#if CONFIG_KEYPAD == RECORDER_PAD
+ case SCREENS_QUICK:
+#endif
+#if CONFIG_KEYPAD == IRIVER_H100_PAD
+ case SCREENS_QUICK | BUTTON_REPEAT:
+#endif
/* Shuffle mode */
lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_SHUFFLE));
lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F2_MODE));
@@ -596,6 +603,7 @@ bool quick_screen(int context, int button)
lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, str(LANG_F2_MODE));
lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, ptr);
break;
+#ifdef BUTTON_F3
case BUTTON_F3:
/* Scrollbar */
lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_F3_SCROLL));
@@ -620,6 +628,7 @@ bool quick_screen(int context, int button)
lcd_getstringsize(ptr,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, ptr);
break;
+#endif
}
lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward],
@@ -641,8 +650,8 @@ bool quick_screen(int context, int button)
key = button | key;
switch (key) {
- case BUTTON_F2 | BUTTON_LEFT:
- case BUTTON_F2 | BUTTON_LEFT | BUTTON_REPEAT:
+ case SCREENS_QUICK | BUTTON_LEFT:
+ case SCREENS_QUICK | BUTTON_LEFT | BUTTON_REPEAT:
global_settings.playlist_shuffle =
!global_settings.playlist_shuffle;
@@ -656,22 +665,23 @@ bool quick_screen(int context, int button)
used = true;
break;
- case BUTTON_F2 | BUTTON_DOWN:
- case BUTTON_F2 | BUTTON_DOWN | BUTTON_REPEAT:
+ case SCREENS_QUICK | BUTTON_DOWN:
+ case SCREENS_QUICK | BUTTON_DOWN | BUTTON_REPEAT:
global_settings.dirfilter++;
if ( global_settings.dirfilter >= NUM_FILTER_MODES )
global_settings.dirfilter = 0;
used = true;
break;
- case BUTTON_F2 | BUTTON_RIGHT:
- case BUTTON_F2 | BUTTON_RIGHT | BUTTON_REPEAT:
+ case SCREENS_QUICK | BUTTON_RIGHT:
+ case SCREENS_QUICK | BUTTON_RIGHT | BUTTON_REPEAT:
global_settings.repeat_mode++;
if ( global_settings.repeat_mode >= NUM_REPEAT_MODES )
global_settings.repeat_mode = 0;
used = true;
break;
+#ifdef BUTTON_F3
case BUTTON_F3 | BUTTON_LEFT:
case BUTTON_F3 | BUTTON_LEFT | BUTTON_REPEAT:
global_settings.scrollbar = !global_settings.scrollbar;
@@ -679,15 +689,15 @@ bool quick_screen(int context, int button)
break;
case BUTTON_F3 | BUTTON_RIGHT:
- case BUTTON_F3 | BUTTON_RIGHT | BUTTON_REPEAT:
+// case BUTTON_F3 | BUTTON_RIGHT | BUTTON_REPEAT:
global_settings.statusbar = !global_settings.statusbar;
used = true;
break;
case BUTTON_F3 | BUTTON_DOWN:
- case BUTTON_F3 | BUTTON_DOWN | BUTTON_REPEAT:
+// case BUTTON_F3 | BUTTON_DOWN | BUTTON_REPEAT:
case BUTTON_F3 | BUTTON_UP:
- case BUTTON_F3 | BUTTON_UP | BUTTON_REPEAT:
+// case BUTTON_F3 | BUTTON_UP | BUTTON_REPEAT:
global_settings.flip_display = !global_settings.flip_display;
button_set_flip(global_settings.flip_display);
lcd_set_flip(global_settings.flip_display);
@@ -695,7 +705,8 @@ bool quick_screen(int context, int button)
break;
case BUTTON_F3 | BUTTON_REL:
- case BUTTON_F2 | BUTTON_REL:
+#endif
+ case SCREENS_QUICK | BUTTON_REL:
if( used )
exit = true;
@@ -719,12 +730,13 @@ bool quick_screen(int context, int button)
switch( button )
{
- case BUTTON_F2:
+ case SCREENS_QUICK:
if ( oldrepeat != global_settings.repeat_mode )
audio_flush_and_reload_tracks();
break;
+#ifdef BUTTON_F3
case BUTTON_F3:
if (global_settings.statusbar)
@@ -733,6 +745,7 @@ bool quick_screen(int context, int button)
lcd_setmargins(0, 0);
break;
+#endif
}
lcd_setfont(FONT_UI);
diff --git a/apps/screens.h b/apps/screens.h
index 8940bb5..88eb3bd 100644
--- a/apps/screens.h
+++ b/apps/screens.h
@@ -33,6 +33,13 @@ int mmc_remove_request(void);
#if CONFIG_KEYPAD == RECORDER_PAD
int pitch_screen(void);
bool quick_screen(const int, const int);
+#define SCREENS_QUICK BUTTON_F2
+#endif
+
+#if CONFIG_KEYPAD == IRIVER_H100_PAD
+bool quick_screen(const int, const int);
+#define SCREENS_QUICK BUTTON_ON
+ /* Long press already detected so not needed here */
#endif
void splash(int ticks, /* how long */
diff --git a/apps/tree.c b/apps/tree.c
index e6b7988..be4edf7 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -1066,12 +1066,12 @@ static bool dirbrowse(void)
}
break;
-#ifdef BUTTON_F2
- case BUTTON_F2:
+#ifdef TREE_QUICK
+ case TREE_QUICK:
/* don't enter f2 from plugin browser */
if (*tc.dirfilter < NUM_FILTER_MODES)
{
- if (quick_screen(curr_context, BUTTON_F2))
+ if (quick_screen(curr_context, TREE_QUICK))
reload_dir = true;
restore = true;
@@ -1079,6 +1079,9 @@ static bool dirbrowse(void)
break;
}
+#endif
+
+#ifdef BUTTON_F3
case BUTTON_F3:
/* don't enter f3 from plugin browser */
if (*tc.dirfilter < NUM_FILTER_MODES)
diff --git a/apps/tree.h b/apps/tree.h
index cf578fd..2c973cc 100644
--- a/apps/tree.h
+++ b/apps/tree.h
@@ -39,6 +39,7 @@
#define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_SELECT)
#define TREE_POWER_BTN BUTTON_ON
+#define TREE_QUICK (BUTTON_ON | BUTTON_REPEAT)
#define TREE_RC_NEXT BUTTON_RC_FF
#define TREE_RC_PREV BUTTON_RC_REW
@@ -66,6 +67,7 @@
#define TREE_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT)
#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_PLAY)
#define TREE_POWER_BTN BUTTON_ON
+#define TREE_QUICK BUTTON_F2
#define TREE_RC_NEXT BUTTON_RC_RIGHT
#define TREE_RC_PREV BUTTON_RC_LEFT
diff --git a/apps/wps.c b/apps/wps.c
index a685d58..f051098 100644
--- a/apps/wps.c
+++ b/apps/wps.c
@@ -655,28 +655,33 @@ long wps_show(void)
break;
#endif
-#if CONFIG_KEYPAD == RECORDER_PAD
+#if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD)
/* play settings */
- case BUTTON_F2:
- if (quick_screen(CONTEXT_WPS, BUTTON_F2))
+ case WPS_QUICK:
+ if (quick_screen(CONTEXT_WPS, WPS_QUICK))
return SYS_USB_CONNECTED;
restore = true;
+ lastbutton = 0;
break;
/* screen settings */
+#ifdef BUTTON_F3
case BUTTON_F3:
if (quick_screen(CONTEXT_WPS, BUTTON_F3))
return SYS_USB_CONNECTED;
restore = true;
break;
+#endif
/* pitch screen */
+#if CONFIG_KEYPAD == RECORDER_PAD
case BUTTON_ON | BUTTON_REPEAT:
if (2 == pitch_screen())
return SYS_USB_CONNECTED;
restore = true;
break;
#endif
+#endif
/* stop and exit wps */
#ifdef WPS_EXIT
diff --git a/apps/wps.h b/apps/wps.h
index 4f86979..94a6b04 100644
--- a/apps/wps.h
+++ b/apps/wps.h
@@ -31,7 +31,8 @@
#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
#define WPS_INCVOL BUTTON_UP
#define WPS_DECVOL BUTTON_DOWN
-#define WPS_PAUSE BUTTON_ON
+#define WPS_PAUSE (BUTTON_ON | BUTTON_REL)
+#define WPS_PAUSE_PRE BUTTON_ON
#define WPS_MENU (BUTTON_MODE | BUTTON_REL)
#define WPS_MENU_PRE BUTTON_MODE
#define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL)
@@ -39,6 +40,7 @@
#define WPS_EXIT BUTTON_OFF
#define WPS_ID3 (BUTTON_MODE | BUTTON_ON)
#define WPS_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
+#define WPS_QUICK (BUTTON_ON | BUTTON_REPEAT)
#define WPS_RC_NEXT BUTTON_RC_FF
#define WPS_RC_PREV BUTTON_RC_REW
@@ -70,6 +72,7 @@
#define WPS_KEYLOCK (BUTTON_F1 | BUTTON_DOWN)
#define WPS_ID3 (BUTTON_F1 | BUTTON_ON)
#define WPS_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT)
+#define WPS_QUICK BUTTON_F2
#define WPS_RC_NEXT BUTTON_RC_RIGHT
#define WPS_RC_PREV BUTTON_RC_LEFT
diff --git a/firmware/export/button.h b/firmware/export/button.h
index 14cd195..ddacb5a 100644
--- a/firmware/export/button.h
+++ b/firmware/export/button.h
@@ -67,6 +67,8 @@ bool remote_button_hold(void);
#define BUTTON_OFF 0x0002
#define BUTTON_UP 0x0010
#define BUTTON_DOWN 0x0020
+#define BUTTON_QUICK BUTTON_ON
+#define BUTTON_QUICK_LONG (BUTTON_ON | BUTTON_REPEAT)
#define BUTTON_RC_ON (BUTTON_REMOTE | 0x00010000)
#define BUTTON_RC_STOP (BUTTON_REMOTE | 0x00020000)