On Tue, Dec 21, 2010 at 10:59 AM, Henrik Rydberg <rydberg@xxxxxxxxxxx> wrote: >> > Reported-by: Tobyn Bertram >> > Not-yet-signed-off-by: Takashi Iwai <tiwai@xxxxxxx> >> > Not-yet-signed-off-by: Chase Douglas <chase.douglas@xxxxxxxxxxxxx> >> > Not-yet-signed-off-by: Chris Bagwell <chris@xxxxxxxxxxxxxx> >> > Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx> >> >> You can keep my SOB. > > Great, thanks. > >> > +static void set_slot(struct input_dev *dev, int slot, bool active, int x, int y) >> > +{ >> > + input_mt_slot(dev, slot); >> > + input_mt_report_slot_state(dev, MT_TOOL_FINGER, active); >> > + if (active) { >> > + input_report_abs(dev, ABS_MT_POSITION_X, x); >> > + input_report_abs(dev, ABS_MT_POSITION_Y, >> > + YMAX_NOMINAL + YMIN_NOMINAL - y); >> > + } >> > +} >> >> I take it that you feel MT_TOOL_FINGER should always be set, even if >> it's always the same as BTN_TOOL_*? I just want to be sure this is >> intended so we document it appropriately. > > Yes - the MT_TOOLs are only emitted when explicitly set in absbit, but > the internal interface always handles it. This is actually documented > in the code (and DocBook). That note is good guidance for developer side. Its also worth noting on app side that MT_TOOL_FINGER is a little special since its value is 0. In most common case, I think it will get filtered out where as BTN_TOOL_FINGER will always be sent. Since we can't yet query per slot ABS_MT_TOOL_TYPE, I guess apps have to just assume its a finger unless told otherwise? Chris -- 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