mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 02:27:39 -04:00
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
This commit is contained in:
parent
436776ebb8
commit
fb50f46866
4 changed files with 17 additions and 0 deletions
|
@ -668,6 +668,8 @@ static const struct plugin_api rockbox_api = {
|
|||
appsversion,
|
||||
/* new stuff at the end, sort into place next time
|
||||
the API gets incompatible */
|
||||
|
||||
button_status_wdata,
|
||||
};
|
||||
|
||||
int plugin_load(const char* plugin, const void* parameter)
|
||||
|
|
|
@ -836,6 +836,8 @@ struct plugin_api {
|
|||
const char *appsversion;
|
||||
/* new stuff at the end, sort into place next time
|
||||
the API gets incompatible */
|
||||
|
||||
int (*button_status_wdata)(int *pdata);
|
||||
};
|
||||
|
||||
/* plugin header */
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue