Wayland Relative Pointer API Progress

Michal Suchanek hramrach at gmail.com
Sun Apr 19 00:46:39 PDT 2015


On 19 April 2015 at 06:15, x414e54 <x414e54 at linux.com> wrote:
> On Sun, Apr 19, 2015 at 12:45 AM, Michal Suchanek <hramrach at gmail.com> wrote:
>> On 18 April 2015 at 16:58, x414e54 <x414e54 at linux.com> wrote:

>>
>>>
>>> A joystick does not necessarily have 2 axis and in most cases yes they
>>> are reporting an absolute position of the axis in the driver but it
>>> does not necessarily mean that the the hardware is absolute. For
>>> example if a joystick is using the same slotted optical system as the
>>> ball mice then this would be measuring relative motion and using it to
>>> calculate the absolute axis value, under some circumstances the
>>> position could become out of sync until re-calibrated by moving to the
>>> joystick to the maximum and minimum values for all axes or having it
>>> automatically re-center.
>>>
>>>
>>> USB HID specifications define a pointer and a mouse as two completely
>>> different inputs. A mouse can be a used as a pointer because it is
>>> pushing the cursor around but the pointer points at a specific
>>> location.
>>
>> And there is no practical way to point with a mouse to a specific
>> location. Nor is there for most joysticks because they are not precise
>> enough but you technically could map the stick excentricity to screen
>> coordinates. Similarly a small touchpad has no practical mapping of
>> touch coordinates to screen coordinates but for a big graphics tablet
>> or touchscreen surface this can be done.
>>
>> The device is never relative, only interpretation of the obtained data is.
>>
>> Thanks
>>
>> Michal
>
> Rather than waste time on this I will just direct you over the the
> universal teacher Google.
>
> "relative device" is probably the best search term.

yes, and all the articles I found

like https://en.wikipedia.org/wiki/Input_device
https://msdn.microsoft.com/en-us/library/windows/desktop/ee418779%28v=vs.85%29.aspx

boil down to the fact that the device reports some value which can be
interpreted as relative pointer position increment or reported as
absolute value read from the sensor.

So the device is always absolute and interpretation varies.

You are trying to make a distinction that is only relevant to use of
the device readings for generating pointer motion events but otherwise
does not exist.

Thanks

Michal


More information about the wayland-devel mailing list