Wayland Relative Pointer API Progress

x414e54 x414e54 at linux.com
Sat Apr 18 07:58:29 PDT 2015

> Hi,
> then actually mice are absolute not relative. They have two axis that
> measure absolute ball rotation speed in two directions just like
> joystick has two axis that measure absolute stick excentricity.
> Thanks
> Michal

This is not really constructive to the api but:

Mice are not absolute because they are just measuring movement of a
surface relative to itself, when you are not moving the mouse there is
no axis value. You could take the ball out and turn it over and put it
back in the absolute position of the ball has changed but the mouse
axis has not. For some ball mice the rollers measure the movement of a
wheel with small holes inside it, when it moves it breaks the
connection the chip registers this and uses it to calculate the delta
for that axis. Optical mice are just taking small images of the
surface and using that information to calculate a distance moved,
again relative motion.

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

More information about the wayland-devel mailing list