summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/relabsd_device.h')
-rw-r--r--src/relabsd_device.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/relabsd_device.h b/src/relabsd_device.h
index 35a4830..b3f2d51 100644
--- a/src/relabsd_device.h
+++ b/src/relabsd_device.h
@@ -12,6 +12,21 @@ struct relabsd_device
struct libevdev_uinput * uidev;
};
+/*
+ * - Clones the (real) input device.
+ * - Adds ABS event support to the clone.
+ * - Adds the ABS axis described in 'config' to the clone (overwriting if
+ * needed).
+ * - Disables the associated REL events from the clone.
+ *
+ * Returns -1 on (fatal) error,
+ * 0 on success.
+ *
+ * 'dev' does not need to be initialized, as the function will to that for you
+ * (on success).
+ * On success, 'dev' will need to be closed.
+ * This opens the (real) input device in read only mode to copy its properties.
+ */
int relabsd_device_create
(
struct relabsd_device * const dev,
@@ -20,6 +35,13 @@ int relabsd_device_create
void relabsd_device_destroy (const struct relabsd_device * const dev);
+/*
+ * Write an event to 'dev'. At this time, every event written to 'dev' is
+ * followed by an EV_SYN event.
+ *
+ * Returns 0 if both the event and the EV_SYN were successful,
+ * -1 if either failed.
+ */
int relabsd_device_write_evdev_event
(
const struct relabsd_device * const dev,