From 61632a31642ecaa7288624b0dc9887c4196cc165 Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Tue, 7 Sep 2010 15:54:27 +0200 Subject: Fall back to single-touch position and pressure dimensions In case mtdev is driving a non-MT device, basic dimensions are not set properly. Fall back on ABS_X/Y and ABS_PRESSURE, such that basic pointer operations can be supported through mtdev. Signed-off-by: Henrik Rydberg --- src/caps.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/caps.c') diff --git a/src/caps.c b/src/caps.c index d438826..bf578fa 100644 --- a/src/caps.c +++ b/src/caps.c @@ -83,6 +83,13 @@ static int read_caps(struct mtdev_caps *cap, int fd) cap->has_mtdata = has_mt_data(cap); + if (!cap->has_abs[MTDEV_POSITION_X]) + getabs(&cap->abs[MTDEV_POSITION_X], ABS_X, fd); + if (!cap->has_abs[MTDEV_POSITION_Y]) + getabs(&cap->abs[MTDEV_POSITION_Y], ABS_Y, fd); + if (!cap->has_abs[MTDEV_PRESSURE]) + getabs(&cap->abs[MTDEV_PRESSURE], ABS_PRESSURE, fd); + if (!cap->has_abs[MTDEV_TRACKING_ID]) { cap->abs[MTDEV_TRACKING_ID].minimum = MT_ID_MIN; cap->abs[MTDEV_TRACKING_ID].maximum = MT_ID_MAX; -- cgit v1.2.3