diff options
Diffstat (limited to 'apps/screens.c')
-rw-r--r-- | apps/screens.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/apps/screens.c b/apps/screens.c index 4d48372890..80b8484e35 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -288,6 +288,7 @@ int charging_screen(void) | |||
288 | 2 if USB was connected */ | 288 | 2 if USB was connected */ |
289 | int on_screen(void) | 289 | int on_screen(void) |
290 | { | 290 | { |
291 | int button; | ||
291 | static int pitch = 1000; | 292 | static int pitch = 1000; |
292 | bool exit = false; | 293 | bool exit = false; |
293 | bool used = false; | 294 | bool used = false; |
@@ -329,7 +330,8 @@ int on_screen(void) | |||
329 | 330 | ||
330 | /* use lastbutton, so the main loop can decide whether to | 331 | /* use lastbutton, so the main loop can decide whether to |
331 | exit to browser or not */ | 332 | exit to browser or not */ |
332 | switch (button_get(true)) { | 333 | button = button_get(true); |
334 | switch (button) { | ||
333 | case BUTTON_UP: | 335 | case BUTTON_UP: |
334 | case BUTTON_ON | BUTTON_UP: | 336 | case BUTTON_ON | BUTTON_UP: |
335 | case BUTTON_ON | BUTTON_UP | BUTTON_REPEAT: | 337 | case BUTTON_ON | BUTTON_UP | BUTTON_REPEAT: |
@@ -407,9 +409,10 @@ int on_screen(void) | |||
407 | used = true; | 409 | used = true; |
408 | break; | 410 | break; |
409 | 411 | ||
410 | case SYS_USB_CONNECTED: | 412 | default: |
411 | usb_screen(); | 413 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
412 | return 2; | 414 | return 2; |
415 | break; | ||
413 | } | 416 | } |
414 | } | 417 | } |
415 | 418 | ||
@@ -606,10 +609,11 @@ bool quick_screen(int context, int button) | |||
606 | 609 | ||
607 | case BUTTON_OFF | BUTTON_REPEAT: | 610 | case BUTTON_OFF | BUTTON_REPEAT: |
608 | return false; | 611 | return false; |
609 | 612 | ||
610 | case SYS_USB_CONNECTED: | 613 | default: |
611 | usb_screen(); | 614 | if(default_event_handler(key) == SYS_USB_CONNECTED) |
612 | return true; | 615 | return true; |
616 | break; | ||
613 | } | 617 | } |
614 | } | 618 | } |
615 | 619 | ||
@@ -1082,9 +1086,10 @@ bool set_time_screen(char* string, struct tm *tm) | |||
1082 | tm->tm_year = -1; | 1086 | tm->tm_year = -1; |
1083 | break; | 1087 | break; |
1084 | 1088 | ||
1085 | case SYS_USB_CONNECTED: | 1089 | default: |
1086 | usb_screen(); | 1090 | if (default_event_handler(button) == SYS_USB_CONNECTED) |
1087 | return true; | 1091 | return true; |
1092 | break; | ||
1088 | } | 1093 | } |
1089 | } | 1094 | } |
1090 | 1095 | ||
@@ -1112,6 +1117,9 @@ bool shutdown_screen(void) | |||
1112 | break; | 1117 | break; |
1113 | 1118 | ||
1114 | default: | 1119 | default: |
1120 | if(default_event_handler(button) == SYS_USB_CONNECTED) | ||
1121 | return true; | ||
1122 | |||
1115 | /* Return if any other button was pushed, or if there | 1123 | /* Return if any other button was pushed, or if there |
1116 | was a timeout. We ignore RELEASE events, since we may | 1124 | was a timeout. We ignore RELEASE events, since we may |
1117 | have been called by a button down event, and the user might | 1125 | have been called by a button down event, and the user might |