forked from len0rd/rockbox
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
This commit is contained in:
parent
7c2496d35a
commit
79afbafa66
7 changed files with 235 additions and 91 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue