> The proper way to send events through evdev when there are two different > "tools" (pen and touch) is to use BTN_TOOL_*. In your example above, it > would be: > > # finger touch (Note lack of tool, it's assumed to be finger) > ABS_MT_SLOT 0 > ABS_MT_TRACKING_ID 42 > ABS_MT_POSITION_X finger_x > ABS_MT_POSITION_Y finger_y > SYN_MT_REPORT > ABS_X finger_x > ABS_Y finger_y > SYN_REPORT > # finger release > ABS_MT_SLOT 0 > ABS_MT_TRACKING_ID -1 > SYN_REPORT > # pen motion > BTN_TOOL_PEN 1 > ABS_X pen_x > ABS_Y pen_y > SYN_REPORT > # finger touch begin > ABS_MT_SLOT 0 > ABS_MT_TRACKING_ID 42 > ABS_MT_POSITION_X finger_x > ABS_MT_POSITION_Y finger_y > SYN_MT_REPORT > BTN_TOOL_PEN 0 > ABS_X finger_x > ABS_Y finger_y > SYN_REPORT > etc. > > Then, xf86-input-evdev ignores ABS_{X,Y} events when there is no > BTN_TOOL_* active. On the subject how pen and touch could work going forward, the MT protocol is prepared to deal with tool type per slot. It makes a lot of sense to move away from the above example, towards a fully parallel representation of pen and touch data. Today's multitouch interfaces are really tremendously restrictive; I am looking forward to the day when one does not need to worry about touching or resting on a surface in order to operate it. In short, why not make xf86-input-evdev aware of MT_TOOL_TYPE? Thanks, Henrik -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html