summaryrefslogtreecommitdiffstats
path: root/firmware/export/button.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/button.h')
-rw-r--r--firmware/export/button.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/firmware/export/button.h b/firmware/export/button.h
index 95da7adc42..6decf6ec69 100644
--- a/firmware/export/button.h
+++ b/firmware/export/button.h
@@ -64,4 +64,23 @@ int button_apply_acceleration(const unsigned int data);
#define BUTTON_REPEAT 0x04000000
#define BUTTON_TOUCHPAD 0x08000000
+#ifdef HAVE_TOUCHPAD
+#if !defined(BUTTON_TOPLEFT) || !defined(BUTTON_TOPMIDDLE) \
+ || !defined(BUTTON_TOPRIGHT) || !defined(BUTTON_MIDLEFT) \
+ || !defined(BUTTON_CENTER) || !defined(BUTTON_MIDRIGHT) \
+ || !defined(BUTTON_BOTTOMLEFT) || !defined(BUTTON_BOTTOMMIDDLE) \
+ || !defined(BUTTON_BOTTOMRIGHT)
+#error Touchpad button mode BUTTON_* defines not set up correctly
+#endif
+enum touchpad_mode {
+ TOUCHPAD_POINT = 0, /* touchpad returns pixel co-ords */
+ TOUCHPAD_BUTTON, /* touchpad returns BUTTON_* area codes
+ actual pixel value will still be accessable
+ from button_get_data */
+};
+/* maybe define the number of buttons in button-target.h ? */
+void touchpad_set_mode(enum touchpad_mode mode);
+enum touchpad_mode touchpad_get_mode(void);
+#endif
+
#endif /* _BUTTON_H_ */