summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/SOURCES4
-rw-r--r--apps/plugins/battery_test.c2
-rw-r--r--apps/plugins/bounce.c17
-rw-r--r--apps/plugins/calculator.c31
-rw-r--r--apps/plugins/chessclock.c10
-rw-r--r--apps/plugins/chip8.c13
-rw-r--r--apps/plugins/cube.c13
-rw-r--r--apps/plugins/demystify.c9
-rw-r--r--apps/plugins/dict.c2
-rw-r--r--apps/plugins/flipit.c21
-rw-r--r--apps/plugins/jewels.c22
-rw-r--r--apps/plugins/logo.c6
-rw-r--r--apps/plugins/minesweeper.c27
-rw-r--r--apps/plugins/mosaique.c5
-rw-r--r--apps/plugins/pong.c7
-rw-r--r--apps/plugins/rockblox.c32
-rw-r--r--apps/plugins/sliding_puzzle.c18
-rw-r--r--apps/plugins/snake.c21
-rw-r--r--apps/plugins/snake2.c26
-rw-r--r--apps/plugins/snow.c2
-rw-r--r--apps/plugins/sokoban.c29
-rw-r--r--apps/plugins/solitaire.c29
-rw-r--r--apps/plugins/star.c29
-rw-r--r--apps/plugins/starfield.c8
-rw-r--r--apps/plugins/stats.c2
-rw-r--r--apps/plugins/stopwatch.c7
-rw-r--r--apps/plugins/sudoku.c24
-rw-r--r--apps/plugins/viewer.c10
28 files changed, 361 insertions, 65 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index 88a0302278..bf15f0ba65 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -1,6 +1,3 @@
1/* Temporarily disable the plugins for the iPod until we fix the
2 button assignments and other problems */
3#if (CONFIG_KEYPAD!=IPOD_4G_PAD) && (CONFIG_KEYPAD!=IPOD_NANO_PAD)
4/* plugins common to all models */ 1/* plugins common to all models */
5battery_test.c 2battery_test.c
6chessclock.c 3chessclock.c
@@ -89,4 +86,3 @@ midi2wav.c
89splitedit.c 86splitedit.c
90metronome.c 87metronome.c
91#endif 88#endif
92#endif /* PP5020 */
diff --git a/apps/plugins/battery_test.c b/apps/plugins/battery_test.c
index 31ae801934..87d60c85a5 100644
--- a/apps/plugins/battery_test.c
+++ b/apps/plugins/battery_test.c
@@ -39,6 +39,8 @@
39#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 39#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
40 (CONFIG_KEYPAD == IRIVER_H300_PAD) 40 (CONFIG_KEYPAD == IRIVER_H300_PAD)
41#define BATTERY_TEST_QUIT BUTTON_OFF 41#define BATTERY_TEST_QUIT BUTTON_OFF
42#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
43#define BATTERY_TEST_QUIT BUTTON_MENU
42#endif 44#endif
43 45
44static struct plugin_api* rb; 46static struct plugin_api* rb;
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index 487965a4cf..ed2f9337b2 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -32,17 +32,30 @@
32 32
33/* variable button definitions */ 33/* variable button definitions */
34#if CONFIG_KEYPAD == RECORDER_PAD 34#if CONFIG_KEYPAD == RECORDER_PAD
35#define BOUNCE_UP BUTTON_UP
36#define BOUNCE_DOWN BUTTON_DOWN
35#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL) 37#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
36#define BOUNCE_MODE (BUTTON_ON | BUTTON_REL) 38#define BOUNCE_MODE (BUTTON_ON | BUTTON_REL)
37 39
38#elif CONFIG_KEYPAD == ONDIO_PAD 40#elif CONFIG_KEYPAD == ONDIO_PAD
41#define BOUNCE_UP BUTTON_UP
42#define BOUNCE_DOWN BUTTON_DOWN
39#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL) 43#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
40#define BOUNCE_MODE (BUTTON_MENU | BUTTON_REL) 44#define BOUNCE_MODE (BUTTON_MENU | BUTTON_REL)
41 45
42#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 46#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
43 (CONFIG_KEYPAD == IRIVER_H300_PAD) 47 (CONFIG_KEYPAD == IRIVER_H300_PAD)
48#define BOUNCE_UP BUTTON_UP
49#define BOUNCE_DOWN BUTTON_DOWN
44#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL) 50#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
45#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL) 51#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL)
52
53#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
54#define BOUNCE_UP BUTTON_SCROLL_BACK
55#define BOUNCE_DOWN BUTTON_SCROLL_FWD
56#define BOUNCE_QUIT (BUTTON_MENU | BUTTON_REL)
57#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL)
58
46#endif 59#endif
47 60
48static struct plugin_api* rb; 61static struct plugin_api* rb;
@@ -396,11 +409,11 @@ static int loopit(void)
396 case BUTTON_RIGHT: 409 case BUTTON_RIGHT:
397 values[show].num++; 410 values[show].num++;
398 break; 411 break;
399 case BUTTON_UP: 412 case BOUNCE_UP:
400 if(++show == NUM_LAST) 413 if(++show == NUM_LAST)
401 show=0; 414 show=0;
402 break; 415 break;
403 case BUTTON_DOWN: 416 case BOUNCE_DOWN:
404 if(--show < 0) 417 if(--show < 0)
405 show=NUM_LAST-1; 418 show=NUM_LAST-1;
406 break; 419 break;
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index e9de760b22..70104391d6 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -106,6 +106,8 @@ F3: equal to "="
106 106
107/* variable button definitions */ 107/* variable button definitions */
108#if CONFIG_KEYPAD == RECORDER_PAD 108#if CONFIG_KEYPAD == RECORDER_PAD
109#define CALCULATOR_UP BUTTON_UP
110#define CALCULATOR_DOWN BUTTON_DOWN
109#define CALCULATOR_QUIT BUTTON_OFF 111#define CALCULATOR_QUIT BUTTON_OFF
110#define CALCULATOR_INPUT BUTTON_PLAY 112#define CALCULATOR_INPUT BUTTON_PLAY
111#define CALCULATOR_CALC BUTTON_F3 113#define CALCULATOR_CALC BUTTON_F3
@@ -113,6 +115,8 @@ F3: equal to "="
113#define CALCULATOR_CLEAR BUTTON_F1 115#define CALCULATOR_CLEAR BUTTON_F1
114 116
115#elif CONFIG_KEYPAD == ONDIO_PAD 117#elif CONFIG_KEYPAD == ONDIO_PAD
118#define CALCULATOR_UP BUTTON_UP
119#define CALCULATOR_DOWN BUTTON_DOWN
116#define CALCULATOR_QUIT BUTTON_OFF 120#define CALCULATOR_QUIT BUTTON_OFF
117#define CALCULATOR_INPUT_CALC_PRE BUTTON_MENU 121#define CALCULATOR_INPUT_CALC_PRE BUTTON_MENU
118#define CALCULATOR_INPUT (BUTTON_MENU | BUTTON_REL) 122#define CALCULATOR_INPUT (BUTTON_MENU | BUTTON_REL)
@@ -120,12 +124,23 @@ F3: equal to "="
120 124
121#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 125#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
122 (CONFIG_KEYPAD == IRIVER_H300_PAD) 126 (CONFIG_KEYPAD == IRIVER_H300_PAD)
127#define CALCULATOR_UP BUTTON_UP
128#define CALCULATOR_DOWN BUTTON_DOWN
123#define CALCULATOR_QUIT BUTTON_OFF 129#define CALCULATOR_QUIT BUTTON_OFF
124#define CALCULATOR_INPUT BUTTON_SELECT 130#define CALCULATOR_INPUT BUTTON_SELECT
125#define CALCULATOR_CALC BUTTON_ON 131#define CALCULATOR_CALC BUTTON_ON
126#define CALCULATOR_OPERATORS BUTTON_MODE 132#define CALCULATOR_OPERATORS BUTTON_MODE
127#define CALCULATOR_CLEAR BUTTON_REC 133#define CALCULATOR_CLEAR BUTTON_REC
128 134
135#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
136
137#define CALCULATOR_UP BUTTON_SCROLL_BACK
138#define CALCULATOR_DOWN BUTTON_SCROLL_FWD
139#define CALCULATOR_QUIT BUTTON_MENU
140#define CALCULATOR_INPUT_CALC_PRE BUTTON_SELECT
141#define CALCULATOR_INPUT (BUTTON_SELECT | BUTTON_REL)
142#define CALCULATOR_CALC (BUTTON_PLAY | BUTTON_REPEAT)
143
129#endif 144#endif
130 145
131static struct plugin_api* rb; 146static struct plugin_api* rb;
@@ -675,16 +690,16 @@ void moveButton(void){
675 n++; 690 n++;
676 break; 691 break;
677 692
678 case BUTTON_UP: 693 case CALCULATOR_UP:
679 case BUTTON_UP | BUTTON_REPEAT: 694 case CALCULATOR_UP | BUTTON_REPEAT:
680 if (m == 0) 695 if (m == 0)
681 m = 4; 696 m = 4;
682 else 697 else
683 m--; 698 m--;
684 break; 699 break;
685 700
686 case BUTTON_DOWN: 701 case CALCULATOR_DOWN:
687 case BUTTON_DOWN | BUTTON_REPEAT: 702 case CALCULATOR_DOWN | BUTTON_REPEAT:
688 if (m == 4) 703 if (m == 4)
689 m = 0; 704 m = 0;
690 else 705 else
@@ -1359,10 +1374,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
1359 case BUTTON_LEFT | BUTTON_REPEAT: 1374 case BUTTON_LEFT | BUTTON_REPEAT:
1360 case BUTTON_RIGHT: 1375 case BUTTON_RIGHT:
1361 case BUTTON_RIGHT | BUTTON_REPEAT: 1376 case BUTTON_RIGHT | BUTTON_REPEAT:
1362 case BUTTON_UP: 1377 case CALCULATOR_UP:
1363 case BUTTON_UP | BUTTON_REPEAT: 1378 case CALCULATOR_UP | BUTTON_REPEAT:
1364 case BUTTON_DOWN: 1379 case CALCULATOR_DOWN:
1365 case BUTTON_DOWN | BUTTON_REPEAT: 1380 case CALCULATOR_DOWN | BUTTON_REPEAT:
1366 moveButton(); 1381 moveButton();
1367 break; 1382 break;
1368 case CALCULATOR_QUIT: 1383 case CALCULATOR_QUIT:
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 0f5c03d71d..b53980f9e4 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -64,6 +64,16 @@
64#define CHC_SETTINGS_CANCEL BUTTON_OFF 64#define CHC_SETTINGS_CANCEL BUTTON_OFF
65#define CHC_SETTINGS_CANCEL2 BUTTON_REC 65#define CHC_SETTINGS_CANCEL2 BUTTON_REC
66 66
67#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
68#define CHC_QUIT BUTTON_PLAY
69#define CHC_STARTSTOP BUTTON_SELECT
70#define CHC_RESET BUTTON_LEFT
71#define CHC_MENU BUTTON_MENU
72#define CHC_SETTINGS_INC BUTTON_SCROLL_FWD
73#define CHC_SETTINGS_DEC BUTTON_SCROLL_BACK
74#define CHC_SETTINGS_OK BUTTON_SELECT
75#define CHC_SETTINGS_CANCEL BUTTON_MENU
76
67#endif 77#endif
68 78
69 79
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index a92fc4d13c..295ac35dc3 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -946,6 +946,7 @@ STATIC void chip8 (void)
946 946
947/* variable button definitions */ 947/* variable button definitions */
948#if CONFIG_KEYPAD == RECORDER_PAD /* only 9 out of 16 chip8 buttons */ 948#if CONFIG_KEYPAD == RECORDER_PAD /* only 9 out of 16 chip8 buttons */
949#define CHIP8_OFF BUTTON_OFF
949#define CHIP8_KEY1 BUTTON_F1 950#define CHIP8_KEY1 BUTTON_F1
950#define CHIP8_KEY2 BUTTON_UP 951#define CHIP8_KEY2 BUTTON_UP
951#define CHIP8_KEY3 BUTTON_F3 952#define CHIP8_KEY3 BUTTON_F3
@@ -957,6 +958,7 @@ STATIC void chip8 (void)
957#define CHIP8_KEY9 BUTTON_ON 958#define CHIP8_KEY9 BUTTON_ON
958 959
959#elif CONFIG_KEYPAD == ONDIO_PAD /* even more limited */ 960#elif CONFIG_KEYPAD == ONDIO_PAD /* even more limited */
961#define CHIP8_OFF BUTTON_OFF
960#define CHIP8_KEY2 BUTTON_UP 962#define CHIP8_KEY2 BUTTON_UP
961#define CHIP8_KEY4 BUTTON_LEFT 963#define CHIP8_KEY4 BUTTON_LEFT
962#define CHIP8_KEY5 BUTTON_MENU 964#define CHIP8_KEY5 BUTTON_MENU
@@ -965,12 +967,21 @@ STATIC void chip8 (void)
965 967
966#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 968#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
967 (CONFIG_KEYPAD == IRIVER_H300_PAD) 969 (CONFIG_KEYPAD == IRIVER_H300_PAD)
970#define CHIP8_OFF BUTTON_OFF
968#define CHIP8_KEY2 BUTTON_UP 971#define CHIP8_KEY2 BUTTON_UP
969#define CHIP8_KEY4 BUTTON_LEFT 972#define CHIP8_KEY4 BUTTON_LEFT
970#define CHIP8_KEY5 BUTTON_SELECT 973#define CHIP8_KEY5 BUTTON_SELECT
971#define CHIP8_KEY6 BUTTON_RIGHT 974#define CHIP8_KEY6 BUTTON_RIGHT
972#define CHIP8_KEY8 BUTTON_DOWN 975#define CHIP8_KEY8 BUTTON_DOWN
973 976
977#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
978#define CHIP8_OFF BUTTON_MENU
979#define CHIP8_KEY2 BUTTON_SCROLL_BACK
980#define CHIP8_KEY4 BUTTON_LEFT
981#define CHIP8_KEY5 BUTTON_PLAY
982#define CHIP8_KEY6 BUTTON_RIGHT
983#define CHIP8_KEY8 BUTTON_SCROLL_FWD
984
974#endif 985#endif
975 986
976static byte chip8_virtual_keys[16]; 987static byte chip8_virtual_keys[16];
@@ -1076,7 +1087,7 @@ static void chip8_keyboard(void)
1076 int button = rb->button_get(false); 1087 int button = rb->button_get(false);
1077 switch (button) 1088 switch (button)
1078 { 1089 {
1079 case BUTTON_OFF: /* Abort Emulator */ 1090 case CHIP8_OFF: /* Abort Emulator */
1080 chip8_running = 0; 1091 chip8_running = 0;
1081 break; 1092 break;
1082 1093
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index dc5b5706f4..f081f88e4a 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -79,6 +79,19 @@
79#define CUBE_PAUSE (BUTTON_ON | BUTTON_REL) 79#define CUBE_PAUSE (BUTTON_ON | BUTTON_REL)
80#define CUBE_HIGHSPEED BUTTON_SELECT 80#define CUBE_HIGHSPEED BUTTON_SELECT
81 81
82#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
83#define CUBE_QUIT BUTTON_MENU
84#define CUBE_X_INC BUTTON_LEFT
85#define CUBE_X_DEC BUTTON_RIGHT
86#define CUBE_Y_INC BUTTON_SCROLL_FWD
87#define CUBE_Y_DEC BUTTON_SCROLL_BACK
88#define CUBE_Z_INC (BUTTON_SELECT | BUTTON_LEFT)
89#define CUBE_Z_DEC (BUTTON_SELECT | BUTTON_RIGHT)
90#define CUBE_MODE (BUTTON_SELECT | BUTTON_MENU)
91#define CUBE_PAUSE_PRE BUTTON_PLAY
92#define CUBE_PAUSE (BUTTON_PLAY | BUTTON_REL)
93#define CUBE_HIGHSPEED (BUTTON_SELECT | BUTTON_PLAY)
94
82#endif 95#endif
83 96
84#ifdef HAVE_LCD_BITMAP 97#ifdef HAVE_LCD_BITMAP
diff --git a/apps/plugins/demystify.c b/apps/plugins/demystify.c
index 9a8027f2ca..67674b099d 100644
--- a/apps/plugins/demystify.c
+++ b/apps/plugins/demystify.c
@@ -24,12 +24,19 @@
24#ifdef HAVE_LCD_BITMAP 24#ifdef HAVE_LCD_BITMAP
25 25
26/* Key assignement */ 26/* Key assignement */
27#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
28#define DEMYSTIFY_QUIT BUTTON_MENU
29#define DEMYSTIFY_ADD_POLYGON BUTTON_RIGHT
30#define DEMYSTIFY_REMOVE_POLYGON BUTTON_LEFT
31#define DEMYSTIFY_INCREASE_SPEED BUTTON_SCROLL_FWD
32#define DEMYSTIFY_DECREASE_SPEED BUTTON_SCROLL_BACK
33#else
27#define DEMYSTIFY_QUIT BUTTON_OFF 34#define DEMYSTIFY_QUIT BUTTON_OFF
28#define DEMYSTIFY_ADD_POLYGON BUTTON_UP 35#define DEMYSTIFY_ADD_POLYGON BUTTON_UP
29#define DEMYSTIFY_REMOVE_POLYGON BUTTON_DOWN 36#define DEMYSTIFY_REMOVE_POLYGON BUTTON_DOWN
30#define DEMYSTIFY_INCREASE_SPEED BUTTON_RIGHT 37#define DEMYSTIFY_INCREASE_SPEED BUTTON_RIGHT
31#define DEMYSTIFY_DECREASE_SPEED BUTTON_LEFT 38#define DEMYSTIFY_DECREASE_SPEED BUTTON_LEFT
32 39#endif
33 40
34#define DEFAULT_WAIT_TIME 3 41#define DEFAULT_WAIT_TIME 3
35#define DEFAULT_NB_POLYGONS 7 42#define DEFAULT_NB_POLYGONS 7
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index 441f7400b3..a80ace2871 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -102,6 +102,8 @@ long reverse (long N) {
102/* Button definitions */ 102/* Button definitions */
103#if CONFIG_KEYPAD == PLAYER_PAD 103#if CONFIG_KEYPAD == PLAYER_PAD
104#define LP_QUIT BUTTON_STOP 104#define LP_QUIT BUTTON_STOP
105#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
106#define LP_QUIT BUTTON_MENU
105#else 107#else
106#define LP_QUIT BUTTON_OFF 108#define LP_QUIT BUTTON_OFF
107#endif 109#endif
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index 36411c2978..da449d397c 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -21,6 +21,8 @@
21 21
22/* variable button definitions */ 22/* variable button definitions */
23#if CONFIG_KEYPAD == RECORDER_PAD 23#if CONFIG_KEYPAD == RECORDER_PAD
24#define FLIPIT_UP BUTTON_UP
25#define FLIPIT_DOWN BUTTON_DOWN
24#define FLIPIT_QUIT BUTTON_OFF 26#define FLIPIT_QUIT BUTTON_OFF
25#define FLIPIT_SHUFFLE BUTTON_F1 27#define FLIPIT_SHUFFLE BUTTON_F1
26#define FLIPIT_SOLVE BUTTON_F2 28#define FLIPIT_SOLVE BUTTON_F2
@@ -28,6 +30,8 @@
28#define FLIPIT_TOGGLE BUTTON_PLAY 30#define FLIPIT_TOGGLE BUTTON_PLAY
29 31
30#elif CONFIG_KEYPAD == ONDIO_PAD 32#elif CONFIG_KEYPAD == ONDIO_PAD
33#define FLIPIT_UP BUTTON_UP
34#define FLIPIT_DOWN BUTTON_DOWN
31#define FLIPIT_QUIT BUTTON_OFF 35#define FLIPIT_QUIT BUTTON_OFF
32#define FLIPIT_SHUFFLE (BUTTON_MENU | BUTTON_LEFT) 36#define FLIPIT_SHUFFLE (BUTTON_MENU | BUTTON_LEFT)
33#define FLIPIT_SOLVE (BUTTON_MENU | BUTTON_UP) 37#define FLIPIT_SOLVE (BUTTON_MENU | BUTTON_UP)
@@ -37,6 +41,8 @@
37 41
38#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 42#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
39 (CONFIG_KEYPAD == IRIVER_H300_PAD) 43 (CONFIG_KEYPAD == IRIVER_H300_PAD)
44#define FLIPIT_UP BUTTON_UP
45#define FLIPIT_DOWN BUTTON_DOWN
40#define FLIPIT_QUIT BUTTON_OFF 46#define FLIPIT_QUIT BUTTON_OFF
41#define FLIPIT_SHUFFLE BUTTON_MODE 47#define FLIPIT_SHUFFLE BUTTON_MODE
42#define FLIPIT_SOLVE BUTTON_ON 48#define FLIPIT_SOLVE BUTTON_ON
@@ -44,6 +50,17 @@
44#define FLIPIT_TOGGLE_PRE BUTTON_SELECT 50#define FLIPIT_TOGGLE_PRE BUTTON_SELECT
45#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL) 51#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL)
46 52
53#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
54
55#define FLIPIT_UP BUTTON_SCROLL_FWD
56#define FLIPIT_DOWN BUTTON_SCROLL_BACK
57#define FLIPIT_QUIT BUTTON_MENU
58#define FLIPIT_SHUFFLE (BUTTON_SELECT | BUTTON_LEFT)
59#define FLIPIT_SOLVE (BUTTON_SELECT | BUTTON_PLAY)
60#define FLIPIT_STEP_BY_STEP (BUTTON_SELECT | BUTTON_MENU)
61#define FLIPIT_TOGGLE_PRE BUTTON_SELECT
62#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL)
63
47#endif 64#endif
48 65
49static struct plugin_api* rb; 66static struct plugin_api* rb;
@@ -252,12 +269,12 @@ static bool flipit_loop(void) {
252 move_cursor(1, 0); 269 move_cursor(1, 0);
253 break; 270 break;
254 271
255 case BUTTON_UP: 272 case FLIPIT_UP:
256 if ((cursor_pos/5)>0) 273 if ((cursor_pos/5)>0)
257 move_cursor(0, -1); 274 move_cursor(0, -1);
258 break; 275 break;
259 276
260 case BUTTON_DOWN: 277 case FLIPIT_DOWN:
261 if ((cursor_pos/5)<3) 278 if ((cursor_pos/5)<3)
262 move_cursor(0, 1); 279 move_cursor(0, 1);
263 break; 280 break;
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 39d77324de..84bb306ed1 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -50,12 +50,16 @@ static unsigned jewel_color[8]={COLOR_BLACK, COLOR_RED, COLOR_ORANGE,
50 50
51/* button definitions */ 51/* button definitions */
52#if CONFIG_KEYPAD == RECORDER_PAD 52#if CONFIG_KEYPAD == RECORDER_PAD
53#define BEJEWELED_UP BUTTON_UP
54#define BEJEWELED_DOWN BUTTON_DOWN
53#define BEJEWELED_QUIT BUTTON_OFF 55#define BEJEWELED_QUIT BUTTON_OFF
54#define BEJEWELED_START BUTTON_ON 56#define BEJEWELED_START BUTTON_ON
55#define BEJEWELED_SELECT BUTTON_PLAY 57#define BEJEWELED_SELECT BUTTON_PLAY
56#define BEJEWELED_RESUME BUTTON_F1 58#define BEJEWELED_RESUME BUTTON_F1
57 59
58#elif CONFIG_KEYPAD == ONDIO_PAD 60#elif CONFIG_KEYPAD == ONDIO_PAD
61#define BEJEWELED_UP BUTTON_UP
62#define BEJEWELED_DOWN BUTTON_DOWN
59#define BEJEWELED_QUIT BUTTON_OFF 63#define BEJEWELED_QUIT BUTTON_OFF
60#define BEJEWELED_START BUTTON_RIGHT 64#define BEJEWELED_START BUTTON_RIGHT
61#define BEJEWELED_SELECT (BUTTON_MENU|BUTTON_REL) 65#define BEJEWELED_SELECT (BUTTON_MENU|BUTTON_REL)
@@ -63,11 +67,21 @@ static unsigned jewel_color[8]={COLOR_BLACK, COLOR_RED, COLOR_ORANGE,
63#define BEJEWELED_RESUME (BUTTON_MENU|BUTTON_OFF) 67#define BEJEWELED_RESUME (BUTTON_MENU|BUTTON_OFF)
64 68
65#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) 69#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
70#define BEJEWELED_UP BUTTON_UP
71#define BEJEWELED_DOWN BUTTON_DOWN
66#define BEJEWELED_QUIT BUTTON_OFF 72#define BEJEWELED_QUIT BUTTON_OFF
67#define BEJEWELED_START BUTTON_ON 73#define BEJEWELED_START BUTTON_ON
68#define BEJEWELED_SELECT BUTTON_SELECT 74#define BEJEWELED_SELECT BUTTON_SELECT
69#define BEJEWELED_RESUME BUTTON_MODE 75#define BEJEWELED_RESUME BUTTON_MODE
70 76
77#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
78#define BEJEWELED_UP BUTTON_SCROLL_BACK
79#define BEJEWELED_DOWN BUTTON_SCROLL_FWD
80#define BEJEWELED_QUIT BUTTON_MENU
81#define BEJEWELED_START BUTTON_PLAY
82#define BEJEWELED_SELECT BUTTON_SELECT
83#define BEJEWELED_RESUME (BUTTON_SELECT | BUTTON_PLAY)
84
71#else 85#else
72 #error BEJEWELED: Unsupported keypad 86 #error BEJEWELED: Unsupported keypad
73#endif 87#endif
@@ -1081,8 +1095,8 @@ static int bejeweled(struct game_context* bj) {
1081 } 1095 }
1082 break; 1096 break;
1083 1097
1084 case BUTTON_DOWN: /* move cursor down */ 1098 case BEJEWELED_DOWN: /* move cursor down */
1085 case (BUTTON_DOWN|BUTTON_REPEAT): 1099 case (BEJEWELED_DOWN|BUTTON_REPEAT):
1086 if(selected) { 1100 if(selected) {
1087 bj->score += bejeweled_swapjewels(bj, x, y, SWAP_DOWN); 1101 bj->score += bejeweled_swapjewels(bj, x, y, SWAP_DOWN);
1088 selected = false; 1102 selected = false;
@@ -1092,8 +1106,8 @@ static int bejeweled(struct game_context* bj) {
1092 } 1106 }
1093 break; 1107 break;
1094 1108
1095 case BUTTON_UP: /* move cursor up */ 1109 case BEJEWELED_UP: /* move cursor up */
1096 case (BUTTON_UP|BUTTON_REPEAT): 1110 case (BEJEWELED_UP|BUTTON_REPEAT):
1097 if(selected) { 1111 if(selected) {
1098 bj->score += bejeweled_swapjewels(bj, x, y, SWAP_UP); 1112 bj->score += bejeweled_swapjewels(bj, x, y, SWAP_UP);
1099 selected = false; 1113 selected = false;
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index baaf46f911..40f131861a 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -181,6 +181,12 @@ const unsigned char rockbox16x7[] = {
181#define LP_INC_X BUTTON_RIGHT 181#define LP_INC_X BUTTON_RIGHT
182#define LP_DEC_Y (BUTTON_ON | BUTTON_LEFT) 182#define LP_DEC_Y (BUTTON_ON | BUTTON_LEFT)
183#define LP_INC_Y (BUTTON_ON | BUTTON_RIGHT) 183#define LP_INC_Y (BUTTON_ON | BUTTON_RIGHT)
184#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
185#define LP_QUIT BUTTON_MENU
186#define LP_DEC_X BUTTON_LEFT
187#define LP_INC_X BUTTON_RIGHT
188#define LP_DEC_Y BUTTON_SCROLL_BACK
189#define LP_INC_Y BUTTON_SCROLL_FWD
184#else 190#else
185#define LP_QUIT BUTTON_OFF 191#define LP_QUIT BUTTON_OFF
186#define LP_DEC_X BUTTON_LEFT 192#define LP_DEC_X BUTTON_LEFT
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index 4af467b516..ea278df59c 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -41,6 +41,8 @@ use F3 to see how many mines are left (supposing all your flags are correct)
41 41
42/* variable button definitions */ 42/* variable button definitions */
43#if CONFIG_KEYPAD == RECORDER_PAD 43#if CONFIG_KEYPAD == RECORDER_PAD
44#define MINESWP_UP BUTTON_UP
45#define MINESWP_DOWN BUTTON_DOWN
44#define MINESWP_QUIT BUTTON_OFF 46#define MINESWP_QUIT BUTTON_OFF
45#define MINESWP_START BUTTON_ON 47#define MINESWP_START BUTTON_ON
46#define MINESWP_TOGGLE BUTTON_PLAY 48#define MINESWP_TOGGLE BUTTON_PLAY
@@ -50,6 +52,8 @@ use F3 to see how many mines are left (supposing all your flags are correct)
50#define MINESWP_INFO BUTTON_F3 52#define MINESWP_INFO BUTTON_F3
51 53
52#elif CONFIG_KEYPAD == ONDIO_PAD 54#elif CONFIG_KEYPAD == ONDIO_PAD
55#define MINESWP_UP BUTTON_UP
56#define MINESWP_DOWN BUTTON_DOWN
53#define MINESWP_QUIT BUTTON_OFF 57#define MINESWP_QUIT BUTTON_OFF
54#define MINESWP_START BUTTON_MENU 58#define MINESWP_START BUTTON_MENU
55#define MINESWP_TOGGLE_PRE BUTTON_MENU 59#define MINESWP_TOGGLE_PRE BUTTON_MENU
@@ -59,12 +63,23 @@ use F3 to see how many mines are left (supposing all your flags are correct)
59 63
60#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 64#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
61 (CONFIG_KEYPAD == IRIVER_H300_PAD) 65 (CONFIG_KEYPAD == IRIVER_H300_PAD)
66#define MINESWP_UP BUTTON_UP
67#define MINESWP_DOWN BUTTON_DOWN
62#define MINESWP_QUIT BUTTON_OFF 68#define MINESWP_QUIT BUTTON_OFF
63#define MINESWP_START BUTTON_SELECT 69#define MINESWP_START BUTTON_SELECT
64#define MINESWP_TOGGLE BUTTON_SELECT 70#define MINESWP_TOGGLE BUTTON_SELECT
65#define MINESWP_DISCOVER BUTTON_ON 71#define MINESWP_DISCOVER BUTTON_ON
66#define MINESWP_INFO BUTTON_MODE 72#define MINESWP_INFO BUTTON_MODE
67 73
74#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
75#define MINESWP_UP BUTTON_SCROLL_BACK
76#define MINESWP_DOWN BUTTON_SCROLL_FWD
77#define MINESWP_QUIT BUTTON_MENU
78#define MINESWP_START BUTTON_SELECT
79#define MINESWP_TOGGLE BUTTON_PLAY
80#define MINESWP_DISCOVER (BUTTON_SELECT | BUTTON_PLAY)
81#define MINESWP_INFO (BUTTON_SELECT | BUTTON_MENU)
82
68#endif 83#endif
69 84
70/* here is a global api struct pointer. while not strictly necessary, 85/* here is a global api struct pointer. while not strictly necessary,
@@ -323,11 +338,11 @@ int minesweeper(void)
323 338
324 button = rb->button_get(true); 339 button = rb->button_get(true);
325 switch(button){ 340 switch(button){
326 case BUTTON_DOWN: 341 case MINESWP_DOWN:
327 p = (p + 98)%100; 342 p = (p + 98)%100;
328 break; 343 break;
329 344
330 case BUTTON_UP: 345 case MINESWP_UP:
331 p = (p + 2)%100; 346 p = (p + 2)%100;
332 break; 347 break;
333 348
@@ -431,14 +446,14 @@ int minesweeper(void)
431 break; 446 break;
432 447
433 /* move cursor down */ 448 /* move cursor down */
434 case BUTTON_DOWN: 449 case MINESWP_DOWN:
435 case (BUTTON_DOWN | BUTTON_REPEAT): 450 case (MINESWP_DOWN | BUTTON_REPEAT):
436 y = (y + 1)%height; 451 y = (y + 1)%height;
437 break; 452 break;
438 453
439 /* move cursor up */ 454 /* move cursor up */
440 case BUTTON_UP: 455 case MINESWP_UP:
441 case (BUTTON_UP | BUTTON_REPEAT): 456 case (MINESWP_UP | BUTTON_REPEAT):
442 y = (y + height - 1)%height; 457 y = (y + height - 1)%height;
443 break; 458 break;
444 459
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index 75bd155338..a05d1656c8 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -50,6 +50,11 @@
50#define MOSAIQUE_QUIT BUTTON_OFF 50#define MOSAIQUE_QUIT BUTTON_OFF
51#define MOSAIQUE_SPEED BUTTON_MODE 51#define MOSAIQUE_SPEED BUTTON_MODE
52#define MOSAIQUE_RESTART BUTTON_ON 52#define MOSAIQUE_RESTART BUTTON_ON
53
54#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
55#define MOSAIQUE_QUIT BUTTON_MENU
56#define MOSAIQUE_SPEED BUTTON_SELECT
57#define MOSAIQUE_RESTART BUTTON_PLAY
53#endif 58#endif
54 59
55enum plugin_status plugin_start(struct plugin_api* api, void* parameter) 60enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 21bf6064e6..68bc3968bf 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -56,6 +56,13 @@
56#define PONG_RIGHT_UP BUTTON_ON 56#define PONG_RIGHT_UP BUTTON_ON
57#define PONG_RIGHT_DOWN BUTTON_MODE 57#define PONG_RIGHT_DOWN BUTTON_MODE
58 58
59#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
60#define PONG_QUIT BUTTON_SELECT
61#define PONG_LEFT_UP BUTTON_MENU
62#define PONG_LEFT_DOWN BUTTON_LEFT
63#define PONG_RIGHT_UP BUTTON_RIGHT
64#define PONG_RIGHT_DOWN BUTTON_PLAY
65
59#endif 66#endif
60 67
61static struct plugin_api* rb; 68static struct plugin_api* rb;
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index a0623da314..9fcc8cf563 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -22,6 +22,20 @@
22 22
23#ifdef HAVE_LCD_BITMAP 23#ifdef HAVE_LCD_BITMAP
24 24
25#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
26#define ROCKBLOX_OFF BUTTON_MENU
27#define ROCKBLOX_UP BUTTON_SCROLL_BACK
28#define ROCKBLOX_DOWN BUTTON_SCROLL_FWD
29#define ROCKBLOX_LEFT BUTTON_LEFT
30#define ROCKBLOX_RIGHT BUTTON_RIGHT
31#else
32#define ROCKBLOX_OFF BUTTON_OFF
33#define ROCKBLOX_UP BUTTON_UP
34#define ROCKBLOX_DOWN BUTTON_DOWN
35#define ROCKBLOX_LEFT BUTTON_LEFT
36#define ROCKBLOX_RIGHT BUTTON_RIGHT
37#endif
38
25static const int start_x = 5; 39static const int start_x = 5;
26static const int start_y = 5; 40static const int start_y = 5;
27static const int max_x = 4 * 17; 41static const int max_x = 4 * 17;
@@ -338,26 +352,26 @@ static int game_loop(void)
338 button = rb->button_get_w_tmo(HZ/10); 352 button = rb->button_get_w_tmo(HZ/10);
339 switch(button) 353 switch(button)
340 { 354 {
341 case BUTTON_OFF: 355 case ROCKBLOX_OFF:
342 return PLUGIN_OK; 356 return PLUGIN_OK;
343 357
344 case BUTTON_UP: 358 case ROCKBLOX_UP:
345 case BUTTON_UP | BUTTON_REPEAT: 359 case ROCKBLOX_UP | BUTTON_REPEAT:
346 move_block(0,-3,0); 360 move_block(0,-3,0);
347 break; 361 break;
348 362
349 case BUTTON_DOWN: 363 case ROCKBLOX_DOWN:
350 case BUTTON_DOWN | BUTTON_REPEAT: 364 case ROCKBLOX_DOWN | BUTTON_REPEAT:
351 move_block(0,3,0); 365 move_block(0,3,0);
352 break; 366 break;
353 367
354 case BUTTON_RIGHT: 368 case ROCKBLOX_RIGHT:
355 case BUTTON_RIGHT | BUTTON_REPEAT: 369 case ROCKBLOX_RIGHT | BUTTON_REPEAT:
356 move_block(0,0,1); 370 move_block(0,0,1);
357 break; 371 break;
358 372
359 case BUTTON_LEFT: 373 case ROCKBLOX_LEFT:
360 case BUTTON_LEFT | BUTTON_REPEAT: 374 case ROCKBLOX_LEFT | BUTTON_REPEAT:
361 move_down(); 375 move_down();
362 break; 376 break;
363 377
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 846fd39bdd..d85d011e13 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -22,11 +22,15 @@
22/* variable button definitions */ 22/* variable button definitions */
23#if CONFIG_KEYPAD == RECORDER_PAD 23#if CONFIG_KEYPAD == RECORDER_PAD
24#define PUZZLE_QUIT BUTTON_OFF 24#define PUZZLE_QUIT BUTTON_OFF
25#define PUZZLE_UP BUTTON_UP
26#define PUZZLE_DOWN BUTTON_DOWN
25#define PUZZLE_SHUFFLE BUTTON_F1 27#define PUZZLE_SHUFFLE BUTTON_F1
26#define PUZZLE_PICTURE BUTTON_F2 28#define PUZZLE_PICTURE BUTTON_F2
27 29
28#elif CONFIG_KEYPAD == ONDIO_PAD 30#elif CONFIG_KEYPAD == ONDIO_PAD
29#define PUZZLE_QUIT BUTTON_OFF 31#define PUZZLE_QUIT BUTTON_OFF
32#define PUZZLE_UP BUTTON_UP
33#define PUZZLE_DOWN BUTTON_DOWN
30#define PUZZLE_SHUFFLE_PICTURE_PRE BUTTON_MENU 34#define PUZZLE_SHUFFLE_PICTURE_PRE BUTTON_MENU
31#define PUZZLE_SHUFFLE (BUTTON_MENU | BUTTON_REPEAT) 35#define PUZZLE_SHUFFLE (BUTTON_MENU | BUTTON_REPEAT)
32#define PUZZLE_PICTURE (BUTTON_MENU | BUTTON_REL) 36#define PUZZLE_PICTURE (BUTTON_MENU | BUTTON_REL)
@@ -34,8 +38,18 @@
34#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 38#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
35 (CONFIG_KEYPAD == IRIVER_H300_PAD) 39 (CONFIG_KEYPAD == IRIVER_H300_PAD)
36#define PUZZLE_QUIT BUTTON_OFF 40#define PUZZLE_QUIT BUTTON_OFF
41#define PUZZLE_UP BUTTON_UP
42#define PUZZLE_DOWN BUTTON_DOWN
37#define PUZZLE_SHUFFLE BUTTON_SELECT 43#define PUZZLE_SHUFFLE BUTTON_SELECT
38#define PUZZLE_PICTURE BUTTON_ON 44#define PUZZLE_PICTURE BUTTON_ON
45
46#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
47#define PUZZLE_QUIT BUTTON_MENU
48#define PUZZLE_UP BUTTON_SCROLL_BACK
49#define PUZZLE_DOWN BUTTON_SCROLL_FWD
50#define PUZZLE_SHUFFLE BUTTON_SELECT
51#define PUZZLE_PICTURE BUTTON_PLAY
52
39#endif 53#endif
40 54
41static struct plugin_api* rb; 55static struct plugin_api* rb;
@@ -295,12 +309,12 @@ static int puzzle_loop(void)
295 move_spot(1, 0); 309 move_spot(1, 0);
296 break; 310 break;
297 311
298 case BUTTON_UP: 312 case PUZZLE_UP:
299 if ((hole/5)<3 && !puzzle_finished()) 313 if ((hole/5)<3 && !puzzle_finished())
300 move_spot(0, -1); 314 move_spot(0, -1);
301 break; 315 break;
302 316
303 case BUTTON_DOWN: 317 case PUZZLE_DOWN:
304 if ((hole/5)>0 && !puzzle_finished()) 318 if ((hole/5)>0 && !puzzle_finished())
305 move_spot(0, 1); 319 move_spot(0, 1);
306 break; 320 break;
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 693aabb44d..01716b2d0b 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -36,17 +36,30 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
36/* variable button definitions */ 36/* variable button definitions */
37#if CONFIG_KEYPAD == RECORDER_PAD 37#if CONFIG_KEYPAD == RECORDER_PAD
38#define SNAKE_QUIT BUTTON_OFF 38#define SNAKE_QUIT BUTTON_OFF
39#define SNAKE_UP BUTTON_UP
40#define SNAKE_DOWN BUTTON_DOWN
39#define SNAKE_PLAYPAUSE BUTTON_PLAY 41#define SNAKE_PLAYPAUSE BUTTON_PLAY
40 42
41#elif CONFIG_KEYPAD == ONDIO_PAD 43#elif CONFIG_KEYPAD == ONDIO_PAD
42#define SNAKE_QUIT BUTTON_OFF 44#define SNAKE_QUIT BUTTON_OFF
45#define SNAKE_UP BUTTON_UP
46#define SNAKE_DOWN BUTTON_DOWN
43#define SNAKE_PLAYPAUSE BUTTON_MENU 47#define SNAKE_PLAYPAUSE BUTTON_MENU
44 48
45#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 49#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
46 (CONFIG_KEYPAD == IRIVER_H300_PAD) 50 (CONFIG_KEYPAD == IRIVER_H300_PAD)
47#define SNAKE_QUIT BUTTON_OFF 51#define SNAKE_QUIT BUTTON_OFF
52#define SNAKE_UP BUTTON_UP
53#define SNAKE_DOWN BUTTON_DOWN
48#define SNAKE_PLAYPAUSE BUTTON_ON 54#define SNAKE_PLAYPAUSE BUTTON_ON
49 55
56#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
57
58#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU)
59#define SNAKE_UP BUTTON_MENU
60#define SNAKE_DOWN BUTTON_PLAY
61#define SNAKE_PLAYPAUSE BUTTON_SELECT
62
50#else 63#else
51#error "lacks keymapping" 64#error "lacks keymapping"
52#endif 65#endif
@@ -236,13 +249,13 @@ void game (void) {
236 249
237 button=rb->button_get(false); 250 button=rb->button_get(false);
238 switch (button) { 251 switch (button) {
239 case BUTTON_UP: 252 case SNAKE_UP:
240 if (dir!=2) dir=0; 253 if (dir!=2) dir=0;
241 break; 254 break;
242 case BUTTON_RIGHT: 255 case BUTTON_RIGHT:
243 if (dir!=3) dir=1; 256 if (dir!=3) dir=1;
244 break; 257 break;
245 case BUTTON_DOWN: 258 case SNAKE_DOWN:
246 if (dir!=0) dir=2; 259 if (dir!=0) dir=2;
247 break; 260 break;
248 case BUTTON_LEFT: 261 case BUTTON_LEFT:
@@ -300,12 +313,12 @@ void game_init(void) {
300 button=rb->button_get(true); 313 button=rb->button_get(true);
301 switch (button) { 314 switch (button) {
302 case BUTTON_RIGHT: 315 case BUTTON_RIGHT:
303 case BUTTON_UP: 316 case SNAKE_UP:
304 if (level<9) 317 if (level<9)
305 level++; 318 level++;
306 break; 319 break;
307 case BUTTON_LEFT: 320 case BUTTON_LEFT:
308 case BUTTON_DOWN: 321 case SNAKE_DOWN:
309 if (level>1) 322 if (level>1)
310 level--; 323 level--;
311 break; 324 break;
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index a726d42418..f5ee34b2cb 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -57,6 +57,8 @@ Head and Tail are stored
57 57
58/* variable button definitions */ 58/* variable button definitions */
59#if CONFIG_KEYPAD == RECORDER_PAD 59#if CONFIG_KEYPAD == RECORDER_PAD
60#define SNAKE2_UP BUTTON_UP
61#define SNAKE2_DOWN BUTTON_DOWN
60#define SNAKE2_QUIT BUTTON_OFF 62#define SNAKE2_QUIT BUTTON_OFF
61#define SNAKE2_LEVEL_UP BUTTON_UP 63#define SNAKE2_LEVEL_UP BUTTON_UP
62#define SNAKE2_LEVEL_UP2 BUTTON_RIGHT 64#define SNAKE2_LEVEL_UP2 BUTTON_RIGHT
@@ -67,6 +69,8 @@ Head and Tail are stored
67#define SNAKE2_PLAYPAUSE BUTTON_PLAY 69#define SNAKE2_PLAYPAUSE BUTTON_PLAY
68 70
69#elif CONFIG_KEYPAD == ONDIO_PAD 71#elif CONFIG_KEYPAD == ONDIO_PAD
72#define SNAKE2_UP BUTTON_UP
73#define SNAKE2_DOWN BUTTON_DOWN
70#define SNAKE2_QUIT BUTTON_OFF 74#define SNAKE2_QUIT BUTTON_OFF
71#define SNAKE2_LEVEL_UP BUTTON_UP 75#define SNAKE2_LEVEL_UP BUTTON_UP
72#define SNAKE2_LEVEL_DOWN BUTTON_DOWN 76#define SNAKE2_LEVEL_DOWN BUTTON_DOWN
@@ -76,6 +80,8 @@ Head and Tail are stored
76 80
77#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 81#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
78 (CONFIG_KEYPAD == IRIVER_H300_PAD) 82 (CONFIG_KEYPAD == IRIVER_H300_PAD)
83#define SNAKE2_UP BUTTON_UP
84#define SNAKE2_DOWN BUTTON_DOWN
79#define SNAKE2_QUIT BUTTON_OFF 85#define SNAKE2_QUIT BUTTON_OFF
80#define SNAKE2_LEVEL_UP BUTTON_UP 86#define SNAKE2_LEVEL_UP BUTTON_UP
81#define SNAKE2_LEVEL_UP2 BUTTON_RIGHT 87#define SNAKE2_LEVEL_UP2 BUTTON_RIGHT
@@ -84,6 +90,18 @@ Head and Tail are stored
84#define SNAKE2_SELECT_MAZE BUTTON_REC 90#define SNAKE2_SELECT_MAZE BUTTON_REC
85#define SNAKE2_SELECT_TYPE BUTTON_MODE 91#define SNAKE2_SELECT_TYPE BUTTON_MODE
86#define SNAKE2_PLAYPAUSE BUTTON_ON 92#define SNAKE2_PLAYPAUSE BUTTON_ON
93
94#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
95
96#define SNAKE2_UP BUTTON_MENU
97#define SNAKE2_DOWN BUTTON_PLAY
98#define SNAKE2_QUIT (BUTTON_SELECT | BUTTON_MENU)
99#define SNAKE2_LEVEL_UP BUTTON_SCROLL_FWD
100#define SNAKE2_LEVEL_DOWN BUTTON_SCROLL_BACK
101#define SNAKE2_SELECT_MAZE BUTTON_LEFT
102#define SNAKE2_SELECT_TYPE BUTTON_RIGHT
103#define SNAKE2_PLAYPAUSE BUTTON_SELECT
104
87#else 105#else
88#error "lacks keymapping" 106#error "lacks keymapping"
89#endif 107#endif
@@ -1247,8 +1265,8 @@ void game (void)
1247 button = rb->button_get(false); 1265 button = rb->button_get(false);
1248 switch (button) 1266 switch (button)
1249 { 1267 {
1250 case BUTTON_UP: 1268 case SNAKE2_UP:
1251 case BUTTON_UP | BUTTON_REPEAT: 1269 case SNAKE2_UP | BUTTON_REPEAT:
1252 if (dir != SOUTH) set_direction(NORTH); 1270 if (dir != SOUTH) set_direction(NORTH);
1253 break; 1271 break;
1254 1272
@@ -1257,8 +1275,8 @@ void game (void)
1257 if (dir != WEST) set_direction(EAST); 1275 if (dir != WEST) set_direction(EAST);
1258 break; 1276 break;
1259 1277
1260 case BUTTON_DOWN: 1278 case SNAKE2_DOWN:
1261 case BUTTON_DOWN | BUTTON_REPEAT: 1279 case SNAKE2_DOWN | BUTTON_REPEAT:
1262 if (dir != NORTH) set_direction(SOUTH); 1280 if (dir != NORTH) set_direction(SOUTH);
1263 break; 1281 break;
1264 1282
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index 73ce386de9..06ec4ac5f6 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -34,6 +34,8 @@
34/* variable button definitions */ 34/* variable button definitions */
35#if CONFIG_KEYPAD == PLAYER_PAD 35#if CONFIG_KEYPAD == PLAYER_PAD
36#define SNOW_QUIT BUTTON_STOP 36#define SNOW_QUIT BUTTON_STOP
37#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
38#define SNOW_QUIT BUTTON_MENU
37#else 39#else
38#define SNOW_QUIT BUTTON_OFF 40#define SNOW_QUIT BUTTON_OFF
39#endif 41#endif
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index a341cf5416..545ea771ef 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -35,6 +35,8 @@
35 35
36/* variable button definitions */ 36/* variable button definitions */
37#if CONFIG_KEYPAD == RECORDER_PAD 37#if CONFIG_KEYPAD == RECORDER_PAD
38#define SOKOBAN_UP BUTTON_UP
39#define SOKOBAN_DOWN BUTTON_DOWN
38#define SOKOBAN_QUIT BUTTON_OFF 40#define SOKOBAN_QUIT BUTTON_OFF
39#define SOKOBAN_UNDO BUTTON_ON 41#define SOKOBAN_UNDO BUTTON_ON
40#define SOKOBAN_LEVEL_UP BUTTON_F3 42#define SOKOBAN_LEVEL_UP BUTTON_F3
@@ -42,6 +44,8 @@
42#define SOKOBAN_LEVEL_REPEAT BUTTON_F2 44#define SOKOBAN_LEVEL_REPEAT BUTTON_F2
43 45
44#elif CONFIG_KEYPAD == ONDIO_PAD 46#elif CONFIG_KEYPAD == ONDIO_PAD
47#define SOKOBAN_UP BUTTON_UP
48#define SOKOBAN_DOWN BUTTON_DOWN
45#define SOKOBAN_QUIT BUTTON_OFF 49#define SOKOBAN_QUIT BUTTON_OFF
46#define SOKOBAN_UNDO_PRE BUTTON_MENU 50#define SOKOBAN_UNDO_PRE BUTTON_MENU
47#define SOKOBAN_UNDO (BUTTON_MENU | BUTTON_REL) 51#define SOKOBAN_UNDO (BUTTON_MENU | BUTTON_REL)
@@ -51,11 +55,24 @@
51 55
52#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 56#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
53 (CONFIG_KEYPAD == IRIVER_H300_PAD) 57 (CONFIG_KEYPAD == IRIVER_H300_PAD)
58#define SOKOBAN_UP BUTTON_UP
59#define SOKOBAN_DOWN BUTTON_DOWN
54#define SOKOBAN_QUIT BUTTON_OFF 60#define SOKOBAN_QUIT BUTTON_OFF
55#define SOKOBAN_UNDO BUTTON_ON 61#define SOKOBAN_UNDO BUTTON_ON
56#define SOKOBAN_LEVEL_UP BUTTON_MODE 62#define SOKOBAN_LEVEL_UP BUTTON_MODE
57#define SOKOBAN_LEVEL_DOWN BUTTON_REC 63#define SOKOBAN_LEVEL_DOWN BUTTON_REC
58#define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT 64#define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT
65
66#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
67#define SOKOBAN_UP BUTTON_MENU
68#define SOKOBAN_DOWN BUTTON_PLAY
69#define SOKOBAN_QUIT (BUTTON_SELECT | BUTTON_MENU)
70#define SOKOBAN_UNDO_PRE BUTTON_SELECT
71#define SOKOBAN_UNDO (BUTTON_SELECT | BUTTON_REL)
72#define SOKOBAN_LEVEL_UP (BUTTON_SELECT | BUTTON_RIGHT)
73#define SOKOBAN_LEVEL_DOWN (BUTTON_SELECT | BUTTON_LEFT)
74#define SOKOBAN_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY)
75
59#endif 76#endif
60 77
61#if LCD_DEPTH > 1 78#if LCD_DEPTH > 1
@@ -180,7 +197,7 @@ static void add_undo(int button)
180 bool storable; 197 bool storable;
181 198
182 if ((button != BUTTON_LEFT) && (button != BUTTON_RIGHT) && 199 if ((button != BUTTON_LEFT) && (button != BUTTON_RIGHT) &&
183 (button != BUTTON_UP) && (button != BUTTON_DOWN)) 200 (button != SOKOBAN_UP) && (button != SOKOBAN_DOWN))
184 return; 201 return;
185 202
186 if (undo_info.count != 0) { 203 if (undo_info.count != 0) {
@@ -223,13 +240,13 @@ static void add_undo(int button)
223 storable = false; 240 storable = false;
224 break; 241 break;
225 242
226 case BUTTON_UP: 243 case SOKOBAN_UP:
227 row--; 244 row--;
228 if (row < 0) 245 if (row < 0)
229 storable = false; 246 storable = false;
230 break; 247 break;
231 248
232 case BUTTON_DOWN: 249 case SOKOBAN_DOWN:
233 row++; 250 row++;
234 if (row >= ROWS) 251 if (row >= ROWS)
235 storable = false; 252 storable = false;
@@ -514,7 +531,7 @@ static bool sokoban_loop(void)
514 531
515 switch(button) 532 switch(button)
516 { 533 {
517 case BUTTON_OFF: 534 case SOKOBAN_QUIT:
518 /* get out of here */ 535 /* get out of here */
519 return PLUGIN_OK; 536 return PLUGIN_OK;
520 537
@@ -691,7 +708,7 @@ static bool sokoban_loop(void)
691 current_info.player.col++; 708 current_info.player.col++;
692 break; 709 break;
693 710
694 case BUTTON_UP: 711 case SOKOBAN_UP:
695 switch(current_info.board[r-1][c]) { 712 switch(current_info.board[r-1][c]) {
696 case ' ': /* if it is a blank spot */ 713 case ' ': /* if it is a blank spot */
697 case '.': /* if it is a home spot */ 714 case '.': /* if it is a home spot */
@@ -756,7 +773,7 @@ static bool sokoban_loop(void)
756 current_info.player.row--; 773 current_info.player.row--;
757 break; 774 break;
758 775
759 case BUTTON_DOWN: 776 case SOKOBAN_DOWN:
760 switch(current_info.board[r+1][c]) { 777 switch(current_info.board[r+1][c]) {
761 case ' ': /* if it is a blank spot */ 778 case ' ': /* if it is a blank spot */
762 case '.': /* if it is a home spot */ 779 case '.': /* if it is a home spot */
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 30405a582f..efecaa854b 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -101,6 +101,22 @@ static struct plugin_api* rb;
101#define SOL_MENU_RUN2 BUTTON_RIGHT 101#define SOL_MENU_RUN2 BUTTON_RIGHT
102#define SOL_MENU_INFO BUTTON_MODE 102#define SOL_MENU_INFO BUTTON_MODE
103#define SOL_MENU_INFO2 BUTTON_REC 103#define SOL_MENU_INFO2 BUTTON_REC
104
105#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
106
107#define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU)
108#define SOL_UP BUTTON_MENU
109#define SOL_DOWN BUTTON_PLAY
110#define SOL_LEFT BUTTON_LEFT
111#define SOL_RIGHT BUTTON_RIGHT
112#define SOL_MOVE BUTTON_SELECT
113#define SOL_DRAW (BUTTON_SELECT | BUTTON_PLAY)
114#define SOL_REM2CUR (BUTTON_SELECT | BUTTON_LEFT)
115#define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_RIGHT)
116#define SOL_REM2STACK (BUTTON_LEFT | BUTTON_RIGHT)
117#define SOL_MENU_RUN BUTTON_SELECT
118#define SOL_MENU_INFO (BUTTON_PLAY | BUTTON_MENU)
119
104#endif 120#endif
105 121
106/* common help definitions */ 122/* common help definitions */
@@ -132,6 +148,13 @@ static struct plugin_api* rb;
132#define HELP_SOL_CUR2STACK "SELECT..: Put the card under the cursor on one of the 4 final stacks." 148#define HELP_SOL_CUR2STACK "SELECT..: Put the card under the cursor on one of the 4 final stacks."
133#define HELP_SOL_REM2STACK "PLAY+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks." 149#define HELP_SOL_REM2STACK "PLAY+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks."
134 150
151#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
152#define HELP_SOL_MOVE "SELECT: Select cards, Move cards, reveal hidden cards ..."
153#define HELP_SOL_DRAW "SELECT+PLAY: Un-select a card if it was selected. Else, draw 3 new cards out of the remains' stack."
154#define HELP_SOL_REM2CUR "SELECT+LEFT: Put the card on top of the remains' stack on top of the cursor."
155#define HELP_SOL_CUR2STACK "SELECT+RIGHT..: Put the card under the cursor on one of the 4 final stacks."
156#define HELP_SOL_REM2STACK "LEFT+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks."
157
135#endif 158#endif
136 159
137#if LCD_DEPTH>1 160#if LCD_DEPTH>1
@@ -540,11 +563,11 @@ int solitaire_menu(unsigned char when)
540 563
541 button = rb->button_get(true); 564 button = rb->button_get(true);
542 switch(button){ 565 switch(button){
543 case BUTTON_UP: 566 case SOL_UP:
544 cursor = (cursor + MENU_LENGTH - 1)%MENU_LENGTH; 567 cursor = (cursor + MENU_LENGTH - 1)%MENU_LENGTH;
545 break; 568 break;
546 569
547 case BUTTON_DOWN: 570 case SOL_DOWN:
548 cursor = (cursor + 1)%MENU_LENGTH; 571 cursor = (cursor + 1)%MENU_LENGTH;
549 break; 572 break;
550 573
@@ -576,7 +599,7 @@ int solitaire_menu(unsigned char when)
576 rb->splash(HZ, true, "Solitaire for Rockbox by dionoea"); 599 rb->splash(HZ, true, "Solitaire for Rockbox by dionoea");
577 break; 600 break;
578 601
579 case BUTTON_OFF: 602 case SOL_QUIT:
580 return MENU_QUIT; 603 return MENU_QUIT;
581 604
582 default: 605 default:
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 9dd3659f52..ac85738577 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -62,6 +62,8 @@
62/* variable button definitions */ 62/* variable button definitions */
63#if CONFIG_KEYPAD == RECORDER_PAD 63#if CONFIG_KEYPAD == RECORDER_PAD
64#define STAR_QUIT BUTTON_OFF 64#define STAR_QUIT BUTTON_OFF
65#define STAR_UP BUTTON_UP
66#define STAR_DOWN BUTTON_DOWN
65#define STAR_TOGGLE_CONTROL BUTTON_ON 67#define STAR_TOGGLE_CONTROL BUTTON_ON
66#define STAR_TOGGLE_CONTROL2 BUTTON_PLAY 68#define STAR_TOGGLE_CONTROL2 BUTTON_PLAY
67#define STAR_LEVEL_UP BUTTON_F3 69#define STAR_LEVEL_UP BUTTON_F3
@@ -73,6 +75,8 @@
73 75
74#elif CONFIG_KEYPAD == ONDIO_PAD 76#elif CONFIG_KEYPAD == ONDIO_PAD
75#define STAR_QUIT BUTTON_OFF 77#define STAR_QUIT BUTTON_OFF
78#define STAR_UP BUTTON_UP
79#define STAR_DOWN BUTTON_DOWN
76#define STAR_TOGGLE_CONTROL_PRE BUTTON_MENU 80#define STAR_TOGGLE_CONTROL_PRE BUTTON_MENU
77#define STAR_TOGGLE_CONTROL (BUTTON_MENU | BUTTON_REL) 81#define STAR_TOGGLE_CONTROL (BUTTON_MENU | BUTTON_REL)
78#define STAR_LEVEL_UP (BUTTON_MENU | BUTTON_RIGHT) 82#define STAR_LEVEL_UP (BUTTON_MENU | BUTTON_RIGHT)
@@ -83,12 +87,27 @@
83#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 87#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
84 (CONFIG_KEYPAD == IRIVER_H300_PAD) 88 (CONFIG_KEYPAD == IRIVER_H300_PAD)
85#define STAR_QUIT BUTTON_OFF 89#define STAR_QUIT BUTTON_OFF
90#define STAR_UP BUTTON_UP
91#define STAR_DOWN BUTTON_DOWN
86#define STAR_TOGGLE_CONTROL_PRE BUTTON_MODE 92#define STAR_TOGGLE_CONTROL_PRE BUTTON_MODE
87#define STAR_TOGGLE_CONTROL (BUTTON_MODE | BUTTON_REL) 93#define STAR_TOGGLE_CONTROL (BUTTON_MODE | BUTTON_REL)
88#define STAR_LEVEL_UP (BUTTON_MODE | BUTTON_RIGHT) 94#define STAR_LEVEL_UP (BUTTON_MODE | BUTTON_RIGHT)
89#define STAR_LEVEL_DOWN (BUTTON_MODE | BUTTON_LEFT) 95#define STAR_LEVEL_DOWN (BUTTON_MODE | BUTTON_LEFT)
90#define STAR_LEVEL_REPEAT (BUTTON_MODE | BUTTON_UP) 96#define STAR_LEVEL_REPEAT (BUTTON_MODE | BUTTON_UP)
91#define STAR_MENU_RUN BUTTON_RIGHT 97#define STAR_MENU_RUN BUTTON_RIGHT
98
99#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
100
101#define STAR_QUIT (BUTTON_SELECT | BUTTON_MENU)
102#define STAR_UP BUTTON_SCROLL_BACK
103#define STAR_DOWN BUTTON_SCROLL_FWD
104#define STAR_TOGGLE_CONTROL_PRE BUTTON_MENU
105#define STAR_TOGGLE_CONTROL (BUTTON_MENU | BUTTON_REL)
106#define STAR_LEVEL_UP (BUTTON_SELECT | BUTTON_RIGHT)
107#define STAR_LEVEL_DOWN (BUTTON_SELECT | BUTTON_LEFT)
108#define STAR_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY)
109#define STAR_MENU_RUN BUTTON_RIGHT
110
92#endif 111#endif
93 112
94/* function returns because of USB? */ 113/* function returns because of USB? */
@@ -427,7 +446,7 @@ static void star_display_text(char *str, bool waitkey)
427 switch (key) 446 switch (key)
428 { 447 {
429 case STAR_MENU_RUN: 448 case STAR_MENU_RUN:
430 case BUTTON_DOWN: 449 case STAR_DOWN:
431 go_on = true; 450 go_on = true;
432 break; 451 break;
433 452
@@ -601,11 +620,11 @@ static int star_run_game(void)
601 move_x = 1; 620 move_x = 1;
602 break; 621 break;
603 622
604 case BUTTON_UP: 623 case STAR_UP:
605 move_y = -1; 624 move_y = -1;
606 break; 625 break;
607 626
608 case BUTTON_DOWN: 627 case STAR_DOWN:
609 move_y = 1; 628 move_y = 1;
610 break; 629 break;
611 630
@@ -777,11 +796,11 @@ static int star_menu(void)
777 { 796 {
778 case STAR_QUIT: 797 case STAR_QUIT:
779 return PLUGIN_OK; 798 return PLUGIN_OK;
780 case BUTTON_UP: 799 case STAR_UP:
781 if (menu_y > 0) 800 if (menu_y > 0)
782 move_y = -1; 801 move_y = -1;
783 break; 802 break;
784 case BUTTON_DOWN: 803 case STAR_DOWN:
785 if (menu_y < 3) 804 if (menu_y < 3)
786 move_y = 1; 805 move_y = 1;
787 break; 806 break;
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index c697bae624..c0adfc5ca0 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -24,11 +24,19 @@
24static struct plugin_api* rb; /* global api struct pointer */ 24static struct plugin_api* rb; /* global api struct pointer */
25 25
26/* Key assignement */ 26/* Key assignement */
27#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
28#define STARFIELD_QUIT BUTTON_MENU
29#define STARFIELD_INCREASE_ZMOVE BUTTON_SCROLL_FWD
30#define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_BACK
31#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
32#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
33#else
27#define STARFIELD_QUIT BUTTON_OFF 34#define STARFIELD_QUIT BUTTON_OFF
28#define STARFIELD_INCREASE_ZMOVE BUTTON_UP 35#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
29#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN 36#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
30#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT 37#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
31#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT 38#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
39#endif
32 40
33#define LCD_CENTER_X (LCD_WIDTH/2) 41#define LCD_CENTER_X (LCD_WIDTH/2)
34#define LCD_CENTER_Y (LCD_HEIGHT/2) 42#define LCD_CENTER_Y (LCD_HEIGHT/2)
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index 3a8eb74c2e..8023341350 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -28,6 +28,8 @@ static int fontwidth, fontheight;
28 28
29#if CONFIG_KEYPAD == PLAYER_PAD 29#if CONFIG_KEYPAD == PLAYER_PAD
30#define STATS_STOP BUTTON_STOP 30#define STATS_STOP BUTTON_STOP
31#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
32#define STATS_STOP BUTTON_MENU
31#else 33#else
32#define STATS_STOP BUTTON_OFF 34#define STATS_STOP BUTTON_OFF
33#endif 35#endif
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 05e57905ac..c4aeaf2711 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -61,6 +61,13 @@
61#define STOPWATCH_LAP_TIMER BUTTON_ON 61#define STOPWATCH_LAP_TIMER BUTTON_ON
62#define STOPWATCH_SCROLL_UP BUTTON_RIGHT 62#define STOPWATCH_SCROLL_UP BUTTON_RIGHT
63#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT 63#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT
64#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
65#define STOPWATCH_QUIT BUTTON_MENU
66#define STOPWATCH_START_STOP BUTTON_SELECT
67#define STOPWATCH_RESET_TIMER BUTTON_LEFT
68#define STOPWATCH_LAP_TIMER BUTTON_RIGHT
69#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_FWD
70#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_BACK
64#endif 71#endif
65 72
66static struct plugin_api* rb; 73static struct plugin_api* rb;
diff --git a/apps/plugins/sudoku.c b/apps/plugins/sudoku.c
index 3c6d9538ca..a161b08466 100644
--- a/apps/plugins/sudoku.c
+++ b/apps/plugins/sudoku.c
@@ -68,12 +68,16 @@ Example ".ss" file, and one with a saved state:
68/* variable button definitions */ 68/* variable button definitions */
69#if CONFIG_KEYPAD == RECORDER_PAD 69#if CONFIG_KEYPAD == RECORDER_PAD
70#define SUDOKU_BUTTON_QUIT BUTTON_OFF 70#define SUDOKU_BUTTON_QUIT BUTTON_OFF
71#define SUDOKU_BUTTON_UP BUTTON_UP
72#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
71#define SUDOKU_BUTTON_TOGGLE BUTTON_PLAY 73#define SUDOKU_BUTTON_TOGGLE BUTTON_PLAY
72#define SUDOKU_BUTTON_MENU BUTTON_F1 74#define SUDOKU_BUTTON_MENU BUTTON_F1
73#define SUDOKU_BUTTON_POSSIBLE BUTTON_F2 75#define SUDOKU_BUTTON_POSSIBLE BUTTON_F2
74 76
75#elif CONFIG_KEYPAD == ONDIO_PAD 77#elif CONFIG_KEYPAD == ONDIO_PAD
76#define SUDOKU_BUTTON_QUIT BUTTON_OFF 78#define SUDOKU_BUTTON_QUIT BUTTON_OFF
79#define SUDOKU_BUTTON_UP BUTTON_UP
80#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
77#define SUDOKU_BUTTON_ALTTOGGLE (BUTTON_MENU | BUTTON_DOWN) 81#define SUDOKU_BUTTON_ALTTOGGLE (BUTTON_MENU | BUTTON_DOWN)
78#define SUDOKU_BUTTON_TOGGLE_PRE BUTTON_MENU 82#define SUDOKU_BUTTON_TOGGLE_PRE BUTTON_MENU
79#define SUDOKU_BUTTON_TOGGLE (BUTTON_MENU | BUTTON_REL) 83#define SUDOKU_BUTTON_TOGGLE (BUTTON_MENU | BUTTON_REL)
@@ -84,11 +88,23 @@ Example ".ss" file, and one with a saved state:
84#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 88#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
85 (CONFIG_KEYPAD == IRIVER_H300_PAD) 89 (CONFIG_KEYPAD == IRIVER_H300_PAD)
86#define SUDOKU_BUTTON_QUIT BUTTON_OFF 90#define SUDOKU_BUTTON_QUIT BUTTON_OFF
91#define SUDOKU_BUTTON_UP BUTTON_UP
92#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
87#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_ON 93#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_ON
88#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT 94#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT
89#define SUDOKU_BUTTON_MENU BUTTON_MODE 95#define SUDOKU_BUTTON_MENU BUTTON_MODE
90#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC 96#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
91 97
98#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
99
100#define SUDOKU_BUTTON_QUIT (BUTTON_SELECT | BUTTON_MENU)
101#define SUDOKU_BUTTON_UP BUTTON_SCROLL_BACK
102#define SUDOKU_BUTTON_DOWN BUTTON_SCROLL_FWD
103#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT
104#define SUDOKU_BUTTON_MENU BUTTON_MENU
105#define SUDOKU_BUTTON_POSSIBLE (BUTTON_SELECT | BUTTON_LEFT)
106
107
92#elif 108#elif
93 #error SUDOKU: Unsupported keypad 109 #error SUDOKU: Unsupported keypad
94#endif 110#endif
@@ -2195,8 +2211,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
2195 break; 2211 break;
2196 2212
2197 /* move cursor up */ 2213 /* move cursor up */
2198 case BUTTON_UP: 2214 case SUDOKU_BUTTON_UP:
2199 case (BUTTON_UP | BUTTON_REPEAT): 2215 case (SUDOKU_BUTTON_UP | BUTTON_REPEAT):
2200 if (state.y==0) { 2216 if (state.y==0) {
2201 move_cursor(&state,state.x,8); 2217 move_cursor(&state,state.x,8);
2202 } else { 2218 } else {
@@ -2205,8 +2221,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
2205 break; 2221 break;
2206 2222
2207 /* move cursor down */ 2223 /* move cursor down */
2208 case BUTTON_DOWN: 2224 case SUDOKU_BUTTON_DOWN:
2209 case (BUTTON_DOWN | BUTTON_REPEAT): 2225 case (SUDOKU_BUTTON_DOWN | BUTTON_REPEAT):
2210 if (state.y==8) { 2226 if (state.y==8) {
2211 move_cursor(&state,state.x,0); 2227 move_cursor(&state,state.x,0);
2212 } else { 2228 } else {
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index c695f2f7f0..2db3c6ec9e 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -119,6 +119,16 @@
119#define VIEWER_COLUMN_LEFT (BUTTON_ON | BUTTON_LEFT) 119#define VIEWER_COLUMN_LEFT (BUTTON_ON | BUTTON_LEFT)
120#define VIEWER_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT) 120#define VIEWER_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT)
121 121
122#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
123#define VIEWER_QUIT BUTTON_MENU
124#define VIEWER_PAGE_UP BUTTON_SCROLL_FWD
125#define VIEWER_PAGE_DOWN BUTTON_SCROLL_BACK
126#define VIEWER_SCREEN_LEFT BUTTON_LEFT
127#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT
128#define VIEWER_MODE_WRAP (BUTTON_SELECT | BUTTON_LEFT)
129#define VIEWER_MODE_LINE (BUTTON_SELECT | BUTTON_PLAY)
130#define VIEWER_MODE_WIDTH (BUTTON_SELECT | BUTTON_RIGHT)
131
122#endif 132#endif
123 133
124enum { 134enum {