Hi Dmitry, Charles, Peter, > I wonder if this will not confuse clients that do not pay attention to > ABS_DISTANCE though... I take it that libinput and x synaptics drivers > won't be confused, mousedev in kernel relies on BTN_TOUCH, what about > others? It looks quite ok with BTN_TOUCH added. So for n the number of detected fingers and d the collective distance to the surface: BTN_DISTANCE = d BTN_TOUCH = (d == 0) BTN_TOOL_FINGER = (n == 1) BTN_TOOL_DOUBLETAP = (n == 2) BTN_TOOL_TRIPLE... This will work for: 1. The simplest touchscreen driver which only looks at BTN_TOUCH. 2. Touchpad drivers that distinguish between fingers present (BTN_TOOL_FINGER) and fingers touching (BTN_TOUCH). 3. Drivers that already understand BTN_DISTANCE, as per Peter's description. Charles' three states are then encoded as #1 (d = 0, n > 0) #2 (d > 0, n > 0) #3 (d = ?, n = 0) I don't recall any kernel or userland driver working any differently either. 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