1
0
Fork 0
forked from len0rd/rockbox

iPod: Initial attempt at button mappings for plugins. All plugins now compile, but more work is needed with the more complex ones to make them iPod friendly

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8233 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dave Chapman 2005-12-14 01:31:37 +00:00
parent c75425511e
commit 54d44c893f
28 changed files with 361 additions and 65 deletions

View file

@ -1,6 +1,3 @@
/* Temporarily disable the plugins for the iPod until we fix the
button assignments and other problems */
#if (CONFIG_KEYPAD!=IPOD_4G_PAD) && (CONFIG_KEYPAD!=IPOD_NANO_PAD)
/* plugins common to all models */ /* plugins common to all models */
battery_test.c battery_test.c
chessclock.c chessclock.c
@ -89,4 +86,3 @@ midi2wav.c
splitedit.c splitedit.c
metronome.c metronome.c
#endif #endif
#endif /* PP5020 */

View file

@ -39,6 +39,8 @@
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define BATTERY_TEST_QUIT BUTTON_OFF #define BATTERY_TEST_QUIT BUTTON_OFF
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define BATTERY_TEST_QUIT BUTTON_MENU
#endif #endif
static struct plugin_api* rb; static struct plugin_api* rb;

View file

@ -32,17 +32,30 @@
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL) #define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_ON | BUTTON_REL) #define BOUNCE_MODE (BUTTON_ON | BUTTON_REL)
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL) #define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_MENU | BUTTON_REL) #define BOUNCE_MODE (BUTTON_MENU | BUTTON_REL)
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL) #define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL) #define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL)
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define BOUNCE_UP BUTTON_SCROLL_BACK
#define BOUNCE_DOWN BUTTON_SCROLL_FWD
#define BOUNCE_QUIT (BUTTON_MENU | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL)
#endif #endif
static struct plugin_api* rb; static struct plugin_api* rb;
@ -396,11 +409,11 @@ static int loopit(void)
case BUTTON_RIGHT: case BUTTON_RIGHT:
values[show].num++; values[show].num++;
break; break;
case BUTTON_UP: case BOUNCE_UP:
if(++show == NUM_LAST) if(++show == NUM_LAST)
show=0; show=0;
break; break;
case BUTTON_DOWN: case BOUNCE_DOWN:
if(--show < 0) if(--show < 0)
show=NUM_LAST-1; show=NUM_LAST-1;
break; break;

View file

