summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2004-10-17 00:54:09 +0000
committerJens Arnold <amiconn@rockbox.org>2004-10-17 00:54:09 +0000
commit79afbafa669bee52059d980ae887dfa06948c252 (patch)
treeb359f4cb336fbd477ec990a37b86a73f8266e455 /apps/plugins
parent7c2496d35a1046d6383a7df8a78a1e9ba5cf7607 (diff)
Plugin rework 2: (most) Compile-time keyboard configuration, for Ondio adaption. (all) Now using the default event handler, standard placement is now in switch() default case. (calendar, chip8) Fixed usb handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5295 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/SOURCES22
-rw-r--r--apps/plugins/bounce.c27
-rw-r--r--apps/plugins/calculator.c84
-rw-r--r--apps/plugins/calendar.c4
-rw-r--r--apps/plugins/chip8.c87
-rw-r--r--apps/plugins/clock.c46
-rw-r--r--apps/plugins/cube.c58
7 files changed, 236 insertions, 92 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index 80a6fde2e0..b2f632032c 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -1,4 +1,4 @@
-/* plugins common to both Player+Recorder model */
+/* plugins common to all models */
battery_test.c
favorites.c
firmware_flash.c
@@ -11,20 +11,24 @@ stopwatch.c
vbrfix.c
viewer.c
-#ifdef HAVE_LCD_BITMAP /* recorder model only */
+#ifdef HAVE_LCD_BITMAP /* Recorder/Ondio models only */
+bounce.c
+calculator.c
+chip8.c
+cube.c
grayscale.c
jpeg.c
rockblox.c
snow.c
-video.c
-#if CONFIG_KEYPAD != ONDIO_PAD
-/* gradually bring in the ones not working yet */
-bounce.c
-calculator.c
+video.c
+
+#ifdef HAVE_RTC /* Recorder models only */
calendar.c
-chip8.c
clock.c
-cube.c
+#endif
+
+#if CONFIG_KEYPAD != ONDIO_PAD
+/* gradually bring in the ones not working yet */
flipit.c
mandelbrot.c
minesweeper.c
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index d4244745bc..9cf1ccf341 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -30,6 +30,17 @@
#define XSPEED 3
#define YADD -4
+/* variable button definitions */
+#if CONFIG_KEYPAD == RECORDER_PAD
+#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
+#define BOUNCE_MODE (BUTTON_ON | BUTTON_REL)
+
+#elif CONFIG_KEYPAD == ONDIO_PAD
+#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
+#define BOUNCE_MODE (BUTTON_MENU | BUTTON_REL)
+
+#endif
+
static struct plugin_api* rb;
static unsigned char table[]={
@@ -172,6 +183,7 @@ struct counter values[]={
{"ydistt", -6},
};
+#ifdef HAVE_RTC
static unsigned char yminute[]={
53,53,52,52,51,50,49,47,46,44,42,40,38,36,34,32,29,27,25,23,21,19,17,16,14,13,12,11,11,10,10,10,11,11,12,13,14,16,17,19,21,23,25,27,29,31,34,36,38,40,42,44,46,47,49,50,51,52,52,53,
};
@@ -218,6 +230,7 @@ static void addclock(void)
yminute[(i+1)%60]);
}
}
+#endif /* HAVE_RTC */
static int scrollit(void)
{
@@ -236,10 +249,10 @@ static int scrollit(void)
while(1)
{
b = rb->button_get_w_tmo(HZ/10);
- if ( b == (BUTTON_OFF|BUTTON_REL) )
+ if ( b == BOUNCE_QUIT )
return 0;
- if ( b == (BUTTON_ON|BUTTON_REL) )
+ if ( b == BOUNCE_MODE )
return 1;
if ( rb->default_event_handler(b) == SYS_USB_CONNECTED )
@@ -256,7 +269,9 @@ static int scrollit(void)
yy += YADD;
xx+= LCD_WIDTH/LETTERS_ON_SCREEN;
}
+#ifdef HAVE_RTC
addclock();
+#endif
rb->lcd_update();
x-= XSPEED;
@@ -293,10 +308,10 @@ static int loopit(void)
while(1)
{
b = rb->button_get_w_tmo(HZ/10);
- if ( b == (BUTTON_OFF|BUTTON_REL) )
+ if ( b == BOUNCE_QUIT )
return 0;
- if ( b == (BUTTON_ON|BUTTON_REL) )
+ if ( b == BOUNCE_MODE )
return 1;
if ( rb->default_event_handler(b) == SYS_USB_CONNECTED )
@@ -309,7 +324,9 @@ static int loopit(void)
x+= speed[xsanke&15] + values[NUM_XADD].num;
rb->lcd_clear_display();
+#ifdef HAVE_RTC
addclock();
+#endif
if(timeout) {
switch(b) {
case BUTTON_LEFT:
@@ -402,7 +419,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
rb->lcd_setfont(FONT_UI);
- return h = 0 ? PLUGIN_OK : PLUGIN_USB_CONNECTED;
+ return (h == 0) ? PLUGIN_OK : PLUGIN_USB_CONNECTED;
}
#endif
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 35ebea6e70..5e8c31aa0f 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -104,6 +104,22 @@ F3: equal to "="
#define SIGN(x) ((x)<0?-1:1)
#define ABS(x) ((x)<0?-(x):(x))
+/* variable button definitions */
+#if CONFIG_KEYPAD == RECORDER_PAD
+#define CALCULATOR_QUIT BUTTON_OFF
+#define CALCULATOR_INPUT BUTTON_PLAY
+#define CALCULATOR_CALC BUTTON_F3
+#define CALCULATOR_OPERATORS BUTTON_F2
+#define CALCULATOR_CLEAR BUTTON_F1
+
+#elif CONFIG_KEYPAD == ONDIO_PAD
+#define CALCULATOR_QUIT BUTTON_OFF
+#define CALCULATOR_INPUT_CALC_PRE BUTTON_MENU
+#define CALCULATOR_INPUT (BUTTON_MENU | BUTTON_REL)
+#define CALCULATOR_CALC (BUTTON_MENU | BUTTON_REPEAT)
+
+#endif
+
static struct plugin_api* rb;
enum {
@@ -187,6 +203,7 @@ int m, n, prev_m, prev_n; /* position index for button */
#define CAL_BUTTON (m*5+n)
int btn = BUTTON_NONE;
+int lastbtn = BUTTON_NONE;
/* Status of calculator */
enum {cal_normal, /* 0, normal status, display result */
@@ -1090,7 +1107,7 @@ Handle buttons on basic screen
----------------------------------------------------------------------- */
void basicButtonsProcess(void){
switch (btn) {
- case BUTTON_PLAY:
+ case CALCULATOR_INPUT:
if (calStatus == cal_error && (CAL_BUTTON != btn_C) ) break;
flashButton(CAL_BUTTON);
switch( CAL_BUTTON ){
@@ -1143,7 +1160,9 @@ void basicButtonsProcess(void){
case btn_add:
if(!operInputted) {twoOperands(); operInputted = true;}
oper = buttonChar[basicButtons][m][n][0];
- case_BUTTON_F2: /* F2 shortkey entrance */
+#ifdef CALCULATOR_OPERATORS
+ case_cycle_operators: /* F2 shortkey entrance */
+#endif
calStatus = cal_normal;
formatResult();
operand = result;
@@ -1159,7 +1178,8 @@ void basicButtonsProcess(void){
} /* switch (CAL_BUTTON) */
break;
- case BUTTON_F2:
+#ifdef CALCULATOR_OPERATORS
+ case CALCULATOR_OPERATORS:
if (calStatus == cal_error) break;
if (!operInputted) {twoOperands(); operInputted = true;}
switch (oper){
@@ -1169,9 +1189,11 @@ void basicButtonsProcess(void){
case '-': oper = '*'; flashButton(btn_time); break;
case '*': oper = '/'; flashButton(btn_div); break;
}
- goto case_BUTTON_F2;
+ goto case_cycle_operators;
break;
- case BUTTON_F3:
+#endif
+
+ case CALCULATOR_CALC:
if (calStatus == cal_error) break;
flashButton(btn_equal);
goto case_btn_equal;
@@ -1186,7 +1208,7 @@ Handle buttons on scientific screen
----------------------------------------------------------------------- */
void sciButtonsProcess(void){
switch (btn) {
- case BUTTON_PLAY:
+ case CALCULATOR_INPUT:
if (calStatus == cal_error && (CAL_BUTTON != sci_sci) ) break;
flashButton(CAL_BUTTON);
switch( CAL_BUTTON ){
@@ -1225,7 +1247,8 @@ void sciButtonsProcess(void){
} /* switch (CAL_BUTTON) */
break;
- case BUTTON_F2:
+#ifdef CALCULATOR_OPERATORS
+ case CALCULATOR_OPERATORS:
if (calStatus == cal_error) break;
if (!operInputted) {twoOperands(); operInputted = true;}
switch (oper){
@@ -1240,7 +1263,9 @@ void sciButtonsProcess(void){
operand = result;
operandPower = power;
break;
- case BUTTON_F3:
+#endif
+
+ case CALCULATOR_CALC:
if (calStatus == cal_error) break;
formatResult();
calStatus = cal_normal;
@@ -1268,9 +1293,16 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
while (calStatus != cal_exit ) {
btn = rb->button_get_w_tmo(HZ/2);
switch (btn) {
- case BUTTON_PLAY:
- case BUTTON_F2:
- case BUTTON_F3:
+ case CALCULATOR_INPUT:
+ case CALCULATOR_CALC:
+#ifdef CALCULATOR_INPUT_CALC_PRE
+ if (lastbtn != CALCULATOR_INPUT_CALC_PRE)
+ break;
+ /* no unconditional break; here! */
+#endif
+#ifdef CALCULATOR_OPERATORS
+ case CALCULATOR_OPERATORS:
+#endif
switch(buttonGroup){
case basicButtons:
basicButtonsProcess();
@@ -1281,18 +1313,20 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
}
break;
- case BUTTON_F1:
- switch(calStatus){
- case cal_typing:
- case cal_dotted:
- doDelete();
- break;
- default: /* cal_normal, cal_error, cal_exit */
- clearMem();
- break;
- }
- printResult();
- break;
+#ifdef CALCULATOR_CLEAR
+ case CALCULATOR_CLEAR:
+ switch(calStatus){
+ case cal_typing:
+ case cal_dotted:
+ doDelete();
+ break;
+ default: /* cal_normal, cal_error, cal_exit */
+ clearMem();
+ break;
+ }
+ printResult();
+ break;
+#endif
case BUTTON_LEFT:
case BUTTON_LEFT | BUTTON_REPEAT:
@@ -1304,7 +1338,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
case BUTTON_DOWN | BUTTON_REPEAT:
moveButton();
break;
- case BUTTON_OFF:
+ case CALCULATOR_QUIT:
calStatus = cal_exit;
printResult();
break;
@@ -1313,6 +1347,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
return PLUGIN_USB_CONNECTED;
break;
} /* switch (btn) */
+ if (btn != BUTTON_NONE)
+ lastbtn = btn;
} /* while (calStatus != cal_exit ) */
/* rb->splash(HZ*2, true, "Hello world!"); */
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index b501115618..8870554290 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -592,6 +592,7 @@ static bool any_events(struct shown *shown, bool force)
if(rb->default_event_handler(button) == SYS_USB_CONNECTED)
been_in_usb_mode = true;
show_lines(lines_displayed,shown);
+ rb->lcd_update();
break;
}
}
@@ -707,8 +708,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
break;
case BUTTON_PLAY:
- if (any_events(&shown, true))
- rb->usb_screen();
+ any_events(&shown, true);
draw_calendar(&shown);
break;
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 91c25302dd..aa81b263dc 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -23,6 +23,27 @@
#ifdef HAVE_LCD_BITMAP
#ifndef SIMULATOR /* not unless lcd_blit() is implemented and mp3_xx stubbed */
+/* variable button definitions */
+#if CONFIG_KEYPAD == RECORDER_PAD /* only 9 out of 16 chip8 buttons */
+#define CHIP8_KEY1 BUTTON_F1
+#define CHIP8_KEY2 BUTTON_UP
+#define CHIP8_KEY3 BUTTON_F3
+#define CHIP8_KEY4 BUTTON_LEFT
+#define CHIP8_KEY5 BUTTON_PLAY
+#define CHIP8_KEY6 BUTTON_RIGHT
+#define CHIP8_KEY7 BUTTON_F2
+#define CHIP8_KEY8 BUTTON_DOWN
+#define CHIP8_KEY9 BUTTON_ON
+
+#elif CONFIG_KEYPAD == ONDIO_PAD /* even more limited */
+#define CHIP8_KEY2 BUTTON_UP
+#define CHIP8_KEY4 BUTTON_LEFT
+#define CHIP8_KEY5 BUTTON_MENU
+#define CHIP8_KEY6 BUTTON_RIGHT
+#define CHIP8_KEY8 BUTTON_DOWN
+
+#endif
+
static struct plugin_api* rb; /* here is a global api struct pointer */
unsigned char lcd_framebuf[8][64]; /* frame buffer in hardware fomat */
@@ -407,33 +428,43 @@ static void chip8_update_display(void)
static void chip8_keyboard(void)
{
- switch (rb->button_get(false))
+ int button = rb->button_get(false);
+ switch (button)
{
case BUTTON_OFF: /* Abort Emulator */
- chip8_running = false;
+ chip8_running = 0;
break;
- case BUTTON_UP: chip8_keys[2] = 1; break;
- case BUTTON_UP | BUTTON_REL: chip8_keys[2] = 0; break;
- case BUTTON_LEFT: chip8_keys[4] = 1; break;
- case BUTTON_LEFT | BUTTON_REL: chip8_keys[4] = 0; break;
- case BUTTON_RIGHT: chip8_keys[6] = 1; break;
- case BUTTON_RIGHT | BUTTON_REL: chip8_keys[6] = 0; break;
- case BUTTON_DOWN: chip8_keys[8] = 1; break;
- case BUTTON_DOWN | BUTTON_REL: chip8_keys[8] = 0; break;
- case BUTTON_PLAY: chip8_keys[5] = 1; break;
- case BUTTON_PLAY | BUTTON_REL: chip8_keys[5] = 0; break;
- case BUTTON_F1: chip8_keys[1] = 1; break;
- case BUTTON_F1 | BUTTON_REL: chip8_keys[1] = 0; break;
- case BUTTON_F2: chip8_keys[7] = 1; break;
- case BUTTON_F2 | BUTTON_REL: chip8_keys[7] = 0; break;
- case BUTTON_F3: chip8_keys[3] = 1; break;
- case BUTTON_F3 | BUTTON_REL: chip8_keys[3] = 0; break;
- case BUTTON_ON: chip8_keys[9] = 1; break;
- case BUTTON_ON | BUTTON_REL: chip8_keys[9] = 0; break;
-
- case SYS_USB_CONNECTED:
- chip8_running = false;
+ case CHIP8_KEY2: chip8_keys[2] = 1; break;
+ case CHIP8_KEY2 | BUTTON_REL: chip8_keys[2] = 0; break;
+ case CHIP8_KEY4: chip8_keys[4] = 1; break;
+ case CHIP8_KEY4 | BUTTON_REL: chip8_keys[4] = 0; break;
+ case CHIP8_KEY6: chip8_keys[6] = 1; break;
+ case CHIP8_KEY6 | BUTTON_REL: chip8_keys[6] = 0; break;
+ case CHIP8_KEY8: chip8_keys[8] = 1; break;
+ case CHIP8_KEY8 | BUTTON_REL: chip8_keys[8] = 0; break;
+ case CHIP8_KEY5: chip8_keys[5] = 1; break;
+ case CHIP8_KEY5 | BUTTON_REL: chip8_keys[5] = 0; break;
+#ifdef CHIP8_KEY1
+ case CHIP8_KEY1: chip8_keys[1] = 1; break;
+ case CHIP8_KEY1 | BUTTON_REL: chip8_keys[1] = 0; break;
+#endif
+#ifdef CHIP8_KEY3
+ case CHIP8_KEY3: chip8_keys[3] = 1; break;
+ case CHIP8_KEY3 | BUTTON_REL: chip8_keys[3] = 0; break;
+#endif
+#ifdef CHIP8_KEY7
+ case CHIP8_KEY7: chip8_keys[7] = 1; break;
+ case CHIP8_KEY7 | BUTTON_REL: chip8_keys[7] = 0; break;
+#endif
+#ifdef CHIP8_KEY9
+ case CHIP8_KEY9: chip8_keys[9] = 1; break;
+ case CHIP8_KEY9 | BUTTON_REL: chip8_keys[9] = 0; break;
+#endif
+
+ default:
+ if (rb->default_event_handler(button) == SYS_USB_CONNECTED)
+ chip8_running = 2; /* indicates stopped because of USB */
break;
}
}
@@ -556,7 +587,7 @@ bool chip8_run(char* file)
}
chip8_reset();
- while (chip8_running) chip8_execute();
+ while (chip8_running == 1) chip8_execute();
if (!is_playing)
{ /* stop it if we used audio */
@@ -592,7 +623,13 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
}
/* now go ahead and have fun! */
- return chip8_run(filename) ? PLUGIN_OK : PLUGIN_ERROR;
+ if (chip8_run(filename))
+ if (chip8_running == 0)
+ return PLUGIN_OK;
+ else
+ return PLUGIN_USB_CONNECTED;
+ else
+ return PLUGIN_ERROR;
}
#endif /* #ifndef SIMULATOR */
diff --git a/apps/plugins/clock.c b/apps/plugins/clock.c
index 9886eb8d6f..2695bab26d 100644
--- a/apps/plugins/clock.c
+++ b/apps/plugins/clock.c
@@ -1276,11 +1276,27 @@ bool show_credits(void)
return false;
}
+/**********************************************************************
+ * Cleanup on plugin return
+ **********************************************************************/
+
+void cleanup(void *parameter)
+{
+ (void)parameter; /* unused */
+
+ if(settings.save_mode == 1)
+ save_settings(true);
+
+ /* restore set backlight timeout */
+ rb->backlight_set_timeout(rb->global_settings->backlight_timeout);
+}
+
/******************
* F1 Screen - HELP
*****************/
bool f1_screen(void)
{
+ int button;
int screen = 1;
done = false;
@@ -1401,7 +1417,8 @@ bool f1_screen(void)
rb->lcd_update();
- switch(rb->button_get_w_tmo(HZ/4))
+ button = rb->button_get_w_tmo(HZ/4);
+ switch(button)
{
case BUTTON_F1: /* exit */
case BUTTON_OFF:
@@ -1418,9 +1435,10 @@ bool f1_screen(void)
screen++;
break;
- case SYS_USB_CONNECTED: /* leave for usb */
- return PLUGIN_USB_CONNECTED;
- rb->usb_screen();
+ default:
+ if(rb->default_event_handler_ex(button, cleanup, NULL)
+ == SYS_USB_CONNECTED)
+ return PLUGIN_USB_CONNECTED;
break;
}
}
@@ -2546,6 +2564,8 @@ void counter_options(void)
**********************************************************************/
enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
{
+ int button;
+
/* time ints */
int i;
int hour;
@@ -2802,16 +2822,11 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
/*************************
* Scan for button presses
************************/
- switch (rb->button_get_w_tmo(HZ/10))
+ button = rb->button_get_w_tmo(HZ/10);
+ switch (button)
{
case BUTTON_OFF: /* save and exit */
- if(settings.save_mode == 1)
- save_settings(true);
-
- /* restore set backlight timeout */
- rb->backlight_set_timeout(
- rb->global_settings->backlight_timeout);
-
+ cleanup(NULL);
return PLUGIN_OK;
case BUTTON_ON | BUTTON_REL: /* credit roll */
@@ -2889,9 +2904,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
select_mode();
break;
- case SYS_USB_CONNECTED: /* usb plugged? */
- rb->usb_screen();
- return PLUGIN_USB_CONNECTED;
+ default:
+ if(rb->default_event_handler_ex(button, cleanup, NULL)
+ == SYS_USB_CONNECTED)
+ return PLUGIN_USB_CONNECTED;
break;
}
}
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 17440ad496..b0c6daa656 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -24,6 +24,30 @@
/* Loops that the values are displayed */
#define DISP_TIME 30
+/* variable button definitions */
+#if CONFIG_KEYPAD == RECORDER_PAD
+#define CUBE_QUIT (BUTTON_OFF | BUTTON_REL)
+#define CUBE_X_INC BUTTON_RIGHT
+#define CUBE_X_DEC BUTTON_LEFT
+#define CUBE_Y_INC BUTTON_UP
+#define CUBE_Y_DEC BUTTON_DOWN
+#define CUBE_Z_INC BUTTON_F2
+#define CUBE_Z_DEC BUTTON_F1
+#define CUBE_HIGHSPEED BUTTON_PLAY
+
+#elif CONFIG_KEYPAD == ONDIO_PAD
+#define CUBE_QUIT (BUTTON_OFF | BUTTON_REL)
+#define CUBE_X_INC BUTTON_RIGHT
+#define CUBE_X_DEC BUTTON_LEFT
+#define CUBE_Y_INC BUTTON_UP
+#define CUBE_Y_DEC BUTTON_DOWN
+#define CUBE_Z_INC (BUTTON_MENU | BUTTON_UP)
+#define CUBE_Z_DEC (BUTTON_MENU | BUTTON_DOWN)
+#define CUBE_HIGHSPEED_PRE BUTTON_MENU
+#define CUBE_HIGHSPEED (BUTTON_MENU | BUTTON_REL)
+
+#endif
+
struct point_3D {
long x, y, z;
};
@@ -230,6 +254,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
int t_disp=0;
char buffer[30];
+ int button;
+ int lastbutton=0;
int xa=0;
int ya=0;
int za=0;
@@ -282,56 +308,64 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
if (za<0)
za+=360;
- switch(rb->button_get(false))
+ button = rb->button_get(false);
+ switch(button)
{
- case BUTTON_RIGHT:
+ case CUBE_X_INC:
xs+=1;
if (xs>10)
xs=10;
t_disp=DISP_TIME;
break;
- case BUTTON_LEFT:
+ case CUBE_X_DEC:
xs-=1;
if (xs<-10)
xs=-10;
t_disp=DISP_TIME;
break;
- case BUTTON_UP:
+ case CUBE_Y_INC:
ys+=1;
if (ys>10)
ys=10;
t_disp=DISP_TIME;
break;
- case BUTTON_DOWN:
+ case CUBE_Y_DEC:
ys-=1;
if (ys<-10)
ys=-10;
t_disp=DISP_TIME;
break;
- case BUTTON_F2:
+ case CUBE_Z_INC:
zs+=1;
if (zs>10)
zs=10;
t_disp=DISP_TIME;
break;
- case BUTTON_F1:
+ case CUBE_Z_DEC:
zs-=1;
if (zs<-10)
zs=-10;
t_disp=DISP_TIME;
break;
- case BUTTON_PLAY:
+ case CUBE_HIGHSPEED:
+#ifdef CUBE_HIGHSPEED_PRE
+ if (lastbutton!=CUBE_HIGHSPEED_PRE)
+ break;
+#endif
highspeed=!highspeed;
t_disp=DISP_TIME;
break;
- case BUTTON_OFF|BUTTON_REL:
+ case CUBE_QUIT:
exit=1;
break;
- case SYS_USB_CONNECTED:
- rb->usb_screen();
- return PLUGIN_USB_CONNECTED;
+ default:
+ if(rb->default_event_handler(button) == SYS_USB_CONNECTED)
+ return PLUGIN_USB_CONNECTED;
+ break;
}
+ if (button!=BUTTON_NONE)
+ lastbutton=button;
}
return PLUGIN_OK;