From fb50f468666958564656386b7181a4973e042ebc Mon Sep 17 00:00:00 2001 From: Karl Kurbjun Date: Mon, 5 Oct 2009 02:09:00 +0000 Subject: Button Driver: Add button_status support with data - allows for reading the /immediate/ value of the touchscreen git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22933 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/button.c | 10 ++++++++++ firmware/export/button.h | 3 +++ 2 files changed, 13 insertions(+) (limited to 'firmware') 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); #ifdef HAVE_TOUCHSCREEN static int last_touchscreen_touch; +static int lastdata = 0; #endif #if defined(HAVE_HEADPHONE_DETECTION) static struct timeout hp_detect_timeout; /* Debouncer for headphone plug/unplug */ @@ -304,6 +305,7 @@ static void button_tick(void) } } lastbtn = btn & ~(BUTTON_REL | BUTTON_REPEAT); + lastdata = data; } #ifdef HAVE_ADJUSTABLE_CPU_FREQ @@ -575,6 +577,14 @@ int button_status(void) return lastbtn; } +#ifdef HAVE_BUTTON_DATA +int button_status_wdata(int *pdata) +{ + *pdata = lastdata; + return lastbtn; +} +#endif + void button_clear_queue(void) { queue_clear(&button_queue); diff --git a/firmware/export/button.h b/firmware/export/button.h index 3947f07207..3aac1af9d6 100644 --- a/firmware/export/button.h +++ b/firmware/export/button.h @@ -37,6 +37,9 @@ long button_get (bool block); long button_get_w_tmo(int ticks); intptr_t button_get_data(void); int button_status(void); +#ifdef HAVE_BUTTON_DATA +int button_status_wdata(int *pdata); +#endif void button_clear_queue(void); #ifdef HAVE_LCD_BITMAP void button_set_flip(bool flip); /* turn 180 degrees */ -- cgit v1.2.3