Re: Linux USB HID should ignore values outside LogicalMinimum/Maximum range

From: Dmitry Torokhov
Date: Mon Oct 24 2011 - 16:35:53 EST


On Mon, Oct 24, 2011 at 02:39:31PM -0200, Denilson Figueiredo de Sá wrote:
> On Mon, Oct 24, 2011 at 14:24, Chris Friesen <chris.friesen@xxxxxxxxxxx> wrote:
> > On 10/22/2011 05:42 AM, Denilson Figueiredo de Sá wrote:
> >
> >> It may even happen to send an out-of-range value for one axis, but a
> >> valid value for another axis. The code should be prepared for that
> >> (ignore one, but keep the other).
> >
> > In this case what should be used for the "invalid" axis value?  The previous
> > value?
>
> If that's an absolute pointing device, can we supply only one axis? I
> mean, can we do this: "move the pointer to this X position, but leave
> the Y position where it currently is". (note that the pointer might

Yes, input protocol is stateful and it will actually suppress duplicate
events itself. I.e. if device moves from (10, 20) to (40, 20) usespace
will see:

EV_ABS/ABS_X/10
EV_ABS/ABS_Y/20
EV_SYN/SYN_REPORT
EV_ABS/ABS_X/40
EV_SYN/SYN_REPORT

even if driver emits 2nd EV_ABS/ABS_Y/20 event.

> have moved since last input from this device, due to other devices
> also being present)

The other devices have no effect on this device state.

Thanks.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/