On Thu, Jan 12, 2017 at 10:13:30AM +1000, Peter Hutterer wrote: > Unlike a wheel rotation, a wheel tilt is a discrete-only axis. Wheel rotations > are mapped to degrees in libinput but that that does not apply to wheel tilt > axes where there is no physical equivalent.
before I forget: I did *not* bump the interface version because we already did for the touchpoint extensions (see 6a18a87727c6) and we haven't had a release since. Cheers, Peter > Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> > Reviewed-by: Jonas Ã…dahl <jad...@gmail.com> > Acked-by: Daniel Stone <dani...@collabora.com> > --- > Changes to v1: > - more commit message goodness > - sync the test-scanner data files for new output > > protocol/wayland.xml | 10 ++++++++-- > tests/data/example-client.h | 16 +++++++++++++++- > tests/data/example-server.h | 13 +++++++++++++ > tests/data/example.xml | 8 +++++++- > 4 files changed, 43 insertions(+), 4 deletions(-) > > diff --git a/protocol/wayland.xml b/protocol/wayland.xml > index 098f286..29b63be 100644 > --- a/protocol/wayland.xml > +++ b/protocol/wayland.xml > @@ -1986,10 +1986,15 @@ > finger. One example for this source is button-based scrolling where > the vertical motion of a device is converted to scroll events while > a button is held down. > + > + The "wheel tilt" axis source indicates that the actual device is a > + wheel but the scroll event is not caused by a rotation but a > + (usually sideways) tilt of the wheel. > </description> > - <entry name="wheel" value="0" summary="a physical wheel" /> > + <entry name="wheel" value="0" summary="a physical wheel rotation" /> > <entry name="finger" value="1" summary="finger on a touch surface" /> > <entry name="continuous" value="2" summary="continuous coordinate > space"/> > + <entry name="wheel_tilt" value="3" summary="a physical wheel tilt" > since="6"/> > </enum> > > <event name="axis_source" since="5"> > @@ -2004,7 +2009,8 @@ > wl_pointer.axis_source.finger, a wl_pointer.axis_stop event will be > sent when the user lifts the finger off the device. > > - If the source is wl_pointer axis_source.wheel or > + If the source is wl_pointer.axis_source.wheel, > + wl_pointer.axis_source.wheel_tilt or > wl_pointer.axis_source.continuous, a wl_pointer.axis_stop event may > or may not be sent. Whether a compositor sends an axis_stop event > for these sources is hardware-specific and implementation-dependent; > diff --git a/tests/data/example-client.h b/tests/data/example-client.h > index b1d23f9..56f9bfe 100644 > --- a/tests/data/example-client.h > +++ b/tests/data/example-client.h > @@ -4044,6 +4044,10 @@ enum wl_pointer_axis { > * finger. One example for this source is button-based scrolling where > * the vertical motion of a device is converted to scroll events while > * a button is held down. > + * > + * The "wheel tilt" axis source indicates that the actual device is a > + * wheel but the scroll event is not caused by a rotation but a > + * (usually sideways) tilt of the wheel. > */ > enum wl_pointer_axis_source { > /** > @@ -4058,7 +4062,16 @@ enum wl_pointer_axis_source { > * continuous coordinate space > */ > WL_POINTER_AXIS_SOURCE_CONTINUOUS = 2, > + /** > + * a physical wheel tilt > + * @since 6 > + */ > + WL_POINTER_AXIS_SOURCE_WHEEL_TILT = 3, > }; > +/** > + * @ingroup iface_wl_pointer > + */ > +#define WL_POINTER_AXIS_SOURCE_WHEEL_TILT_SINCE_VERSION 6 > #endif /* WL_POINTER_AXIS_SOURCE_ENUM */ > > /** > @@ -4225,7 +4238,8 @@ struct wl_pointer_listener { > * is wl_pointer.axis_source.finger, a wl_pointer.axis_stop event > * will be sent when the user lifts the finger off the device. > * > - * If the source is wl_pointer axis_source.wheel or > + * If the source is wl_pointer.axis_source.wheel, > + * wl_pointer.axis_source.wheel_tilt or > * wl_pointer.axis_source.continuous, a wl_pointer.axis_stop event > * may or may not be sent. Whether a compositor sends an axis_stop > * event for these sources is hardware-specific and > diff --git a/tests/data/example-server.h b/tests/data/example-server.h > index f7190fd..56cc83f 100644 > --- a/tests/data/example-server.h > +++ b/tests/data/example-server.h > @@ -3253,6 +3253,10 @@ enum wl_pointer_axis { > * finger. One example for this source is button-based scrolling where > * the vertical motion of a device is converted to scroll events while > * a button is held down. > + * > + * The "wheel tilt" axis source indicates that the actual device is a > + * wheel but the scroll event is not caused by a rotation but a > + * (usually sideways) tilt of the wheel. > */ > enum wl_pointer_axis_source { > /** > @@ -3267,7 +3271,16 @@ enum wl_pointer_axis_source { > * continuous coordinate space > */ > WL_POINTER_AXIS_SOURCE_CONTINUOUS = 2, > + /** > + * a physical wheel tilt > + * @since 6 > + */ > + WL_POINTER_AXIS_SOURCE_WHEEL_TILT = 3, > }; > +/** > + * @ingroup iface_wl_pointer > + */ > +#define WL_POINTER_AXIS_SOURCE_WHEEL_TILT_SINCE_VERSION 6 > #endif /* WL_POINTER_AXIS_SOURCE_ENUM */ > > /** > diff --git a/tests/data/example.xml b/tests/data/example.xml > index 0ad2577..dc625b9 100644 > --- a/tests/data/example.xml > +++ b/tests/data/example.xml > @@ -1988,10 +1988,15 @@ > finger. One example for this source is button-based scrolling where > the vertical motion of a device is converted to scroll events while > a button is held down. > + > + The "wheel tilt" axis source indicates that the actual device is a > + wheel but the scroll event is not caused by a rotation but a > + (usually sideways) tilt of the wheel. > </description> > <entry name="wheel" value="0" summary="a physical wheel rotation" /> > <entry name="finger" value="1" summary="finger on a touch surface" /> > <entry name="continuous" value="2" summary="continuous coordinate > space"/> > + <entry name="wheel_tilt" value="3" summary="a physical wheel tilt" > since="6"/> > </enum> > > <event name="axis_source" since="5"> > @@ -2006,7 +2011,8 @@ > wl_pointer.axis_source.finger, a wl_pointer.axis_stop event will be > sent when the user lifts the finger off the device. > > - If the source is wl_pointer axis_source.wheel or > + If the source is wl_pointer.axis_source.wheel, > + wl_pointer.axis_source.wheel_tilt or > wl_pointer.axis_source.continuous, a wl_pointer.axis_stop event may > or may not be sent. Whether a compositor sends an axis_stop event > for these sources is hardware-specific and implementation-dependent; > -- > 2.9.3 > _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel