summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChase Douglas <chase.douglas@canonical.com>2012-02-02 13:19:18 -0800
committerPeter Hutterer <peter.hutterer@who-t.net>2012-02-04 23:45:59 +1000
commit1be3dc5bced741c4cda0ad0d270d8001c809b2bf (patch)
tree20925967fb49aa06a21e7ee1d38f6b4dc5701520
parent0c83d1f9a71a4fef38f7f8d46c2646c36e92d5f6 (diff)
Don't initialize semi-multitouch devices for touch device classHEADmaster
Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--src/eventcomm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/eventcomm.c b/src/eventcomm.c
index c323f8f..bcaa5e6 100644
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -731,10 +731,20 @@ event_query_touch(InputInfoPtr pInfo)
struct eventcomm_proto_data *proto_data = priv->proto_data;
struct mtdev *mtdev;
int i;
+ int rc;
+ uint8_t prop;
priv->num_touches = 0;
priv->num_mt_axes = 0;
+ SYSCALL(rc = ioctl(pInfo->fd, EVIOCGPROP(sizeof(prop)), &prop));
+ if (rc >= 0 && BitIsOn(&prop, INPUT_PROP_SEMI_MT))
+ {
+ xf86IDrvMsg(pInfo, X_INFO,
+ "ignoring touch events for semi-multitouch device\n");
+ return;
+ }
+
mtdev = mtdev_new_open(pInfo->fd);
if (!mtdev)
{