From cff212dbe28487c14ab040829877d77378a61344 Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Wed, 22 Dec 2010 18:35:53 +0100 Subject: Add support for ABS_MT_DISTANCE In the upcoming 2.6.38 kernel, support for hovering is introduced. Add the ABS_MT_DISTANCE to the extended set of handled ABS_MT events. The change is binary compatible with existing libraries. Signed-off-by: Henrik Rydberg --- include/mtdev.h | 5 +++++ src/common.h | 6 +++--- test/mtdev-mapgen.c | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/include/mtdev.h b/include/mtdev.h index df74e95..ba682c5 100644 --- a/include/mtdev.h +++ b/include/mtdev.h @@ -63,6 +63,11 @@ extern "C" { #define ABS_MT_SLOT 0x2f /* MT slot being modified */ #endif +/* includes available in 2.6.38 */ +#ifndef ABS_MT_DISTANCE +#define ABS_MT_DISTANCE 0x3b /* Contact hover distance */ +#endif + #define MT_ID_NULL (-1) #define MT_ID_MIN 0 #define MT_ID_MAX 65535 diff --git a/src/common.h b/src/common.h index 43b5688..2ec8eb8 100644 --- a/src/common.h +++ b/src/common.h @@ -111,7 +111,7 @@ struct mtdev { struct mtdev_state *state; }; -#define MT_ABS_SIZE 11 +#define MT_ABS_SIZE 12 static const unsigned int mtdev_map_abs2mt[ABS_CNT] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -121,12 +121,12 @@ static const unsigned int mtdev_map_abs2mt[ABS_CNT] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, - 0x0009, 0x000a, 0x000b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0009, 0x000a, 0x000b, 0x000c, 0x0000, 0x0000, 0x0000, 0x0000, }; static const unsigned int mtdev_map_mt2abs[MT_ABS_SIZE] = { 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, - 0x0038, 0x0039, 0x003a, + 0x0038, 0x0039, 0x003a, 0x003b, }; static inline int mtdev_is_absmt(unsigned int code) diff --git a/test/mtdev-mapgen.c b/test/mtdev-mapgen.c index dc1ba91..c34cb7e 100644 --- a/test/mtdev-mapgen.c +++ b/test/mtdev-mapgen.c @@ -30,7 +30,7 @@ #include #include -#define MT_ABS_SIZE 11 +#define MT_ABS_SIZE 12 #define MT_SLOT_ABS_EVENTS { \ ABS_MT_TOUCH_MAJOR, \ ABS_MT_TOUCH_MINOR, \ @@ -43,6 +43,7 @@ ABS_MT_BLOB_ID, \ ABS_MT_TRACKING_ID, \ ABS_MT_PRESSURE, \ + ABS_MT_DISTANCE, \ } static unsigned int cabs2mt[ABS_CNT]; -- cgit v1.2.3