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,
|
appsversion,
|
||||||
/* new stuff at the end, sort into place next time
|
/* new stuff at the end, sort into place next time
|
||||||
the API gets incompatible */
|
the API gets incompatible */
|
||||||
|
|
||||||
|
button_status_wdata,
|
||||||
};
|
};
|
||||||
|
|
||||||
int plugin_load(const char* plugin, const void* parameter)
|
int plugin_load(const char* plugin, const void* parameter)
|
||||||
|
|
|
@ -836,6 +836,8 @@ struct plugin_api {
|
||||||
const char *appsversion;
|
const char *appsversion;
|
||||||
/* new stuff at the end, sort into place next time
|
/* new stuff at the end, sort into place next time
|
||||||
the API gets incompatible */
|
the API gets incompatible */
|
||||||
|
|
||||||
|
int (*button_status_wdata)(int *pdata);
|
||||||
};
|
};
|
||||||
|
|
||||||
/* plugin header */
|
/* plugin header */
|
||||||
|
|
|
@ -86,6 +86,7 @@ static int button_read(void);
|
||||||
|
|
||||||
#ifdef HAVE_TOUCHSCREEN
|
#ifdef HAVE_TOUCHSCREEN
|
||||||
static int last_touchscreen_touch;
|
static int last_touchscreen_touch;
|
||||||
|
static int lastdata = 0;
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_HEADPHONE_DETECTION)
|
#if defined(HAVE_HEADPHONE_DETECTION)
|
||||||
static struct timeout hp_detect_timeout; /* Debouncer for headphone plug/unplug */
|
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);
|
lastbtn = btn & ~(BUTTON_REL | BUTTON_REPEAT);
|
||||||
|
lastdata = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_ADJUSTABLE_CPU_FREQ
|
#ifdef HAVE_ADJUSTABLE_CPU_FREQ
|
||||||
|
@ -575,6 +577,14 @@ int button_status(void)
|
||||||
return lastbtn;
|
return lastbtn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_BUTTON_DATA
|
||||||
|
int button_status_wdata(int *pdata)
|
||||||
|
{
|
||||||
|
*pdata = lastdata;
|
||||||
|
return lastbtn;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void button_clear_queue(void)
|
void button_clear_queue(void)
|
||||||
{
|
{
|
||||||
queue_clear(&button_queue);
|
queue_clear(&button_queue);
|
||||||
|
|
|
@ -37,6 +37,9 @@ long button_get (bool block);
|
||||||
long button_get_w_tmo(int ticks);
|
long button_get_w_tmo(int ticks);
|
||||||
intptr_t button_get_data(void);
|
intptr_t button_get_data(void);
|
||||||
int button_status(void);
|
int button_status(void);
|
||||||
|
#ifdef HAVE_BUTTON_DATA
|
||||||
|
int button_status_wdata(int *pdata);
|
||||||
|
#endif
|
||||||
void button_clear_queue(void);
|
void button_clear_queue(void);
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
void button_set_flip(bool flip); /* turn 180 degrees */
|
void button_set_flip(bool flip); /* turn 180 degrees */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue