aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h3
-rw-r--r--boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h3
-rw-r--r--drivers/ginput/touch/ADS7843/gmouse_lld_ADS7843.c3
-rw-r--r--drivers/ginput/touch/FT5x06/gmouse_lld_FT5x06.c3
-rw-r--r--drivers/multiple/Win32/gdisp_lld_Win32.c6
-rw-r--r--drivers/multiple/X/gdisp_lld_X.c5
-rw-r--r--drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c5
-rw-r--r--src/ginput/driver_mouse.h8
-rw-r--r--src/ginput/ginput_mouse.c5
9 files changed, 25 insertions, 16 deletions
diff --git a/boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h b/boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h
index 15c00e66..bad8b9ab 100644
--- a/boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h
+++ b/boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h
@@ -57,7 +57,7 @@ static bool_t init_board(GMouse *m, unsigned driverinstance) {
return TRUE;
}
-static void read_xyz(GMouse *m, GMouseReading *prd) {
+static bool_t read_xyz(GMouse *m, GMouseReading *prd) {
adcsample_t samples[ADC_NUM_CHANNELS * ADC_BUF_DEPTH];
(void) m;
@@ -89,6 +89,7 @@ static void read_xyz(GMouse *m, GMouseReading *prd) {
palClearPad(GPIOB, GPIOB_DRIVEA);
palClearPad(GPIOB, GPIOB_DRIVEB);
}
+ return TRUE;
}
#endif /* _LLD_GMOUSE_MCU_BOARD_H */
diff --git a/boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h b/boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h
index 8c90946f..414587cf 100644
--- a/boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h
+++ b/boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h
@@ -73,7 +73,7 @@ static bool_t init_board(GMouse *m, unsigned driverinstance) {
return TRUE;
}
-static void read_xyz(GMouse *m, GMouseReading *prd) {
+static bool_t read_xyz(GMouse *m, GMouseReading *prd) {
adcsample_t samples[ADC_NUM_CHANNELS * ADC_BUF_DEPTH];
uint16_t val1, val2;
(void) m;
@@ -130,6 +130,7 @@ static void read_xyz(GMouse *m, GMouseReading *prd) {
// Set up for reading z again. We know it will be 20ms before we get called again so don't worry about settling time
setup_z();
}
+ return TRUE;
}
#endif /* _LLD_GMOUSE_MCU_BOARD_H */
diff --git a/drivers/ginput/touch/ADS7843/gmouse_lld_ADS7843.c b/drivers/ginput/touch/ADS7843/gmouse_lld_ADS7843.c
index ac315262..5f1eb226 100644
--- a/drivers/ginput/touch/ADS7843/gmouse_lld_ADS7843.c
+++ b/drivers/ginput/touch/ADS7843/gmouse_lld_ADS7843.c
@@ -19,7 +19,7 @@
#define CMD_Y 0x91
#define CMD_ENABLE_IRQ 0x80
-static void MouseXYZ(GMouse* m, GMouseReading* pdr)
+static bool_t MouseXYZ(GMouse* m, GMouseReading* pdr)
{
(void)m;
@@ -42,6 +42,7 @@ static void MouseXYZ(GMouse* m, GMouseReading* pdr)
release_bus(m);
}
+ return TRUE;
}
const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
diff --git a/drivers/ginput/touch/FT5x06/gmouse_lld_FT5x06.c b/drivers/ginput/touch/FT5x06/gmouse_lld_FT5x06.c
index ed2e68fa..6b0bcdb2 100644
--- a/drivers/ginput/touch/FT5x06/gmouse_lld_FT5x06.c
+++ b/drivers/ginput/touch/FT5x06/gmouse_lld_FT5x06.c
@@ -56,7 +56,7 @@ static bool_t MouseInit(GMouse* m, unsigned driverinstance) {
return TRUE;
}
-static void MouseXYZ(GMouse* m, GMouseReading* pdr)
+static bool_t MouseXYZ(GMouse* m, GMouseReading* pdr)
{
// Assume not touched.
pdr->buttons = 0;
@@ -80,6 +80,7 @@ static void MouseXYZ(GMouse* m, GMouseReading* pdr)
}
release_bus(m);
+ return TRUE;
}
const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
diff --git a/drivers/multiple/Win32/gdisp_lld_Win32.c b/drivers/multiple/Win32/gdisp_lld_Win32.c
index ecb100f6..13c5e544 100644
--- a/drivers/multiple/Win32/gdisp_lld_Win32.c
+++ b/drivers/multiple/Win32/gdisp_lld_Win32.c
@@ -69,7 +69,7 @@
// Forward definitions
static bool_t Win32MouseInit(GMouse *m, unsigned driverinstance);
- static void Win32MouseRead(GMouse *m, GMouseReading *prd);
+ static bool_t Win32MouseRead(GMouse *m, GMouseReading *prd);
const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
{
@@ -1169,7 +1169,7 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
(void) driverinstance;
return TRUE;
}
- static void Win32MouseRead(GMouse *m, GMouseReading *pt) {
+ static bool_t Win32MouseRead(GMouse *m, GMouseReading *pt) {
GDisplay * g;
winPriv * priv;
@@ -1207,6 +1207,8 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
}
}
#endif
+
+ return TRUE;
}
#endif /* GINPUT_NEED_MOUSE */
diff --git a/drivers/multiple/X/gdisp_lld_X.c b/drivers/multiple/X/gdisp_lld_X.c
index 6e0233ba..d62f52e6 100644
--- a/drivers/multiple/X/gdisp_lld_X.c
+++ b/drivers/multiple/X/gdisp_lld_X.c
@@ -33,7 +33,7 @@
// Forward definitions
static bool_t XMouseInit(GMouse *m, unsigned driverinstance);
- static void XMouseRead(GMouse *m, GMouseReading *prd);
+ static bool_t XMouseRead(GMouse *m, GMouseReading *prd);
const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
{
@@ -364,7 +364,7 @@ LLDSPEC void gdisp_lld_draw_pixel(GDisplay *g)
(void) driverinstance;
return TRUE;
}
- static void XMouseRead(GMouse *m, GMouseReading *pt) {
+ static bool_t XMouseRead(GMouse *m, GMouseReading *pt) {
xPriv * priv;
priv = m->display->priv;
@@ -372,6 +372,7 @@ LLDSPEC void gdisp_lld_draw_pixel(GDisplay *g)
pt->y = priv->mousey;
pt->z = (priv->buttons & GINPUT_MOUSE_BTN_LEFT) ? 1 : 0;
pt->buttons = priv->buttons;
+ return TRUE;
}
#endif /* GINPUT_NEED_MOUSE */
diff --git a/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c b/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
index 559b0c69..3b42bcda 100644
--- a/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
+++ b/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
@@ -40,7 +40,7 @@
// Forward definitions
static bool_t NMouseInit(GMouse *m, unsigned driverinstance);
- static void NMouseRead(GMouse *m, GMouseReading *prd);
+ static bool_t NMouseRead(GMouse *m, GMouseReading *prd);
const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
{
@@ -710,7 +710,7 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
(void) driverinstance;
return TRUE;
}
- static void NMouseRead(GMouse *m, GMouseReading *pt) {
+ static bool_t NMouseRead(GMouse *m, GMouseReading *pt) {
GDisplay * g;
netPriv * priv;
@@ -721,6 +721,7 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
pt->y = priv->mousey;
pt->z = (priv->mousebuttons & GINPUT_MOUSE_BTN_LEFT) ? 1 : 0;
pt->buttons = priv->mousebuttons;
+ return TRUE;
}
#endif /* GINPUT_NEED_MOUSE */
diff --git a/src/ginput/driver_mouse.h b/src/ginput/driver_mouse.h
index 037f9c0f..836ae1de 100644
--- a/src/ginput/driver_mouse.h
+++ b/src/ginput/driver_mouse.h
@@ -86,10 +86,10 @@ typedef struct GMouseVMT {
GMouseJitter pen_jitter; // PEN MODE: Jitter settings
GMouseJitter finger_jitter; // FINGER MODE: Jitter settings
- bool_t (*init)(GMouse *m, unsigned driverinstance); // Required
- void (*deinit)(GMouse *m); // Optional
- void (*get)(GMouse *m, GMouseReading *prd); // Required
- void (*calsave)(GMouse *m, void *buf, size_t sz); // Optional
+ bool_t (*init)(GMouse *m, unsigned driverinstance); // Required
+ void (*deinit)(GMouse *m); // Optional
+ bool_t (*get)(GMouse *m, GMouseReading *prd); // Required
+ void (*calsave)(GMouse *m, void *buf, size_t sz); // Optional
const char *(*calload)(GMouse *m, size_t sz); // Optional: Can return NULL if no data is saved.
} GMouseVMT;
diff --git a/src/ginput/ginput_mouse.c b/src/ginput/ginput_mouse.c
index 9cdcaec2..570839a2 100644
--- a/src/ginput/ginput_mouse.c
+++ b/src/ginput/ginput_mouse.c
@@ -78,7 +78,7 @@ static void SendMouseEvent(GSourceListener *psl, GMouse *m, GMouseReading *r) {
// Send the event only if we are listening for it
if (!((r->buttons & GINPUT_MOUSE_BTN_LEFT) && (psl->listenflags & GLISTEN_MOUSEDOWNMOVES))
- && !((r->buttons & GINPUT_MOUSE_BTN_LEFT) && (psl->listenflags & GLISTEN_MOUSEUPMOVES))
+ && !(!(r->buttons & GINPUT_MOUSE_BTN_LEFT) && (psl->listenflags & GLISTEN_MOUSEUPMOVES))
&& !((r->buttons & GMETA_MASK) && (psl->listenflags & GLISTEN_MOUSEMETA)))
return;
@@ -102,7 +102,8 @@ static void GetMouseReading(GMouse *m) {
// Step 1 - Get the Raw Reading
{
m->flags &= ~GMOUSE_FLG_NEEDREAD;
- gmvmt(m)->get(m, &r);
+ if (!gmvmt(m)->get(m, &r))
+ return;
}
// Step 2 - Handle touch and button 0 debouncing