Wayland Relative Pointer API Progress

Michal Suchanek hramrach at gmail.com
Fri Apr 17 06:57:18 PDT 2015


On 17 April 2015 at 14:37, Hans de Goede <hdegoede at redhat.com> wrote:
> Hi,
>
>
> On 17-04-15 13:17, Michal Suchanek wrote:
>>
>> On 17 April 2015 at 12:52, Hans de Goede <hdegoede at redhat.com> wrote:
>>>
>>> Hi,
>>>
>>>
>>> On 17-04-15 11:47, Michal Suchanek wrote:
>>>>
>>>>
>>>> On 17 April 2015 at 09:11, Pekka Paalanen <ppaalanen at gmail.com> wrote:
>>>>>
>>>>>
>>>>> On Fri, 17 Apr 2015 13:43:11 +0900
>>>>> x414e54 <x414e54 at linux.com> wrote:
>>>>>
>>>>>> Thank you for the comments.
>>>>>> I do have a few counterpoints but I will leave after that.
>>>>>>
>>>>>>>
>>>>>>> Not sure an IR/laser/wii mote pointer should even be considered a
>>>>>>> "relative" pointer since they operate in absolute coordinates. Given
>>>>>>> this, there is no "set position" hint to consider. Transmitting
>>>>>>> acceleramoter data via a "relative pointer" doesn't sound reasonable.
>>>>>>>
>>>>>>
>>>>>> I think this is the issue right here. Pointers are not relative, mice
>>>>>> are not pointers.
>>>>>
>>>>>
>>>>>
>>>>> What definition of a "pointer" are you using?
>>>>>
>>>>> The definition Wayland uses for a wl_pointer is a device that:
>>>>> - requires a cursor image on screen to be usable
>>>>> - the physical input is relative, not absolute
>>>>>
>>>>> This definition is inspired by mice, and mice have been called pointer
>>>>> devices, so we picked the well-known name "pointer" for mice-like
>>>>> devices.
>>>>>
>>>>> Specifically, a pointer is *not* a device where you directly point a
>>>>> location on screen, like a touchscreen for example. For touchscreens,
>>>>> there is a separate protocol wl_touch.
>>>>>
>>>>> For drawing tablets, there will be yet another procotol.
>>>>>
>>>>> Joysticks or gamepads fit into none of the above. For the rest of the
>>>>> conversation, you should probably look up the long gamepad protocol
>>>>> discussions from the wayland-devel mailing list archives.
>>>>
>>>>
>>>>
>>>> And how is a joystick different from a trackpoint, exactly?
>>>>
>>>> It uses different hardware interface and later different software
>>>> interface but for no good reason. It's just 2 axis relative input
>>>> device with buttons. Sure, the big joystick, gamepad directional cap
>>>> and trackpoint are at a different place of the stick size scale and
>>>> might have different hardware sensors which should be reflected with
>>>> different acceleration settings but ultimately it's the same kind of
>>>> device.
>>>
>>>
>>>
>>> Actually joystick analog inputs are absolute not relative. They give a
>>> value
>>> for exactly how much the "stick" has moved from the center.
>>>
>>> Except for dpads which are really buttons not relative axis, so joysticks
>>> really are pretty much not like trackpoints in anyway.
>>>
>>
>> Do you mean that the absolute trackpoint excentricity is somehow
>> translated to relative motion delta in hardware so that it does look
>> like a mouse although it is in fact a joystick?
>
>
> Yes.
>
> Also have you ever used a trackpoint it is really nothing like a joystick,
> with a joystick you move the stick and then it stays in position (there
> are springs to center the stick when you let go, but you can remove those
> and everything will still work just fine).
>
> Where as a trackpoint is more of a presure sensor which senses how much you
> push against it in a certain direction, it does not actually move.

That's implementation detail. The input concept is the same. And yes,
it might be hard to see the similarity between a full size joystick
and a trackpoint. When you throw in all those GPIO mini joysticks and
the gamepad directional joystick-like inputs and half size joysticks
and arcade sticks you can see that there is a concept of stick input
that scales to different sizes with different limitations.

Thanks

Michal


More information about the wayland-devel mailing list