diff options
Diffstat (limited to 'apps/wps.c')
-rw-r--r-- | apps/wps.c | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/apps/wps.c b/apps/wps.c index 8943a4d2fb..86ce4b09c1 100644 --- a/apps/wps.c +++ b/apps/wps.c | |||
@@ -48,6 +48,8 @@ | |||
48 | #endif | 48 | #endif |
49 | #include "lang.h" | 49 | #include "lang.h" |
50 | #include "bookmark.h" | 50 | #include "bookmark.h" |
51 | #include "misc.h" | ||
52 | |||
51 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ | 53 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ |
52 | /* 3% of 30min file == 54s step size */ | 54 | /* 3% of 30min file == 54s step size */ |
53 | #define MIN_FF_REWIND_STEP 500 | 55 | #define MIN_FF_REWIND_STEP 500 |
@@ -296,9 +298,9 @@ bool browse_id3(void) | |||
296 | exit = true; | 298 | exit = true; |
297 | break; | 299 | break; |
298 | 300 | ||
299 | case SYS_USB_CONNECTED: | 301 | default: |
300 | usb_screen(); | 302 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
301 | return true; | 303 | return true; |
302 | break; | 304 | break; |
303 | } | 305 | } |
304 | } | 306 | } |
@@ -419,11 +421,12 @@ static bool ffwd_rew(int button) | |||
419 | exit = true; | 421 | exit = true; |
420 | break; | 422 | break; |
421 | 423 | ||
422 | case SYS_USB_CONNECTED: | 424 | default: |
423 | status_set_ffmode(0); | 425 | if(default_event_handler(button) == SYS_USB_CONNECTED) { |
424 | usb_screen(); | 426 | status_set_ffmode(0); |
425 | usb = true; | 427 | usb = true; |
426 | exit = true; | 428 | exit = true; |
429 | } | ||
427 | break; | 430 | break; |
428 | } | 431 | } |
429 | if (!exit) | 432 | if (!exit) |
@@ -511,10 +514,12 @@ static bool menu(void) | |||
511 | while (button_get(false)); /* clear button queue */ | 514 | while (button_get(false)); /* clear button queue */ |
512 | break; | 515 | break; |
513 | 516 | ||
514 | case SYS_USB_CONNECTED: | 517 | default: |
515 | usb_screen(); | 518 | if(default_event_handler(button) == SYS_USB_CONNECTED) { |
516 | keys_locked = false; | 519 | keys_locked = false; |
517 | return true; | 520 | return true; |
521 | } | ||
522 | break; | ||
518 | } | 523 | } |
519 | 524 | ||
520 | if (keys_locked) { | 525 | if (keys_locked) { |
@@ -754,19 +759,20 @@ int wps_show(void) | |||
754 | if (button && ignore_keyup) | 759 | if (button && ignore_keyup) |
755 | { | 760 | { |
756 | ignore_keyup = false; | 761 | ignore_keyup = false; |
757 | if (button & BUTTON_REL && button != SYS_USB_CONNECTED) | 762 | /* Negative events are system events */ |
763 | if (button >= 0 && button & BUTTON_REL ) | ||
758 | continue; | 764 | continue; |
759 | } | 765 | } |
760 | 766 | ||
761 | /* ignore non-remote buttons when keys are locked */ | 767 | /* ignore non-remote buttons when keys are locked */ |
762 | if (keys_locked && | 768 | if (keys_locked && |
769 | ! ((button < 0) || | ||
763 | #ifdef HAVE_RECORDER_KEYPAD | 770 | #ifdef HAVE_RECORDER_KEYPAD |
764 | ! ((button & BUTTON_F1) || | 771 | (button & BUTTON_F1) || |
765 | #else | 772 | #else |
766 | ! ((button & BUTTON_MENU) || | 773 | (button & BUTTON_MENU) || |
767 | #endif | 774 | #endif |
768 | (button == BUTTON_NONE) || | 775 | (button == BUTTON_NONE) |
769 | (button == SYS_USB_CONNECTED) | ||
770 | #ifdef BUTTON_REMOTE | 776 | #ifdef BUTTON_REMOTE |
771 | || (button & BUTTON_REMOTE) | 777 | || (button & BUTTON_REMOTE) |
772 | #endif | 778 | #endif |
@@ -970,13 +976,14 @@ int wps_show(void) | |||
970 | exit = true; | 976 | exit = true; |
971 | break; | 977 | break; |
972 | 978 | ||
973 | case SYS_USB_CONNECTED: | ||
974 | usb_screen(); | ||
975 | return SYS_USB_CONNECTED; | ||
976 | |||
977 | case BUTTON_NONE: /* Timeout */ | 979 | case BUTTON_NONE: /* Timeout */ |
978 | update_track = true; | 980 | update_track = true; |
979 | break; | 981 | break; |
982 | |||
983 | default: | ||
984 | if(default_event_handler(button) == SYS_USB_CONNECTED) | ||
985 | return SYS_USB_CONNECTED; | ||
986 | break; | ||
980 | } | 987 | } |
981 | 988 | ||
982 | if (update_track) | 989 | if (update_track) |