diff options
author | Henrik Rydberg <rydberg@bitmath.org> | 2010-09-07 15:54:27 +0200 |
---|---|---|
committer | Henrik Rydberg <rydberg@euromail.se> | 2010-09-07 16:08:44 +0200 |
commit | 61632a31642ecaa7288624b0dc9887c4196cc165 (patch) | |
tree | 94f340ba3f626e2756f3d605297ccb2677146ef4 | |
parent | 9daa452e53d2b2f74f943bd0a50d17a311698b4f (diff) | |
download | mtdev-git-61632a31642ecaa7288624b0dc9887c4196cc165.tar.gz |
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 <rydberg@bitmath.org>
-rw-r--r-- | src/caps.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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; |