diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2017-01-24 09:56:39 +1000 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2017-01-24 12:00:19 +0200 |
commit | 2f72d0a8a82dac8c961cb9b4b509208b84322937 (patch) | |
tree | 51dfa8d98785b6646448c9b14efaef53b902cc04 | |
parent | f8ab47690c03245da4938cbab7a4ba6bcb1bebe0 (diff) |
protocol: add axis_source.wheel_tilt
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.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jonas Ã…dahl <jadahl@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
-rw-r--r-- | protocol/wayland.xml | 10 | ||||
-rw-r--r-- | tests/data/example-client.h | 16 | ||||
-rw-r--r-- | tests/data/example-server.h | 13 | ||||
-rw-r--r-- | 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 857aacf..c40e361 100644 --- a/tests/data/example-client.h +++ b/tests/data/example-client.h @@ -4035,6 +4035,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 { /** @@ -4049,7 +4053,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 */ /** @@ -4216,7 +4229,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 f22f70f..adfc973 100644 --- a/tests/data/example-server.h +++ b/tests/data/example-server.h @@ -3244,6 +3244,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 { /** @@ -3258,7 +3262,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 22dcffd..29b63be 100644 --- a/tests/data/example.xml +++ b/tests/data/example.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 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; |