summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcoen Hirschberg <marcoen@gmail.com>2005-06-12 16:10:17 +0000
committerMarcoen Hirschberg <marcoen@gmail.com>2005-06-12 16:10:17 +0000
commitc19e0f0d02fe1e87f24fc3037edd4e1566280d86 (patch)
treec8ba43b560b5a292c0783c40bce82c1019662564
parent097444d07cf394919d7eba149dfe81161cd86453 (diff)
downloadrockbox-c19e0f0d02fe1e87f24fc3037edd4e1566280d86.tar.gz
rockbox-c19e0f0d02fe1e87f24fc3037edd4e1566280d86.zip
Add remote control support to tree and menu. Move defines from wps.c to wps.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6692 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/menu.c12
-rw-r--r--apps/menu.h15
-rw-r--r--apps/tree.c3
-rw-r--r--apps/tree.h7
-rw-r--r--apps/wps.c113
-rw-r--r--apps/wps.h114
6 files changed, 151 insertions, 113 deletions
diff --git a/apps/menu.c b/apps/menu.c
index 04e0bb278c..126d29f40a 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -317,6 +317,9 @@ int menu_show(int m)
317 317
318 switch( key ) { 318 switch( key ) {
319 case MENU_PREV: 319 case MENU_PREV:
320#ifdef MENU_RC_PREV
321 case MENU_RC_PREV:
322#endif
320 case MENU_PREV | BUTTON_REPEAT: 323 case MENU_PREV | BUTTON_REPEAT:
321 if (menus[m].cursor) { 324 if (menus[m].cursor) {
322 /* keep the cursor at 1/3 of the screen */ 325 /* keep the cursor at 1/3 of the screen */
@@ -336,6 +339,9 @@ int menu_show(int m)
336 break; 339 break;
337 340
338 case MENU_NEXT: 341 case MENU_NEXT:
342#ifdef MENU_RC_NEXT
343 case MENU_RC_NEXT:
344#endif
339 case MENU_NEXT | BUTTON_REPEAT: 345 case MENU_NEXT | BUTTON_REPEAT:
340 if (menus[m].cursor < menus[m].itemcount-1) { 346 if (menus[m].cursor < menus[m].itemcount-1) {
341 /* keep the cursor at 2/3 of the screen */ 347 /* keep the cursor at 2/3 of the screen */
@@ -357,6 +363,9 @@ int menu_show(int m)
357#ifdef MENU_ENTER2 363#ifdef MENU_ENTER2
358 case MENU_ENTER2: 364 case MENU_ENTER2:
359#endif 365#endif
366#ifdef MENU_RC_ENTER
367 case MENU_RC_ENTER:
368#endif
360 /* Erase current display state */ 369 /* Erase current display state */
361 lcd_clear_display(); 370 lcd_clear_display();
362 return menus[m].cursor; 371 return menus[m].cursor;
@@ -368,6 +377,9 @@ int menu_show(int m)
368#ifdef MENU_EXIT3 377#ifdef MENU_EXIT3
369 case MENU_EXIT3: 378 case MENU_EXIT3:
370#endif 379#endif
380#ifdef MENU_RC_EXIT
381 case MENU_RC_EXIT:
382#endif
371 lcd_stop_scroll(); 383 lcd_stop_scroll();
372 exit = true; 384 exit = true;
373 break; 385 break;
diff --git a/apps/menu.h b/apps/menu.h
index 046153b654..d142d5ae60 100644
--- a/apps/menu.h
+++ b/apps/menu.h
@@ -31,6 +31,11 @@
31#define MENU_ENTER BUTTON_RIGHT 31#define MENU_ENTER BUTTON_RIGHT
32#define MENU_ENTER2 BUTTON_SELECT 32#define MENU_ENTER2 BUTTON_SELECT
33 33
34#define MENU_RC_NEXT BUTTON_RC_FF
35#define MENU_RC_PREV BUTTON_RC_REW
36#define MENU_RC_EXIT BUTTON_RC_STOP
37#define MENU_RC_ENTER BUTTON_RC_ON
38
34#elif CONFIG_KEYPAD == RECORDER_PAD 39#elif CONFIG_KEYPAD == RECORDER_PAD
35#define MENU_NEXT BUTTON_DOWN 40#define MENU_NEXT BUTTON_DOWN
36#define MENU_PREV BUTTON_UP 41#define MENU_PREV BUTTON_UP
@@ -40,6 +45,11 @@
40#define MENU_ENTER BUTTON_RIGHT 45#define MENU_ENTER BUTTON_RIGHT
41#define MENU_ENTER2 BUTTON_PLAY 46#define MENU_ENTER2 BUTTON_PLAY
42 47
48#define MENU_RC_NEXT BUTTON_RC_RIGHT
49#define MENU_RC_PREV BUTTON_RC_LEFT
50#define MENU_RC_EXIT BUTTON_RC_STOP
51#define MENU_RC_ENTER BUTTON_RC_PLAY
52
43#elif CONFIG_KEYPAD == PLAYER_PAD 53#elif CONFIG_KEYPAD == PLAYER_PAD
44#define MENU_NEXT BUTTON_RIGHT 54#define MENU_NEXT BUTTON_RIGHT
45#define MENU_PREV BUTTON_LEFT 55#define MENU_PREV BUTTON_LEFT
@@ -47,6 +57,11 @@
47#define MENU_EXIT2 BUTTON_MENU 57#define MENU_EXIT2 BUTTON_MENU
48#define MENU_ENTER BUTTON_PLAY 58#define MENU_ENTER BUTTON_PLAY
49 59
60#define MENU_RC_NEXT BUTTON_RC_RIGHT
61#define MENU_RC_PREV BUTTON_RC_LEFT
62#define MENU_RC_EXIT BUTTON_RC_STOP
63#define MENU_RC_ENTER BUTTON_RC_PLAY
64
50#elif CONFIG_KEYPAD == ONDIO_PAD 65#elif CONFIG_KEYPAD == ONDIO_PAD
51#define MENU_NEXT BUTTON_DOWN 66#define MENU_NEXT BUTTON_DOWN
52#define MENU_PREV BUTTON_UP 67#define MENU_PREV BUTTON_UP
diff --git a/apps/tree.c b/apps/tree.c
index e9a648ed80..da0e54c815 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -992,6 +992,9 @@ static bool dirbrowse(void)
992#endif 992#endif
993 993
994 case TREE_MENU: 994 case TREE_MENU:
995#ifdef TREE_RC_MENU
996 case TREE_RC_MENU:
997#endif
995#ifdef TREE_MENU_PRE 998#ifdef TREE_MENU_PRE
996 if (lastbutton != TREE_MENU_PRE) 999 if (lastbutton != TREE_MENU_PRE)
997 break; 1000 break;
diff --git a/apps/tree.h b/apps/tree.h
index c3ab60c243..5db786de49 100644
--- a/apps/tree.h
+++ b/apps/tree.h
@@ -40,6 +40,13 @@
40#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_SELECT) 40#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_SELECT)
41#define TREE_POWER_BTN BUTTON_ON 41#define TREE_POWER_BTN BUTTON_ON
42 42
43#define TREE_RC_NEXT BUTTON_RC_FF
44#define TREE_RC_PREV BUTTON_RC_REW
45#define TREE_RC_EXIT BUTTON_RC_STOP
46#define TREE_RC_ENTER BUTTON_RC_ON
47#define TREE_RC_RUN BUTTON_RC_ON
48#define TREE_RC_MENU BUTTON_RC_MENU
49
43#elif CONFIG_KEYPAD == RECORDER_PAD 50#elif CONFIG_KEYPAD == RECORDER_PAD
44#define TREE_NEXT BUTTON_DOWN 51#define TREE_NEXT BUTTON_DOWN
45#define TREE_PREV BUTTON_UP 52#define TREE_PREV BUTTON_UP
diff --git a/apps/wps.c b/apps/wps.c
index 94978b30a3..d702282a25 100644
--- a/apps/wps.c
+++ b/apps/wps.c
@@ -62,119 +62,6 @@ static struct mp3entry* id3 = NULL;
62static struct mp3entry* nid3 = NULL; 62static struct mp3entry* nid3 = NULL;
63static char current_track_path[MAX_PATH+1]; 63static char current_track_path[MAX_PATH+1];
64 64
65/* button definitions */
66#if CONFIG_KEYPAD == IRIVER_H100_PAD
67#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
68#define WPS_NEXT_PRE BUTTON_RIGHT
69#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
70#define WPS_PREV_PRE BUTTON_LEFT
71#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
72#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
73#define WPS_INCVOL BUTTON_UP
74#define WPS_DECVOL BUTTON_DOWN
75#define WPS_PAUSE BUTTON_ON
76#define WPS_MENU (BUTTON_MODE | BUTTON_REL)
77#define WPS_MENU_PRE BUTTON_MODE
78#define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL)
79#define WPS_BROWSE_PRE BUTTON_SELECT
80#define WPS_EXIT BUTTON_OFF
81#define WPS_KEYLOCK (BUTTON_MODE | BUTTON_DOWN)
82#define WPS_ID3 (BUTTON_MODE | BUTTON_ON)
83
84#define WPS_RC_NEXT BUTTON_RC_FF
85#define WPS_RC_PREV BUTTON_RC_REW
86#define WPS_RC_PAUSE BUTTON_RC_ON
87#define WPS_RC_INCVOL BUTTON_RC_VOL_UP
88#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN
89#define WPS_RC_EXIT BUTTON_RC_STOP
90
91
92#elif CONFIG_KEYPAD == RECORDER_PAD
93#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
94#define WPS_NEXT_PRE BUTTON_RIGHT
95#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
96#define WPS_PREV_PRE BUTTON_LEFT
97#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
98#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
99#define WPS_INCVOL BUTTON_UP
100#define WPS_DECVOL BUTTON_DOWN
101#define WPS_PAUSE BUTTON_PLAY
102#define WPS_MENU (BUTTON_F1 | BUTTON_REL)
103#define WPS_MENU_PRE BUTTON_F1
104#define WPS_BROWSE (BUTTON_ON | BUTTON_REL)
105#define WPS_BROWSE_PRE BUTTON_ON
106#define WPS_EXIT BUTTON_OFF
107#define WPS_KEYLOCK (BUTTON_F1 | BUTTON_DOWN)
108#define WPS_ID3 (BUTTON_F1 | BUTTON_ON)
109
110#define WPS_RC_NEXT BUTTON_RC_RIGHT
111#define WPS_RC_PREV BUTTON_RC_LEFT
112#define WPS_RC_PAUSE BUTTON_RC_PLAY
113#define WPS_RC_INCVOL BUTTON_RC_VOL_UP
114#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN
115#define WPS_RC_EXIT BUTTON_RC_STOP
116
117#elif CONFIG_KEYPAD == PLAYER_PAD
118#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
119#define WPS_NEXT_PRE BUTTON_RIGHT
120#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
121#define WPS_PREV_PRE BUTTON_LEFT
122#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
123#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
124#define WPS_INCVOL (BUTTON_MENU | BUTTON_RIGHT)
125#define WPS_DECVOL (BUTTON_MENU | BUTTON_LEFT)
126#define WPS_PAUSE BUTTON_PLAY
127#define WPS_MENU (BUTTON_MENU | BUTTON_REL)
128#define WPS_MENU_PRE BUTTON_MENU
129#define WPS_BROWSE (BUTTON_ON | BUTTON_REL)
130#define WPS_BROWSE_PRE BUTTON_ON
131#define WPS_EXIT BUTTON_STOP
132#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_STOP)
133#define WPS_ID3 (BUTTON_MENU | BUTTON_ON)
134
135#define WPS_RC_NEXT BUTTON_RC_RIGHT
136#define WPS_RC_PREV BUTTON_RC_LEFT
137#define WPS_RC_PAUSE BUTTON_RC_PLAY
138#define WPS_RC_INCVOL BUTTON_RC_VOL_UP
139#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN
140#define WPS_RC_EXIT BUTTON_RC_STOP
141
142#elif CONFIG_KEYPAD == ONDIO_PAD
143#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
144#define WPS_NEXT_PRE BUTTON_RIGHT
145#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
146#define WPS_PREV_PRE BUTTON_LEFT
147#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
148#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
149#define WPS_INCVOL BUTTON_UP
150#define WPS_DECVOL BUTTON_DOWN
151#define WPS_PAUSE BUTTON_OFF
152#define WPS_MENU (BUTTON_MENU | BUTTON_REPEAT)
153#define WPS_BROWSE (BUTTON_MENU | BUTTON_REL)
154#define WPS_BROWSE_PRE BUTTON_MENU
155#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_DOWN)
156#define WPS_EXIT (BUTTON_OFF | BUTTON_REPEAT)
157
158#elif CONFIG_KEYPAD == GMINI100_PAD
159#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
160#define WPS_NEXT_PRE BUTTON_RIGHT
161#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
162#define WPS_PREV_PRE BUTTON_LEFT
163#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
164#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
165#define WPS_INCVOL BUTTON_UP
166#define WPS_DECVOL BUTTON_DOWN
167#define WPS_PAUSE BUTTON_PLAY
168#define WPS_MENU (BUTTON_MENU | BUTTON_REL)
169#define WPS_MENU_PRE BUTTON_MENU
170#define WPS_BROWSE (BUTTON_ON | BUTTON_REL)
171#define WPS_BROWSE_PRE BUTTON_ON
172#define WPS_EXIT BUTTON_OFF
173#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_DOWN)
174#define WPS_ID3 (BUTTON_MENU | BUTTON_ON)
175
176#endif
177
178/* set volume 65/* set volume
179 return true if screen restore is needed 66 return true if screen restore is needed
180 return false otherwise 67 return false otherwise
diff --git a/apps/wps.h b/apps/wps.h
index f218fdd277..668f9f6bbd 100644
--- a/apps/wps.h
+++ b/apps/wps.h
@@ -21,6 +21,119 @@
21#include "id3.h" 21#include "id3.h"
22#include "playlist.h" 22#include "playlist.h"
23 23
24/* button definitions */
25#if CONFIG_KEYPAD == IRIVER_H100_PAD
26#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
27#define WPS_NEXT_PRE BUTTON_RIGHT
28#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
29#define WPS_PREV_PRE BUTTON_LEFT
30#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
31#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
32#define WPS_INCVOL BUTTON_UP
33#define WPS_DECVOL BUTTON_DOWN
34#define WPS_PAUSE BUTTON_ON
35#define WPS_MENU (BUTTON_MODE | BUTTON_REL)
36#define WPS_MENU_PRE BUTTON_MODE
37#define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL)
38#define WPS_BROWSE_PRE BUTTON_SELECT
39#define WPS_EXIT BUTTON_OFF
40#define WPS_KEYLOCK (BUTTON_MODE | BUTTON_DOWN)
41#define WPS_ID3 (BUTTON_MODE | BUTTON_ON)
42
43#define WPS_RC_NEXT BUTTON_RC_FF
44#define WPS_RC_PREV BUTTON_RC_REW
45#define WPS_RC_PAUSE BUTTON_RC_ON
46#define WPS_RC_INCVOL BUTTON_RC_VOL_UP
47#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN
48#define WPS_RC_EXIT BUTTON_RC_STOP
49
50
51#elif CONFIG_KEYPAD == RECORDER_PAD
52#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
53#define WPS_NEXT_PRE BUTTON_RIGHT
54#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
55#define WPS_PREV_PRE BUTTON_LEFT
56#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
57#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
58#define WPS_INCVOL BUTTON_UP
59#define WPS_DECVOL BUTTON_DOWN
60#define WPS_PAUSE BUTTON_PLAY
61#define WPS_MENU (BUTTON_F1 | BUTTON_REL)
62#define WPS_MENU_PRE BUTTON_F1
63#define WPS_BROWSE (BUTTON_ON | BUTTON_REL)
64#define WPS_BROWSE_PRE BUTTON_ON
65#define WPS_EXIT BUTTON_OFF
66#define WPS_KEYLOCK (BUTTON_F1 | BUTTON_DOWN)
67#define WPS_ID3 (BUTTON_F1 | BUTTON_ON)
68
69#define WPS_RC_NEXT BUTTON_RC_RIGHT
70#define WPS_RC_PREV BUTTON_RC_LEFT
71#define WPS_RC_PAUSE BUTTON_RC_PLAY
72#define WPS_RC_INCVOL BUTTON_RC_VOL_UP
73#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN
74#define WPS_RC_EXIT BUTTON_RC_STOP
75
76#elif CONFIG_KEYPAD == PLAYER_PAD
77#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
78#define WPS_NEXT_PRE BUTTON_RIGHT
79#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
80#define WPS_PREV_PRE BUTTON_LEFT
81#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
82#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
83#define WPS_INCVOL (BUTTON_MENU | BUTTON_RIGHT)
84#define WPS_DECVOL (BUTTON_MENU | BUTTON_LEFT)
85#define WPS_PAUSE BUTTON_PLAY
86#define WPS_MENU (BUTTON_MENU | BUTTON_REL)
87#define WPS_MENU_PRE BUTTON_MENU
88#define WPS_BROWSE (BUTTON_ON | BUTTON_REL)
89#define WPS_BROWSE_PRE BUTTON_ON
90#define WPS_EXIT BUTTON_STOP
91#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_STOP)
92#define WPS_ID3 (BUTTON_MENU | BUTTON_ON)
93
94#define WPS_RC_NEXT BUTTON_RC_RIGHT
95#define WPS_RC_PREV BUTTON_RC_LEFT
96#define WPS_RC_PAUSE BUTTON_RC_PLAY
97#define WPS_RC_INCVOL BUTTON_RC_VOL_UP
98#define WPS_RC_DECVOL BUTTON_RC_VOL_DOWN
99#define WPS_RC_EXIT BUTTON_RC_STOP
100
101#elif CONFIG_KEYPAD == ONDIO_PAD
102#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
103#define WPS_NEXT_PRE BUTTON_RIGHT
104#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
105#define WPS_PREV_PRE BUTTON_LEFT
106#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
107#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
108#define WPS_INCVOL BUTTON_UP
109#define WPS_DECVOL BUTTON_DOWN
110#define WPS_PAUSE BUTTON_OFF
111#define WPS_MENU (BUTTON_MENU | BUTTON_REPEAT)
112#define WPS_BROWSE (BUTTON_MENU | BUTTON_REL)
113#define WPS_BROWSE_PRE BUTTON_MENU
114#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_DOWN)
115#define WPS_EXIT (BUTTON_OFF | BUTTON_REPEAT)
116
117#elif CONFIG_KEYPAD == GMINI100_PAD
118#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
119#define WPS_NEXT_PRE BUTTON_RIGHT
120#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
121#define WPS_PREV_PRE BUTTON_LEFT
122#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
123#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
124#define WPS_INCVOL BUTTON_UP
125#define WPS_DECVOL BUTTON_DOWN
126#define WPS_PAUSE BUTTON_PLAY
127#define WPS_MENU (BUTTON_MENU | BUTTON_REL)
128#define WPS_MENU_PRE BUTTON_MENU
129#define WPS_BROWSE (BUTTON_ON | BUTTON_REL)
130#define WPS_BROWSE_PRE BUTTON_ON
131#define WPS_EXIT BUTTON_OFF
132#define WPS_KEYLOCK (BUTTON_MENU | BUTTON_DOWN)
133#define WPS_ID3 (BUTTON_MENU | BUTTON_ON)
134
135#endif
136
24extern bool keys_locked; 137extern bool keys_locked;
25extern bool wps_time_countup; 138extern bool wps_time_countup;
26 139
@@ -34,3 +147,4 @@ bool f3_screen(void);
34#endif 147#endif
35 148
36#endif 149#endif
150