summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2010-12-21 20:32:50 +0100
committerHenrik Rydberg <rydberg@euromail.se>2010-12-21 20:32:50 +0100
commit9c9387d12c557b5487ca96a5ad7d56facbe487c6 (patch)
treeebd9bd32146a583301e6d542b86804b996c312a8
parentbab20f4538105d9b942858634ef8ce9e962996b7 (diff)
Complete current evemu api
Add missing accessor functions for the device. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
-rw-r--r--include/evemu.h14
-rw-r--r--src/evemu.c55
2 files changed, 69 insertions, 0 deletions
diff --git a/include/evemu.h b/include/evemu.h
index 5bfcd3e..2811ff9 100644
--- a/include/evemu.h
+++ b/include/evemu.h
@@ -39,8 +39,22 @@
struct evemu_device *evemu_new(const char *name);
void evemu_delete(struct evemu_device *dev);
+int evemu_get_version_major(const struct evemu_device *dev);
+int evemu_get_version_minor(const struct evemu_device *dev);
+
const char *evemu_get_name(const struct evemu_device *dev);
+unsigned int evemu_get_id_bustype(const struct evemu_device *dev);
+unsigned int evemu_get_id_vendor(const struct evemu_device *dev);
+unsigned int evemu_get_id_product(const struct evemu_device *dev);
+unsigned int evemu_get_id_version(const struct evemu_device *dev);
+
+int evemu_get_abs_minimum(const struct evemu_device *dev, int code);
+int evemu_get_abs_maximum(const struct evemu_device *dev, int code);
+int evemu_get_abs_fuzz(const struct evemu_device *dev, int code);
+int evemu_get_abs_flat(const struct evemu_device *dev, int code);
+int evemu_get_abs_resolution(const struct evemu_device *dev, int code);
+
int evemu_has_prop(const struct evemu_device *dev, int code);
int evemu_has_event(const struct evemu_device *dev, int type, int code);
diff --git a/src/evemu.c b/src/evemu.c
index 32f8f06..f37ad05 100644
--- a/src/evemu.c
+++ b/src/evemu.c
@@ -74,11 +74,66 @@ void evemu_delete(struct evemu_device *dev)
free(dev);
}
+int evemu_get_version_major(const struct evemu_device *dev)
+{
+ return dev->version_major;
+}
+
+int evemu_get_version_minor(const struct evemu_device *dev)
+{
+ return dev->version_minor;
+}
+
const char *evemu_get_name(const struct evemu_device *dev)
{
return dev->name;
}
+unsigned int evemu_get_id_bustype(const struct evemu_device *dev)
+{
+ return dev->id.bustype;
+}
+
+unsigned int evemu_get_id_vendor(const struct evemu_device *dev)
+{
+ return dev->id.vendor;
+}
+
+unsigned int evemu_get_id_product(const struct evemu_device *dev)
+{
+ return dev->id.product;
+}
+
+unsigned int evemu_get_id_version(const struct evemu_device *dev)
+{
+ return dev->id.version;
+}
+
+int evemu_get_abs_minimum(const struct evemu_device *dev, int code)
+{
+ return dev->abs[code].minimum;
+}
+
+int evemu_get_abs_maximum(const struct evemu_device *dev, int code)
+{
+ return dev->abs[code].maximum;
+}
+
+int evemu_get_abs_fuzz(const struct evemu_device *dev, int code)
+{
+ return dev->abs[code].fuzz;
+}
+
+int evemu_get_abs_flat(const struct evemu_device *dev, int code)
+{
+ return dev->abs[code].flat;
+}
+
+int evemu_get_abs_resolution(const struct evemu_device *dev, int code)
+{
+ return dev->abs[code].resolution;
+}
+
int evemu_has_prop(const struct evemu_device *dev, int code)
{
return (dev->prop[code >> 3] >> (code & 7)) & 1;