@ -106,6 +106,8 @@ F3: equal to "="
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_OFF #define CALCULATOR_QUIT BUTTON_OFF
#define CALCULATOR_INPUT BUTTON_PLAY #define CALCULATOR_INPUT BUTTON_PLAY
#define CALCULATOR_CALC BUTTON_F3 #define CALCULATOR_CALC BUTTON_F3
@ -113,6 +115,8 @@ F3: equal to "="
#define CALCULATOR_CLEAR BUTTON_F1 #define CALCULATOR_CLEAR BUTTON_F1
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_OFF #define CALCULATOR_QUIT BUTTON_OFF
#define CALCULATOR_INPUT_CALC_PRE BUTTON_MENU #define CALCULATOR_INPUT_CALC_PRE BUTTON_MENU
#define CALCULATOR_INPUT (BUTTON_MENU | BUTTON_REL) #define CALCULATOR_INPUT (BUTTON_MENU | BUTTON_REL)
@ -120,12 +124,23 @@ F3: equal to "="
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_OFF #define CALCULATOR_QUIT BUTTON_OFF
#define CALCULATOR_INPUT BUTTON_SELECT #define CALCULATOR_INPUT BUTTON_SELECT
#define CALCULATOR_CALC BUTTON_ON #define CALCULATOR_CALC BUTTON_ON
#define CALCULATOR_OPERATORS BUTTON_MODE #define CALCULATOR_OPERATORS BUTTON_MODE
#define CALCULATOR_CLEAR BUTTON_REC #define CALCULATOR_CLEAR BUTTON_REC
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define CALCULATOR_UP BUTTON_SCROLL_BACK
#define CALCULATOR_DOWN BUTTON_SCROLL_FWD
#define CALCULATOR_QUIT BUTTON_MENU
#define CALCULATOR_INPUT_CALC_PRE BUTTON_SELECT
#define CALCULATOR_INPUT (BUTTON_SELECT | BUTTON_REL)
#define CALCULATOR_CALC (BUTTON_PLAY | BUTTON_REPEAT)
#endif #endif
static struct plugin_api* rb; static struct plugin_api* rb;
@ -675,16 +690,16 @@ void moveButton(void){
n++; n++;
break; break;
case BUTTON_UP: case CALCULATOR_UP:
case BUTTON_UP | BUTTON_REPEAT: case CALCULATOR_UP | BUTTON_REPEAT:
if (m == 0) if (m == 0)
m = 4; m = 4;
else else
m--; m--;
break; break;
case BUTTON_DOWN: case CALCULATOR_DOWN:
case BUTTON_DOWN | BUTTON_REPEAT: case CALCULATOR_DOWN | BUTTON_REPEAT:
if (m == 4) if (m == 4)
m = 0; m = 0;
else else
@ -1359,10 +1374,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
case BUTTON_LEFT | BUTTON_REPEAT: case BUTTON_LEFT | BUTTON_REPEAT:
case BUTTON_RIGHT: case BUTTON_RIGHT:
case BUTTON_RIGHT | BUTTON_REPEAT: case BUTTON_RIGHT | BUTTON_REPEAT:
case BUTTON_UP: case CALCULATOR_UP:
case BUTTON_UP | BUTTON_REPEAT: case CALCULATOR_UP | BUTTON_REPEAT:
case BUTTON_DOWN: case CALCULATOR_DOWN:
case BUTTON_DOWN | BUTTON_REPEAT: case CALCULATOR_DOWN | BUTTON_REPEAT:
moveButton(); moveButton();
break; break;
case CALCULATOR_QUIT: case CALCULATOR_QUIT:

View file

@ -64,6 +64,16 @@
#define CHC_SETTINGS_CANCEL BUTTON_OFF #define CHC_SETTINGS_CANCEL BUTTON_OFF
#define CHC_SETTINGS_CANCEL2 BUTTON_REC #define CHC_SETTINGS_CANCEL2 BUTTON_REC
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define CHC_QUIT BUTTON_PLAY
#define CHC_STARTSTOP BUTTON_SELECT
#define CHC_RESET BUTTON_LEFT
#define CHC_MENU BUTTON_MENU
#define CHC_SETTINGS_INC BUTTON_SCROLL_FWD
#define CHC_SETTINGS_DEC BUTTON_SCROLL_BACK
#define CHC_SETTINGS_OK BUTTON_SELECT
#define CHC_SETTINGS_CANCEL BUTTON_MENU
#endif #endif

View file

@ -946,6 +946,7 @@ STATIC void chip8 (void)
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD /* only 9 out of 16 chip8 buttons */ #if CONFIG_KEYPAD == RECORDER_PAD /* only 9 out of 16 chip8 buttons */
#define CHIP8_OFF BUTTON_OFF
#define CHIP8_KEY1 BUTTON_F1 #define CHIP8_KEY1 BUTTON_F1
#define CHIP8_KEY2 BUTTON_UP #define CHIP8_KEY2 BUTTON_UP
#define CHIP8_KEY3 BUTTON_F3 #define CHIP8_KEY3 BUTTON_F3
@ -957,6 +958,7 @@ STATIC void chip8 (void)
#define CHIP8_KEY9 BUTTON_ON #define CHIP8_KEY9 BUTTON_ON
#elif CONFIG_KEYPAD == ONDIO_PAD /* even more limited */ #elif CONFIG_KEYPAD == ONDIO_PAD /* even more limited */
#define CHIP8_OFF BUTTON_OFF
#define CHIP8_KEY2 BUTTON_UP #define CHIP8_KEY2 BUTTON_UP
#define CHIP8_KEY4 BUTTON_LEFT #define CHIP8_KEY4 BUTTON_LEFT
#define CHIP8_KEY5 BUTTON_MENU #define CHIP8_KEY5 BUTTON_MENU
@ -965,12 +967,21 @@ STATIC void chip8 (void)
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define CHIP8_OFF BUTTON_OFF
#define CHIP8_KEY2 BUTTON_UP #define CHIP8_KEY2 BUTTON_UP
#define CHIP8_KEY4 BUTTON_LEFT #define CHIP8_KEY4 BUTTON_LEFT
#define CHIP8_KEY5 BUTTON_SELECT #define CHIP8_KEY5 BUTTON_SELECT
#define CHIP8_KEY6 BUTTON_RIGHT #define CHIP8_KEY6 BUTTON_RIGHT
#define CHIP8_KEY8 BUTTON_DOWN #define CHIP8_KEY8 BUTTON_DOWN
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define CHIP8_OFF BUTTON_MENU
#define CHIP8_KEY2 BUTTON_SCROLL_BACK
#define CHIP8_KEY4 BUTTON_LEFT
#define CHIP8_KEY5 BUTTON_PLAY
#define CHIP8_KEY6 BUTTON_RIGHT
#define CHIP8_KEY8 BUTTON_SCROLL_FWD
#endif #endif
static byte chip8_virtual_keys[16]; static byte chip8_virtual_keys[16];
@ -1076,7 +1087,7 @@ static void chip8_keyboard(void)
int button = rb->button_get(false); int button = rb->button_get(false);
switch (button) switch (button)
{ {
case BUTTON_OFF: /* Abort Emulator */ case CHIP8_OFF: /* Abort Emulator */
chip8_running = 0; chip8_running = 0;
break; break;

View file

@ -79,6 +79,19 @@
#define CUBE_PAUSE (BUTTON_ON | BUTTON_REL) #define CUBE_PAUSE (BUTTON_ON | BUTTON_REL)
#define CUBE_HIGHSPEED BUTTON_SELECT #define CUBE_HIGHSPEED BUTTON_SELECT
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define CUBE_QUIT BUTTON_MENU
#define CUBE_X_INC BUTTON_LEFT
#define CUBE_X_DEC BUTTON_RIGHT
#define CUBE_Y_INC BUTTON_SCROLL_FWD
#define CUBE_Y_DEC BUTTON_SCROLL_BACK
#define CUBE_Z_INC (BUTTON_SELECT | BUTTON_LEFT)
#define CUBE_Z_DEC (BUTTON_SELECT | BUTTON_RIGHT)
#define CUBE_MODE (BUTTON_SELECT | BUTTON_MENU)
#define CUBE_PAUSE_PRE BUTTON_PLAY
#define CUBE_PAUSE (BUTTON_PLAY | BUTTON_REL)
#define CUBE_HIGHSPEED (BUTTON_SELECT | BUTTON_PLAY)
#endif #endif
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP

View file

@ -24,12 +24,19 @@
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
/* Key assignement */ /* Key assignement */
#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define DEMYSTIFY_QUIT BUTTON_MENU
#define DEMYSTIFY_ADD_POLYGON BUTTON_RIGHT
#define DEMYSTIFY_REMOVE_POLYGON BUTTON_LEFT
#define DEMYSTIFY_INCREASE_SPEED BUTTON_SCROLL_FWD
#define DEMYSTIFY_DECREASE_SPEED BUTTON_SCROLL_BACK
#else
#define DEMYSTIFY_QUIT BUTTON_OFF #define DEMYSTIFY_QUIT BUTTON_OFF
#define DEMYSTIFY_ADD_POLYGON BUTTON_UP #define DEMYSTIFY_ADD_POLYGON BUTTON_UP
#define DEMYSTIFY_REMOVE_POLYGON BUTTON_DOWN #define DEMYSTIFY_REMOVE_POLYGON BUTTON_DOWN
#define DEMYSTIFY_INCREASE_SPEED BUTTON_RIGHT #define DEMYSTIFY_INCREASE_SPEED BUTTON_RIGHT
#define DEMYSTIFY_DECREASE_SPEED BUTTON_LEFT #define DEMYSTIFY_DECREASE_SPEED BUTTON_LEFT
#endif
#define DEFAULT_WAIT_TIME 3 #define DEFAULT_WAIT_TIME 3
#define DEFAULT_NB_POLYGONS 7 #define DEFAULT_NB_POLYGONS 7

View file

@ -102,6 +102,8 @@ long reverse (long N) {
/* Button definitions */ /* Button definitions */
#if CONFIG_KEYPAD == PLAYER_PAD #if CONFIG_KEYPAD == PLAYER_PAD
#define LP_QUIT BUTTON_STOP #define LP_QUIT BUTTON_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define LP_QUIT BUTTON_MENU
#else #else
#define LP_QUIT BUTTON_OFF #define LP_QUIT BUTTON_OFF
#endif #endif

View file

@ -21,6 +21,8 @@
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_OFF #define FLIPIT_QUIT BUTTON_OFF
#define FLIPIT_SHUFFLE BUTTON_F1 #define FLIPIT_SHUFFLE BUTTON_F1
#define FLIPIT_SOLVE BUTTON_F2 #define FLIPIT_SOLVE BUTTON_F2
@ -28,6 +30,8 @@
#define FLIPIT_TOGGLE BUTTON_PLAY #define FLIPIT_TOGGLE BUTTON_PLAY
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_OFF #define FLIPIT_QUIT BUTTON_OFF
#define FLIPIT_SHUFFLE (BUTTON_MENU | BUTTON_LEFT) #define FLIPIT_SHUFFLE (BUTTON_MENU | BUTTON_LEFT)
#define FLIPIT_SOLVE (BUTTON_MENU | BUTTON_UP) #define FLIPIT_SOLVE (BUTTON_MENU | BUTTON_UP)
@ -37,6 +41,8 @@
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_OFF #define FLIPIT_QUIT BUTTON_OFF
#define FLIPIT_SHUFFLE BUTTON_MODE #define FLIPIT_SHUFFLE BUTTON_MODE
#define FLIPIT_SOLVE BUTTON_ON #define FLIPIT_SOLVE BUTTON_ON
@ -44,6 +50,17 @@
#define FLIPIT_TOGGLE_PRE BUTTON_SELECT #define FLIPIT_TOGGLE_PRE BUTTON_SELECT
#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL) #define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL)
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define FLIPIT_UP BUTTON_SCROLL_FWD
#define FLIPIT_DOWN BUTTON_SCROLL_BACK
#define FLIPIT_QUIT BUTTON_MENU
#define FLIPIT_SHUFFLE (BUTTON_SELECT | BUTTON_LEFT)
#define FLIPIT_SOLVE (BUTTON_SELECT | BUTTON_PLAY)
#define FLIPIT_STEP_BY_STEP (BUTTON_SELECT | BUTTON_MENU)
#define FLIPIT_TOGGLE_PRE BUTTON_SELECT
#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL)
#endif #endif
static struct plugin_api* rb; static struct plugin_api* rb;
@ -252,12 +269,12 @@ static bool flipit_loop(void) {
move_cursor(1, 0); move_cursor(1, 0);
break; break;
case BUTTON_UP: case FLIPIT_UP:
if ((cursor_pos/5)>0) if ((cursor_pos/5)>0)
move_cursor(0, -1); move_cursor(0, -1);
break; break;
case BUTTON_DOWN: case FLIPIT_DOWN:
if ((cursor_pos/5)<3) if ((cursor_pos/5)<3)
move_cursor(0, 1); move_cursor(0, 1);
break; break;

View file

@ -50,12 +50,16 @@ static unsigned jewel_color[8]={COLOR_BLACK, COLOR_RED, COLOR_ORANGE,
/* button definitions */ /* button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define BEJEWELED_UP BUTTON_UP
#define BEJEWELED_DOWN BUTTON_DOWN
#define BEJEWELED_QUIT BUTTON_OFF #define BEJEWELED_QUIT BUTTON_OFF
#define BEJEWELED_START BUTTON_ON #define BEJEWELED_START BUTTON_ON
#define BEJEWELED_SELECT BUTTON_PLAY #define BEJEWELED_SELECT BUTTON_PLAY
#define BEJEWELED_RESUME BUTTON_F1 #define BEJEWELED_RESUME BUTTON_F1
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define BEJEWELED_UP BUTTON_UP
#define BEJEWELED_DOWN BUTTON_DOWN
#define BEJEWELED_QUIT BUTTON_OFF #define BEJEWELED_QUIT BUTTON_OFF
#define BEJEWELED_START BUTTON_RIGHT #define BEJEWELED_START BUTTON_RIGHT
#define BEJEWELED_SELECT (BUTTON_MENU|BUTTON_REL) #define BEJEWELED_SELECT (BUTTON_MENU|BUTTON_REL)
@ -63,11 +67,21 @@ static unsigned jewel_color[8]={COLOR_BLACK, COLOR_RED, COLOR_ORANGE,
#define BEJEWELED_RESUME (BUTTON_MENU|BUTTON_OFF) #define BEJEWELED_RESUME (BUTTON_MENU|BUTTON_OFF)
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define BEJEWELED_UP BUTTON_UP
#define BEJEWELED_DOWN BUTTON_DOWN
#define BEJEWELED_QUIT BUTTON_OFF #define BEJEWELED_QUIT BUTTON_OFF
#define BEJEWELED_START BUTTON_ON #define BEJEWELED_START BUTTON_ON
#define BEJEWELED_SELECT BUTTON_SELECT #define BEJEWELED_SELECT BUTTON_SELECT
#define BEJEWELED_RESUME BUTTON_MODE #define BEJEWELED_RESUME BUTTON_MODE
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define BEJEWELED_UP BUTTON_SCROLL_BACK
#define BEJEWELED_DOWN BUTTON_SCROLL_FWD
#define BEJEWELED_QUIT BUTTON_MENU
#define BEJEWELED_START BUTTON_PLAY
#define BEJEWELED_SELECT BUTTON_SELECT
#define BEJEWELED_RESUME (BUTTON_SELECT | BUTTON_PLAY)
#else #else
#error BEJEWELED: Unsupported keypad #error BEJEWELED: Unsupported keypad
#endif #endif
@ -1081,8 +1095,8 @@ static int bejeweled(struct game_context* bj) {
} }
break; break;
case BUTTON_DOWN: /* move cursor down */ case BEJEWELED_DOWN: /* move cursor down */
case (BUTTON_DOWN|BUTTON_REPEAT): case (BEJEWELED_DOWN|BUTTON_REPEAT):
if(selected) { if(selected) {
bj->score += bejeweled_swapjewels(bj, x, y, SWAP_DOWN); bj->score += bejeweled_swapjewels(bj, x, y, SWAP_DOWN);
selected = false; selected = false;
@ -1092,8 +1106,8 @@ static int bejeweled(struct game_context* bj) {
} }
break; break;
case BUTTON_UP: /* move cursor up */ case BEJEWELED_UP: /* move cursor up */
case (BUTTON_UP|BUTTON_REPEAT): case (BEJEWELED_UP|BUTTON_REPEAT):
if(selected) { if(selected) {
bj->score += bejeweled_swapjewels(bj, x, y, SWAP_UP); bj->score += bejeweled_swapjewels(bj, x, y, SWAP_UP);
selected = false; selected = false;

View file

@ -181,6 +181,12 @@ const unsigned char rockbox16x7[] = {
#define LP_INC_X BUTTON_RIGHT #define LP_INC_X BUTTON_RIGHT
#define LP_DEC_Y (BUTTON_ON | BUTTON_LEFT) #define LP_DEC_Y (BUTTON_ON | BUTTON_LEFT)
#define LP_INC_Y (BUTTON_ON | BUTTON_RIGHT) #define LP_INC_Y (BUTTON_ON | BUTTON_RIGHT)
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define LP_QUIT BUTTON_MENU
#define LP_DEC_X BUTTON_LEFT
#define LP_INC_X BUTTON_RIGHT
#define LP_DEC_Y BUTTON_SCROLL_BACK
#define LP_INC_Y BUTTON_SCROLL_FWD
#else #else
#define LP_QUIT BUTTON_OFF #define LP_QUIT BUTTON_OFF
#define LP_DEC_X BUTTON_LEFT #define LP_DEC_X BUTTON_LEFT

View file

@ -41,6 +41,8 @@ use F3 to see how many mines are left (supposing all your flags are correct)
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define MINESWP_UP BUTTON_UP
#define MINESWP_DOWN BUTTON_DOWN
#define MINESWP_QUIT BUTTON_OFF #define MINESWP_QUIT BUTTON_OFF
#define MINESWP_START BUTTON_ON #define MINESWP_START BUTTON_ON
#define MINESWP_TOGGLE BUTTON_PLAY #define MINESWP_TOGGLE BUTTON_PLAY
@ -50,6 +52,8 @@ use F3 to see how many mines are left (supposing all your flags are correct)
#define MINESWP_INFO BUTTON_F3 #define MINESWP_INFO BUTTON_F3
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define MINESWP_UP BUTTON_UP
#define MINESWP_DOWN BUTTON_DOWN
#define MINESWP_QUIT BUTTON_OFF #define MINESWP_QUIT BUTTON_OFF
#define MINESWP_START BUTTON_MENU #define MINESWP_START BUTTON_MENU
#define MINESWP_TOGGLE_PRE BUTTON_MENU #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)
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define MINESWP_UP BUTTON_UP
#define MINESWP_DOWN BUTTON_DOWN
#define MINESWP_QUIT BUTTON_OFF #define MINESWP_QUIT BUTTON_OFF
#define MINESWP_START BUTTON_SELECT #define MINESWP_START BUTTON_SELECT
#define MINESWP_TOGGLE BUTTON_SELECT #define MINESWP_TOGGLE BUTTON_SELECT
#define MINESWP_DISCOVER BUTTON_ON #define MINESWP_DISCOVER BUTTON_ON
#define MINESWP_INFO BUTTON_MODE #define MINESWP_INFO BUTTON_MODE
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define MINESWP_UP BUTTON_SCROLL_BACK
#define MINESWP_DOWN BUTTON_SCROLL_FWD
#define MINESWP_QUIT BUTTON_MENU
#define MINESWP_START BUTTON_SELECT
#define MINESWP_TOGGLE BUTTON_PLAY
#define MINESWP_DISCOVER (BUTTON_SELECT | BUTTON_PLAY)
#define MINESWP_INFO (BUTTON_SELECT | BUTTON_MENU)
#endif #endif
/* here is a global api struct pointer. while not strictly necessary, /* here is a global api struct pointer. while not strictly necessary,
@ -323,11 +338,11 @@ int minesweeper(void)
button = rb->button_get(true); button = rb->button_get(true);
switch(button){ switch(button){
case BUTTON_DOWN: case MINESWP_DOWN:
p = (p + 98)%100; p = (p + 98)%100;
break; break;
case BUTTON_UP: case MINESWP_UP:
p = (p + 2)%100; p = (p + 2)%100;
break; break;
@ -431,14 +446,14 @@ int minesweeper(void)
break; break;
/* move cursor down */ /* move cursor down */
case BUTTON_DOWN: case MINESWP_DOWN:
case (BUTTON_DOWN | BUTTON_REPEAT): case (MINESWP_DOWN | BUTTON_REPEAT):
y = (y + 1)%height; y = (y + 1)%height;
break; break;
/* move cursor up */ /* move cursor up */
case BUTTON_UP: case MINESWP_UP:
case (BUTTON_UP | BUTTON_REPEAT): case (MINESWP_UP | BUTTON_REPEAT):
y = (y + height - 1)%height; y = (y + height - 1)%height;
break; break;

View file

@ -50,6 +50,11 @@
#define MOSAIQUE_QUIT BUTTON_OFF #define MOSAIQUE_QUIT BUTTON_OFF
#define MOSAIQUE_SPEED BUTTON_MODE #define MOSAIQUE_SPEED BUTTON_MODE
#define MOSAIQUE_RESTART BUTTON_ON #define MOSAIQUE_RESTART BUTTON_ON
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define MOSAIQUE_QUIT BUTTON_MENU
#define MOSAIQUE_SPEED BUTTON_SELECT
#define MOSAIQUE_RESTART BUTTON_PLAY
#endif #endif
enum plugin_status plugin_start(struct plugin_api* api, void* parameter) enum plugin_status plugin_start(struct plugin_api* api, void* parameter)

View file

@ -56,6 +56,13 @@
#define PONG_RIGHT_UP BUTTON_ON #define PONG_RIGHT_UP BUTTON_ON
#define PONG_RIGHT_DOWN BUTTON_MODE #define PONG_RIGHT_DOWN BUTTON_MODE
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define PONG_QUIT BUTTON_SELECT
#define PONG_LEFT_UP BUTTON_MENU
#define PONG_LEFT_DOWN BUTTON_LEFT
#define PONG_RIGHT_UP BUTTON_RIGHT
#define PONG_RIGHT_DOWN BUTTON_PLAY
#endif #endif
static struct plugin_api* rb; static struct plugin_api* rb;

View file

@ -22,6 +22,20 @@
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define ROCKBLOX_OFF BUTTON_MENU
#define ROCKBLOX_UP BUTTON_SCROLL_BACK
#define ROCKBLOX_DOWN BUTTON_SCROLL_FWD
#define ROCKBLOX_LEFT BUTTON_LEFT
#define ROCKBLOX_RIGHT BUTTON_RIGHT
#else
#define ROCKBLOX_OFF BUTTON_OFF
#define ROCKBLOX_UP BUTTON_UP
#define ROCKBLOX_DOWN BUTTON_DOWN
#define ROCKBLOX_LEFT BUTTON_LEFT
#define ROCKBLOX_RIGHT BUTTON_RIGHT
#endif
static const int start_x = 5; static const int start_x = 5;
static const int start_y = 5; static const int start_y = 5;
static const int max_x = 4 * 17; static const int max_x = 4 * 17;
@ -338,26 +352,26 @@ static int game_loop(void)
button = rb->button_get_w_tmo(HZ/10); button = rb->button_get_w_tmo(HZ/10);
switch(button) switch(button)
{ {
case BUTTON_OFF: case ROCKBLOX_OFF:
return PLUGIN_OK; return PLUGIN_OK;
case BUTTON_UP: case ROCKBLOX_UP:
case BUTTON_UP | BUTTON_REPEAT: case ROCKBLOX_UP | BUTTON_REPEAT:
move_block(0,-3,0); move_block(0,-3,0);
break; break;
case BUTTON_DOWN: case ROCKBLOX_DOWN:
case BUTTON_DOWN | BUTTON_REPEAT: case ROCKBLOX_DOWN | BUTTON_REPEAT:
move_block(0,3,0); move_block(0,3,0);
break; break;
case BUTTON_RIGHT: case ROCKBLOX_RIGHT:
case BUTTON_RIGHT | BUTTON_REPEAT: case ROCKBLOX_RIGHT | BUTTON_REPEAT:
move_block(0,0,1); move_block(0,0,1);
break; break;
case BUTTON_LEFT: case ROCKBLOX_LEFT:
case BUTTON_LEFT | BUTTON_REPEAT: case ROCKBLOX_LEFT | BUTTON_REPEAT:
move_down(); move_down();
break; break;

View file

@ -22,11 +22,15 @@
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define PUZZLE_QUIT BUTTON_OFF #define PUZZLE_QUIT BUTTON_OFF
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_F1 #define PUZZLE_SHUFFLE BUTTON_F1
#define PUZZLE_PICTURE BUTTON_F2 #define PUZZLE_PICTURE BUTTON_F2
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define PUZZLE_QUIT BUTTON_OFF #define PUZZLE_QUIT BUTTON_OFF
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE_PICTURE_PRE BUTTON_MENU #define PUZZLE_SHUFFLE_PICTURE_PRE BUTTON_MENU
#define PUZZLE_SHUFFLE (BUTTON_MENU | BUTTON_REPEAT) #define PUZZLE_SHUFFLE (BUTTON_MENU | BUTTON_REPEAT)
#define PUZZLE_PICTURE (BUTTON_MENU | BUTTON_REL) #define PUZZLE_PICTURE (BUTTON_MENU | BUTTON_REL)
@ -34,8 +38,18 @@
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define PUZZLE_QUIT BUTTON_OFF #define PUZZLE_QUIT BUTTON_OFF
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_SELECT #define PUZZLE_SHUFFLE BUTTON_SELECT
#define PUZZLE_PICTURE BUTTON_ON #define PUZZLE_PICTURE BUTTON_ON
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define PUZZLE_QUIT BUTTON_MENU
#define PUZZLE_UP BUTTON_SCROLL_BACK
#define PUZZLE_DOWN BUTTON_SCROLL_FWD
#define PUZZLE_SHUFFLE BUTTON_SELECT
#define PUZZLE_PICTURE BUTTON_PLAY
#endif #endif
static struct plugin_api* rb; static struct plugin_api* rb;
@ -295,12 +309,12 @@ static int puzzle_loop(void)
move_spot(1, 0); move_spot(1, 0);
break; break;
case BUTTON_UP: case PUZZLE_UP:
if ((hole/5)<3 && !puzzle_finished()) if ((hole/5)<3 && !puzzle_finished())
move_spot(0, -1); move_spot(0, -1);
break; break;
case BUTTON_DOWN: case PUZZLE_DOWN:
if ((hole/5)>0 && !puzzle_finished()) if ((hole/5)>0 && !puzzle_finished())
move_spot(0, 1); move_spot(0, 1);
break; break;

View file

@ -36,17 +36,30 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define SNAKE_QUIT BUTTON_OFF #define SNAKE_QUIT BUTTON_OFF
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_PLAY #define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define SNAKE_QUIT BUTTON_OFF #define SNAKE_QUIT BUTTON_OFF
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_MENU #define SNAKE_PLAYPAUSE BUTTON_MENU
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SNAKE_QUIT BUTTON_OFF #define SNAKE_QUIT BUTTON_OFF
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_ON #define SNAKE_PLAYPAUSE BUTTON_ON
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU)
#define SNAKE_UP BUTTON_MENU
#define SNAKE_DOWN BUTTON_PLAY
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#else #else
#error "lacks keymapping" #error "lacks keymapping"
#endif #endif
@ -236,13 +249,13 @@ void game (void) {
button=rb->button_get(false); button=rb->button_get(false);
switch (button) { switch (button) {
case BUTTON_UP: case SNAKE_UP:
if (dir!=2) dir=0; if (dir!=2) dir=0;
break; break;
case BUTTON_RIGHT: case BUTTON_RIGHT:
if (dir!=3) dir=1; if (dir!=3) dir=1;
break; break;
case BUTTON_DOWN: case SNAKE_DOWN:
if (dir!=0) dir=2; if (dir!=0) dir=2;
break; break;
case BUTTON_LEFT: case BUTTON_LEFT:
@ -300,12 +313,12 @@ void game_init(void) {
button=rb->button_get(true); button=rb->button_get(true);
switch (button) { switch (button) {
case BUTTON_RIGHT: case BUTTON_RIGHT:
case BUTTON_UP: case SNAKE_UP:
if (level<9) if (level<9)
level++; level++;
break; break;
case BUTTON_LEFT: case BUTTON_LEFT:
case BUTTON_DOWN: case SNAKE_DOWN:
if (level>1) if (level>1)
level--; level--;
break; break;

View file

@ -57,6 +57,8 @@ Head and Tail are stored
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_OFF #define SNAKE2_QUIT BUTTON_OFF
#define SNAKE2_LEVEL_UP BUTTON_UP #define SNAKE2_LEVEL_UP BUTTON_UP
#define SNAKE2_LEVEL_UP2 BUTTON_RIGHT #define SNAKE2_LEVEL_UP2 BUTTON_RIGHT
@ -67,6 +69,8 @@ Head and Tail are stored
#define SNAKE2_PLAYPAUSE BUTTON_PLAY #define SNAKE2_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_OFF #define SNAKE2_QUIT BUTTON_OFF
#define SNAKE2_LEVEL_UP BUTTON_UP #define SNAKE2_LEVEL_UP BUTTON_UP
#define SNAKE2_LEVEL_DOWN BUTTON_DOWN #define SNAKE2_LEVEL_DOWN BUTTON_DOWN
@ -76,6 +80,8 @@ Head and Tail are stored
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_OFF #define SNAKE2_QUIT BUTTON_OFF
#define SNAKE2_LEVEL_UP BUTTON_UP #define SNAKE2_LEVEL_UP BUTTON_UP
#define SNAKE2_LEVEL_UP2 BUTTON_RIGHT #define SNAKE2_LEVEL_UP2 BUTTON_RIGHT
@ -84,6 +90,18 @@ Head and Tail are stored
#define SNAKE2_SELECT_MAZE BUTTON_REC #define SNAKE2_SELECT_MAZE BUTTON_REC
#define SNAKE2_SELECT_TYPE BUTTON_MODE #define SNAKE2_SELECT_TYPE BUTTON_MODE
#define SNAKE2_PLAYPAUSE BUTTON_ON #define SNAKE2_PLAYPAUSE BUTTON_ON
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define SNAKE2_UP BUTTON_MENU
#define SNAKE2_DOWN BUTTON_PLAY
#define SNAKE2_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define SNAKE2_LEVEL_UP BUTTON_SCROLL_FWD
#define SNAKE2_LEVEL_DOWN BUTTON_SCROLL_BACK
#define SNAKE2_SELECT_MAZE BUTTON_LEFT
#define SNAKE2_SELECT_TYPE BUTTON_RIGHT
#define SNAKE2_PLAYPAUSE BUTTON_SELECT
#else #else
#error "lacks keymapping" #error "lacks keymapping"
#endif #endif
@ -1247,8 +1265,8 @@ void game (void)
button = rb->button_get(false); button = rb->button_get(false);
switch (button) switch (button)
{ {
case BUTTON_UP: case SNAKE2_UP:
case BUTTON_UP | BUTTON_REPEAT: case SNAKE2_UP | BUTTON_REPEAT:
if (dir != SOUTH) set_direction(NORTH); if (dir != SOUTH) set_direction(NORTH);
break; break;
@ -1257,8 +1275,8 @@ void game (void)
if (dir != WEST) set_direction(EAST); if (dir != WEST) set_direction(EAST);
break; break;
case BUTTON_DOWN: case SNAKE2_DOWN:
case BUTTON_DOWN | BUTTON_REPEAT: case SNAKE2_DOWN | BUTTON_REPEAT:
if (dir != NORTH) set_direction(SOUTH); if (dir != NORTH) set_direction(SOUTH);
break; break;

View file

@ -34,6 +34,8 @@
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == PLAYER_PAD #if CONFIG_KEYPAD == PLAYER_PAD
#define SNOW_QUIT BUTTON_STOP #define SNOW_QUIT BUTTON_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define SNOW_QUIT BUTTON_MENU
#else #else
#define SNOW_QUIT BUTTON_OFF #define SNOW_QUIT BUTTON_OFF
#endif #endif

View file

@ -35,6 +35,8 @@
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_QUIT BUTTON_OFF #define SOKOBAN_QUIT BUTTON_OFF
#define SOKOBAN_UNDO BUTTON_ON #define SOKOBAN_UNDO BUTTON_ON
#define SOKOBAN_LEVEL_UP BUTTON_F3 #define SOKOBAN_LEVEL_UP BUTTON_F3
@ -42,6 +44,8 @@
#define SOKOBAN_LEVEL_REPEAT BUTTON_F2 #define SOKOBAN_LEVEL_REPEAT BUTTON_F2
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_QUIT BUTTON_OFF #define SOKOBAN_QUIT BUTTON_OFF
#define SOKOBAN_UNDO_PRE BUTTON_MENU #define SOKOBAN_UNDO_PRE BUTTON_MENU
#define SOKOBAN_UNDO (BUTTON_MENU | BUTTON_REL) #define SOKOBAN_UNDO (BUTTON_MENU | BUTTON_REL)
@ -51,11 +55,24 @@
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_QUIT BUTTON_OFF #define SOKOBAN_QUIT BUTTON_OFF
#define SOKOBAN_UNDO BUTTON_ON #define SOKOBAN_UNDO BUTTON_ON
#define SOKOBAN_LEVEL_UP BUTTON_MODE #define SOKOBAN_LEVEL_UP BUTTON_MODE
#define SOKOBAN_LEVEL_DOWN BUTTON_REC #define SOKOBAN_LEVEL_DOWN BUTTON_REC
#define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT #define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define SOKOBAN_UP BUTTON_MENU
#define SOKOBAN_DOWN BUTTON_PLAY
#define SOKOBAN_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define SOKOBAN_UNDO_PRE BUTTON_SELECT
#define SOKOBAN_UNDO (BUTTON_SELECT | BUTTON_REL)
#define SOKOBAN_LEVEL_UP (BUTTON_SELECT | BUTTON_RIGHT)
#define SOKOBAN_LEVEL_DOWN (BUTTON_SELECT | BUTTON_LEFT)
#define SOKOBAN_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY)
#endif #endif
#if LCD_DEPTH > 1 #if LCD_DEPTH > 1
@ -180,7 +197,7 @@ static void add_undo(int button)
bool storable; bool storable;
if ((button != BUTTON_LEFT) && (button != BUTTON_RIGHT) && if ((button != BUTTON_LEFT) && (button != BUTTON_RIGHT) &&
(button != BUTTON_UP) && (button != BUTTON_DOWN)) (button != SOKOBAN_UP) && (button != SOKOBAN_DOWN))
return; return;
if (undo_info.count != 0) { if (undo_info.count != 0) {
@ -223,13 +240,13 @@ static void add_undo(int button)
storable = false; storable = false;
break; break;
case BUTTON_UP: case SOKOBAN_UP:
row--; row--;
if (row < 0) if (row < 0)
storable = false; storable = false;
break; break;
case BUTTON_DOWN: case SOKOBAN_DOWN:
row++; row++;
if (row >= ROWS) if (row >= ROWS)
storable = false; storable = false;
@ -514,7 +531,7 @@ static bool sokoban_loop(void)
switch(button) switch(button)
{ {
case BUTTON_OFF: case SOKOBAN_QUIT:
/* get out of here */ /* get out of here */
return PLUGIN_OK; return PLUGIN_OK;
@ -691,7 +708,7 @@ static bool sokoban_loop(void)
current_info.player.col++; current_info.player.col++;
break; break;
case BUTTON_UP: case SOKOBAN_UP:
switch(current_info.board[r-1][c]) { switch(current_info.board[r-1][c]) {
case ' ': /* if it is a blank spot */ case ' ': /* if it is a blank spot */
case '.': /* if it is a home spot */ case '.': /* if it is a home spot */
@ -756,7 +773,7 @@ static bool sokoban_loop(void)
current_info.player.row--; current_info.player.row--;
break; break;
case BUTTON_DOWN: case SOKOBAN_DOWN:
switch(current_info.board[r+1][c]) { switch(current_info.board[r+1][c]) {
case ' ': /* if it is a blank spot */ case ' ': /* if it is a blank spot */
case '.': /* if it is a home spot */ case '.': /* if it is a home spot */

View file

@ -101,6 +101,22 @@ static struct plugin_api* rb;
#define SOL_MENU_RUN2 BUTTON_RIGHT #define SOL_MENU_RUN2 BUTTON_RIGHT
#define SOL_MENU_INFO BUTTON_MODE #define SOL_MENU_INFO BUTTON_MODE
#define SOL_MENU_INFO2 BUTTON_REC #define SOL_MENU_INFO2 BUTTON_REC
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define SOL_UP BUTTON_MENU
#define SOL_DOWN BUTTON_PLAY
#define SOL_LEFT BUTTON_LEFT
#define SOL_RIGHT BUTTON_RIGHT
#define SOL_MOVE BUTTON_SELECT
#define SOL_DRAW (BUTTON_SELECT | BUTTON_PLAY)
#define SOL_REM2CUR (BUTTON_SELECT | BUTTON_LEFT)
#define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_RIGHT)
#define SOL_REM2STACK (BUTTON_LEFT | BUTTON_RIGHT)
#define SOL_MENU_RUN BUTTON_SELECT
#define SOL_MENU_INFO (BUTTON_PLAY | BUTTON_MENU)
#endif #endif
/* common help definitions */ /* common help definitions */
@ -132,6 +148,13 @@ static struct plugin_api* rb;
#define HELP_SOL_CUR2STACK "SELECT..: Put the card under the cursor on one of the 4 final stacks." #define HELP_SOL_CUR2STACK "SELECT..: Put the card under the cursor on one of the 4 final stacks."
#define HELP_SOL_REM2STACK "PLAY+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks." #define HELP_SOL_REM2STACK "PLAY+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks."
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define HELP_SOL_MOVE "SELECT: Select cards, Move cards, reveal hidden cards ..."
#define HELP_SOL_DRAW "SELECT+PLAY: Un-select a card if it was selected. Else, draw 3 new cards out of the remains' stack."
#define HELP_SOL_REM2CUR "SELECT+LEFT: Put the card on top of the remains' stack on top of the cursor."
#define HELP_SOL_CUR2STACK "SELECT+RIGHT..: Put the card under the cursor on one of the 4 final stacks."
#define HELP_SOL_REM2STACK "LEFT+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks."
#endif #endif
#if LCD_DEPTH>1 #if LCD_DEPTH>1
@ -540,11 +563,11 @@ int solitaire_menu(unsigned char when)
button = rb->button_get(true); button = rb->button_get(true);
switch(button){ switch(button){
case BUTTON_UP: case SOL_UP:
cursor = (cursor + MENU_LENGTH - 1)%MENU_LENGTH; cursor = (cursor + MENU_LENGTH - 1)%MENU_LENGTH;
break; break;
case BUTTON_DOWN: case SOL_DOWN:
cursor = (cursor + 1)%MENU_LENGTH; cursor = (cursor + 1)%MENU_LENGTH;
break; break;
@ -576,7 +599,7 @@ int solitaire_menu(unsigned char when)
rb->splash(HZ, true, "Solitaire for Rockbox by dionoea"); rb->splash(HZ, true, "Solitaire for Rockbox by dionoea");
break; break;
case BUTTON_OFF: case SOL_QUIT:
return MENU_QUIT; return MENU_QUIT;
default: default:

View file

@ -62,6 +62,8 @@
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define STAR_QUIT BUTTON_OFF #define STAR_QUIT BUTTON_OFF
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_ON #define STAR_TOGGLE_CONTROL BUTTON_ON
#define STAR_TOGGLE_CONTROL2 BUTTON_PLAY #define STAR_TOGGLE_CONTROL2 BUTTON_PLAY
#define STAR_LEVEL_UP BUTTON_F3 #define STAR_LEVEL_UP BUTTON_F3
@ -73,6 +75,8 @@
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define STAR_QUIT BUTTON_OFF #define STAR_QUIT BUTTON_OFF
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL_PRE BUTTON_MENU #define STAR_TOGGLE_CONTROL_PRE BUTTON_MENU
#define STAR_TOGGLE_CONTROL (BUTTON_MENU | BUTTON_REL) #define STAR_TOGGLE_CONTROL (BUTTON_MENU | BUTTON_REL)
#define STAR_LEVEL_UP (BUTTON_MENU | BUTTON_RIGHT) #define STAR_LEVEL_UP (BUTTON_MENU | BUTTON_RIGHT)
@ -83,12 +87,27 @@
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define STAR_QUIT BUTTON_OFF #define STAR_QUIT BUTTON_OFF
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL_PRE BUTTON_MODE #define STAR_TOGGLE_CONTROL_PRE BUTTON_MODE
#define STAR_TOGGLE_CONTROL (BUTTON_MODE | BUTTON_REL) #define STAR_TOGGLE_CONTROL (BUTTON_MODE | BUTTON_REL)
#define STAR_LEVEL_UP (BUTTON_MODE | BUTTON_RIGHT) #define STAR_LEVEL_UP (BUTTON_MODE | BUTTON_RIGHT)
#define STAR_LEVEL_DOWN (BUTTON_MODE | BUTTON_LEFT) #define STAR_LEVEL_DOWN (BUTTON_MODE | BUTTON_LEFT)
#define STAR_LEVEL_REPEAT (BUTTON_MODE | BUTTON_UP) #define STAR_LEVEL_REPEAT (BUTTON_MODE | BUTTON_UP)
#define STAR_MENU_RUN BUTTON_RIGHT #define STAR_MENU_RUN BUTTON_RIGHT
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define STAR_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define STAR_UP BUTTON_SCROLL_BACK
#define STAR_DOWN BUTTON_SCROLL_FWD
#define STAR_TOGGLE_CONTROL_PRE BUTTON_MENU
#define STAR_TOGGLE_CONTROL (BUTTON_MENU | BUTTON_REL)
#define STAR_LEVEL_UP (BUTTON_SELECT | BUTTON_RIGHT)
#define STAR_LEVEL_DOWN (BUTTON_SELECT | BUTTON_LEFT)
#define STAR_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY)
#define STAR_MENU_RUN BUTTON_RIGHT
#endif #endif
/* function returns because of USB? */ /* function returns because of USB? */
@ -427,7 +446,7 @@ static void star_display_text(char *str, bool waitkey)
switch (key) switch (key)
{ {
case STAR_MENU_RUN: case STAR_MENU_RUN:
case BUTTON_DOWN: case STAR_DOWN:
go_on = true; go_on = true;
break; break;
@ -601,11 +620,11 @@ static int star_run_game(void)
move_x = 1; move_x = 1;
break; break;
case BUTTON_UP: case STAR_UP:
move_y = -1; move_y = -1;
break; break;
case BUTTON_DOWN: case STAR_DOWN:
move_y = 1; move_y = 1;
break; break;
@ -777,11 +796,11 @@ static int star_menu(void)
{ {
case STAR_QUIT: case STAR_QUIT:
return PLUGIN_OK; return PLUGIN_OK;
case BUTTON_UP: case STAR_UP:
if (menu_y > 0) if (menu_y > 0)
move_y = -1; move_y = -1;
break; break;
case BUTTON_DOWN: case STAR_DOWN:
if (menu_y < 3) if (menu_y < 3)
move_y = 1; move_y = 1;
break; break;

View file

@ -24,11 +24,19 @@
static struct plugin_api* rb; /* global api struct pointer */ static struct plugin_api* rb; /* global api struct pointer */
/* Key assignement */ /* Key assignement */
#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define STARFIELD_QUIT BUTTON_MENU
#define STARFIELD_INCREASE_ZMOVE BUTTON_SCROLL_FWD
#define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_BACK
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#else
#define STARFIELD_QUIT BUTTON_OFF #define STARFIELD_QUIT BUTTON_OFF
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP #define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#endif
#define LCD_CENTER_X (LCD_WIDTH/2) #define LCD_CENTER_X (LCD_WIDTH/2)
#define LCD_CENTER_Y (LCD_HEIGHT/2) #define LCD_CENTER_Y (LCD_HEIGHT/2)

View file

@ -28,6 +28,8 @@ static int fontwidth, fontheight;
#if CONFIG_KEYPAD == PLAYER_PAD #if CONFIG_KEYPAD == PLAYER_PAD
#define STATS_STOP BUTTON_STOP #define STATS_STOP BUTTON_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define STATS_STOP BUTTON_MENU
#else #else
#define STATS_STOP BUTTON_OFF #define STATS_STOP BUTTON_OFF
#endif #endif

View file

@ -61,6 +61,13 @@
#define STOPWATCH_LAP_TIMER BUTTON_ON #define STOPWATCH_LAP_TIMER BUTTON_ON
#define STOPWATCH_SCROLL_UP BUTTON_RIGHT #define STOPWATCH_SCROLL_UP BUTTON_RIGHT
#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT #define STOPWATCH_SCROLL_DOWN BUTTON_LEFT
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define STOPWATCH_QUIT BUTTON_MENU
#define STOPWATCH_START_STOP BUTTON_SELECT
#define STOPWATCH_RESET_TIMER BUTTON_LEFT
#define STOPWATCH_LAP_TIMER BUTTON_RIGHT
#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_FWD
#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_BACK
#endif #endif
static struct plugin_api* rb; static struct plugin_api* rb;

View file

@ -68,12 +68,16 @@ Example ".ss" file, and one with a saved state:
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define SUDOKU_BUTTON_QUIT BUTTON_OFF #define SUDOKU_BUTTON_QUIT BUTTON_OFF
#define SUDOKU_BUTTON_UP BUTTON_UP
#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
#define SUDOKU_BUTTON_TOGGLE BUTTON_PLAY #define SUDOKU_BUTTON_TOGGLE BUTTON_PLAY
#define SUDOKU_BUTTON_MENU BUTTON_F1 #define SUDOKU_BUTTON_MENU BUTTON_F1
#define SUDOKU_BUTTON_POSSIBLE BUTTON_F2 #define SUDOKU_BUTTON_POSSIBLE BUTTON_F2
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define SUDOKU_BUTTON_QUIT BUTTON_OFF #define SUDOKU_BUTTON_QUIT BUTTON_OFF
#define SUDOKU_BUTTON_UP BUTTON_UP
#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
#define SUDOKU_BUTTON_ALTTOGGLE (BUTTON_MENU | BUTTON_DOWN) #define SUDOKU_BUTTON_ALTTOGGLE (BUTTON_MENU | BUTTON_DOWN)
#define SUDOKU_BUTTON_TOGGLE_PRE BUTTON_MENU #define SUDOKU_BUTTON_TOGGLE_PRE BUTTON_MENU
#define SUDOKU_BUTTON_TOGGLE (BUTTON_MENU | BUTTON_REL) #define SUDOKU_BUTTON_TOGGLE (BUTTON_MENU | BUTTON_REL)
@ -84,11 +88,23 @@ Example ".ss" file, and one with a saved state:
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SUDOKU_BUTTON_QUIT BUTTON_OFF #define SUDOKU_BUTTON_QUIT BUTTON_OFF
#define SUDOKU_BUTTON_UP BUTTON_UP
#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_ON #define SUDOKU_BUTTON_ALTTOGGLE BUTTON_ON
#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT #define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT
#define SUDOKU_BUTTON_MENU BUTTON_MODE #define SUDOKU_BUTTON_MENU BUTTON_MODE
#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC #define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define SUDOKU_BUTTON_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define SUDOKU_BUTTON_UP BUTTON_SCROLL_BACK
#define SUDOKU_BUTTON_DOWN BUTTON_SCROLL_FWD
#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT
#define SUDOKU_BUTTON_MENU BUTTON_MENU
#define SUDOKU_BUTTON_POSSIBLE (BUTTON_SELECT | BUTTON_LEFT)
#elif #elif
#error SUDOKU: Unsupported keypad #error SUDOKU: Unsupported keypad
#endif #endif
@ -2195,8 +2211,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
break; break;
/* move cursor up */ /* move cursor up */
case BUTTON_UP: case SUDOKU_BUTTON_UP:
case (BUTTON_UP | BUTTON_REPEAT): case (SUDOKU_BUTTON_UP | BUTTON_REPEAT):
if (state.y==0) { if (state.y==0) {
move_cursor(&state,state.x,8); move_cursor(&state,state.x,8);
} else { } else {
@ -2205,8 +2221,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
break; break;
/* move cursor down */ /* move cursor down */
case BUTTON_DOWN: case SUDOKU_BUTTON_DOWN:
case (BUTTON_DOWN | BUTTON_REPEAT): case (SUDOKU_BUTTON_DOWN | BUTTON_REPEAT):
if (state.y==8) { if (state.y==8) {
move_cursor(&state,state.x,0); move_cursor(&state,state.x,0);
} else { } else {

View file

@ -119,6 +119,16 @@
#define VIEWER_COLUMN_LEFT (BUTTON_ON | BUTTON_LEFT) #define VIEWER_COLUMN_LEFT (BUTTON_ON | BUTTON_LEFT)
#define VIEWER_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT) #define VIEWER_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT)
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_NANO_PAD)
#define VIEWER_QUIT BUTTON_MENU
#define VIEWER_PAGE_UP BUTTON_SCROLL_FWD
#define VIEWER_PAGE_DOWN BUTTON_SCROLL_BACK
#define VIEWER_SCREEN_LEFT BUTTON_LEFT
#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT
#define VIEWER_MODE_WRAP (BUTTON_SELECT | BUTTON_LEFT)
#define VIEWER_MODE_LINE (BUTTON_SELECT | BUTTON_PLAY)
#define VIEWER_MODE_WIDTH (BUTTON_SELECT | BUTTON_RIGHT)
#endif #endif
enum { enum {