aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2010-04-11 15:24:28 +0200
committerHenrik Rydberg <rydberg@euromail.se>2010-04-15 06:10:08 +0200
commita493e814663ddcb6353673e366bf61285b1695b5 (patch)
treef05664714fc55c9463145d128dc3109aed6ecdd8
parent2e51d27cf6e1380e7bf4744215bf16243af2829d (diff)
downloadxorg-input-kobomultitouch-a493e814663ddcb6353673e366bf61285b1695b5.tar.gz
xorg-input-kobomultitouch-a493e814663ddcb6353673e366bf61285b1695b5.tar.bz2
xorg-input-kobomultitouch-a493e814663ddcb6353673e366bf61285b1695b5.zip
Additional device information
Add information about the device name and device identifier from the EVIO protocol. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
-rw-r--r--src/capabilities.c9
-rw-r--r--src/capabilities.h2
2 files changed, 11 insertions, 0 deletions
diff --git a/src/capabilities.c b/src/capabilities.c
index 620ab60..804b626 100644
--- a/src/capabilities.c
+++ b/src/capabilities.c
@@ -56,6 +56,12 @@ int read_capabilities(struct Capabilities *cap, int fd)
memset(cap, 0, sizeof(struct Capabilities));
+ SYSCALL(rc = ioctl(fd, EVIOCGID, &cap->devid));
+ if (rc < 0)
+ return rc;
+ SYSCALL(rc = ioctl(fd, EVIOCGNAME(sizeof(cap->devname)), cap->devname));
+ if (rc < 0)
+ return rc;
SYSCALL(rc = ioctl(fd, EVIOCGBIT(EV_SYN, sizeof(evbits)), evbits));
if (rc < 0)
return rc;
@@ -115,6 +121,9 @@ void output_capabilities(const struct Capabilities *cap)
ADDCAP(line, cap, orientation);
ADDCAP(line, cap, position_x);
ADDCAP(line, cap, position_y);
+ xf86Msg(X_INFO, "multitouch: devname: %s\n", cap->devname);
+ xf86Msg(X_INFO, "multitouch: devid: %x %x %x\n",
+ cap->devid.vendor, cap->devid.product, cap->devid.version);
xf86Msg(X_INFO, "multitouch: caps:%s\n", line);
if (cap->has_touch_major)
xf86Msg(X_INFO, "multitouch: touch: %d %d\n",
diff --git a/src/capabilities.h b/src/capabilities.h
index 591eed6..68835c6 100644
--- a/src/capabilities.h
+++ b/src/capabilities.h
@@ -25,6 +25,8 @@
#include "common.h"
struct Capabilities {
+ struct input_id devid;
+ char devname[32];
int has_left, has_middle;
int has_right, has_mtdata;
int has_touch_major, has_touch_minor;