diff options
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/button.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index cc8a1b561a..6e30cb116d 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c | |||
@@ -86,6 +86,7 @@ static int button_read(void); | |||
86 | 86 | ||
87 | #ifdef HAVE_TOUCHSCREEN | 87 | #ifdef HAVE_TOUCHSCREEN |
88 | static int last_touchscreen_touch; | 88 | static int last_touchscreen_touch; |
89 | static int lastdata = 0; | ||
89 | #endif | 90 | #endif |
90 | #if defined(HAVE_HEADPHONE_DETECTION) | 91 | #if defined(HAVE_HEADPHONE_DETECTION) |
91 | static struct timeout hp_detect_timeout; /* Debouncer for headphone plug/unplug */ | 92 | static struct timeout hp_detect_timeout; /* Debouncer for headphone plug/unplug */ |
@@ -304,6 +305,7 @@ static void button_tick(void) | |||
304 | } | 305 | } |
305 | } | 306 | } |
306 | lastbtn = btn & ~(BUTTON_REL | BUTTON_REPEAT); | 307 | lastbtn = btn & ~(BUTTON_REL | BUTTON_REPEAT); |
308 | lastdata = data; | ||
307 | } | 309 | } |
308 | 310 | ||
309 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | 311 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ |
@@ -575,6 +577,14 @@ int button_status(void) | |||
575 | return lastbtn; | 577 | return lastbtn; |
576 | } | 578 | } |
577 | 579 | ||
580 | #ifdef HAVE_BUTTON_DATA | ||
581 | int button_status_wdata(int *pdata) | ||
582 | { | ||
583 | *pdata = lastdata; | ||
584 | return lastbtn; | ||
585 | } | ||
586 | #endif | ||
587 | |||
578 | void button_clear_queue(void) | 588 | void button_clear_queue(void) |
579 | { | 589 | { |
580 | queue_clear(&button_queue); | 590 | queue_clear(&button_queue); |