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

Denilson Figueiredo de Sá
2011-10-25T04:03:58Z

On Mon, 24 Oct 2011 14:39:31 -0200, Denilson Figueiredo de Sá wrote:
> On Mon, Oct 24, 2011 at 14:24, Chris Friesen 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?

> I haven't tested that on Windows (yet), so I don't know how it
> behaves. If I test it, I'll post my results here.

I've modified the firmware of my device to do some more tests. I've
modified it to send invalid values in X axis, but keep Y axis with valid
values.

In Linux, the pointer moved to the right-most position of the screen
(which is consistent with the behavior I previously described), not
ignoring the out-of-range value.

In Windows, the pointer moved to the left-most position of the screen. It
means Windows can't send a movement of only one axis, and fills the other
axis with zero when receiving an invalid value. This behavior doesn't seem
very helpful.

If anyone cares, this was the firmware modification for this test:
https://bitbucket.org/denilsonsa/atmega8-magnetometer-usb-mouse/changeset/31027323fa0b

--
Denilson Figueiredo de Sá
Rio de Janeiro - Brasil