diff options
author | Henrik Rydberg <rydberg@euromail.se> | 2010-12-22 18:35:53 +0100 |
---|---|---|
committer | Henrik Rydberg <rydberg@euromail.se> | 2010-12-22 18:35:53 +0100 |
commit | cff212dbe28487c14ab040829877d77378a61344 (patch) | |
tree | d629334e7f45c0d5333411616bc653d66f92ced1 | |
parent | 56a77e68fb91eef928d8a95c50ae14508e37ae0f (diff) | |
download | mtdev-git-cff212dbe28487c14ab040829877d77378a61344.tar.gz |
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 <rydberg@euromail.se>
-rw-r--r-- | include/mtdev.h | 5 | ||||
-rw-r--r-- | src/common.h | 6 | ||||
-rw-r--r-- | 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 <mtdev.h> #include <stdio.h> -#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]; |