diff options
author | Chase Douglas <chase.douglas@canonical.com> | 2012-02-01 15:23:00 -0800 |
---|---|---|
committer | Chase Douglas <chase.douglas@canonical.com> | 2012-02-06 08:37:00 -0800 |
commit | 6b808dc766a0d1e64e19e4d5fad5f8a1a4e0d62d (patch) | |
tree | 94bd4c1e7aa672479efb8282d3e1f480451bf75a /src | |
parent | a8b065eeb847493afd31e49623fac9c952811993 (diff) |
Don't initialize semi-multitouch devices for touch device class
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/eventcomm.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/eventcomm.c b/src/eventcomm.c index 41504f9..0f0b499 100644 --- a/src/eventcomm.c +++ b/src/eventcomm.c @@ -812,10 +812,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) { |