Messages in this thread | | | Date | Fri, 21 Nov 2008 15:44:44 +0100 | From | Henrik Rydberg <> | Subject | Re: [PATCH] input: Add a detailed multi-touch finger data report protocol |
| |
Dmitry,
My patch is all wrong. It would certainly benefit from using the EV_SYN/SYN_MT_REPORT, but the defuzz mechanism of the EV_ABS class simply will not work when sending data for several different fingers using the same event.
I can see two clear alternatives: either add a new event class, EV_MT, which sends all data without trying to limit the bandwidth, or forget about the whole serial-finger-data idea and expand the current EV_ABS class with an array of MT finger data [1]. I would very much appreciate your input on this. Maybe there is a third option.
Cheers, Henrik
[1] An example of a straight-forward addition of EV_ABS/ABS_MT events:
#define ABS_MT_FINGER_CNT 10 #define ABS_MT_PROPERTY_CNT 12
#define ABS_MT_FINGER_START 0x30 #define ABS_MT_TOUCH(x) (ABS_MT_FINGER_START + 0 * ABS_MT_FINGER_CNT + x) #define ABS_MT_WIDTH(x) (ABS_MT_FINGER_START + 1 * ABS_MT_FINGER_CNT + x) ... #define ABS_MT_FINGER_END 0xa8 /* = ABS_MT_FINGER_START + ABS_MT_PROPERTY_CNT * ABS_MT_FINGER_CNT */
| |