From f046e778aa0d2621fdedf03eab53e88120317192 Mon Sep 17 00:00:00 2001 From: Kirill Chibisov Date: Tue, 7 Oct 2025 21:42:36 +0900 Subject: [PATCH] winit-core:winit: add tablet input support The API is integrated into the `WindowEvent::Pointer*` API and is present in form of `TabletTool` variant on corresponding data entries. For now implemented for Web, Windows, and with limitations for Wayland. Fixes #99. Co-authored-by: daxpedda --- clippy.toml | 3 + winit-core/src/event.rs | 390 +++++++++++++++++- winit-uikit/src/view.rs | 4 + winit-wayland/src/seat/mod.rs | 15 + winit-wayland/src/state.rs | 5 + winit-wayland/src/types/mod.rs | 1 + winit-wayland/src/types/wp_tablet_input_v2.rs | 343 +++++++++++++++ winit-web/src/cursor.rs | 2 +- winit-web/src/event_loop/runner.rs | 37 +- winit-web/src/web_sys/event.rs | 177 ++++++-- winit-web/src/web_sys/pointer.rs | 107 ++--- winit-win32/src/event_loop.rs | 225 ++++++---- winit-win32/src/util.rs | 6 +- winit-win32/src/window.rs | 1 + winit-x11/src/atoms.rs | 9 +- winit-x11/src/event_loop.rs | 38 +- winit-x11/src/event_processor.rs | 36 +- winit/docs/ATTRIBUTION.md | 7 + winit/docs/res/tool_altitude.webp | Bin 0 -> 77648 bytes winit/docs/res/tool_azimuth.webp | Bin 0 -> 82642 bytes winit/docs/res/tool_tilt_x.webp | Bin 0 -> 78410 bytes winit/docs/res/tool_tilt_y.webp | Bin 0 -> 80052 bytes winit/src/changelog/unreleased.md | 4 + 23 files changed, 1206 insertions(+), 204 deletions(-) create mode 100644 winit-wayland/src/types/wp_tablet_input_v2.rs create mode 100644 winit/docs/res/tool_altitude.webp create mode 100644 winit/docs/res/tool_azimuth.webp create mode 100644 winit/docs/res/tool_tilt_x.webp create mode 100644 winit/docs/res/tool_tilt_y.webp diff --git a/clippy.toml b/clippy.toml index d2db8030..74ba0ee0 100644 --- a/clippy.toml +++ b/clippy.toml @@ -10,6 +10,9 @@ disallowed-methods = [ { allow-invalid = true, path = "web_sys::HtmlCanvasElement::set_width", reason = "Winit shouldn't touch the internal canvas size" }, { allow-invalid = true, path = "web_sys::HtmlCanvasElement::width", reason = "Winit shouldn't touch the internal canvas size" }, { allow-invalid = true, path = "web_sys::HtmlElement::style", reason = "cache this to reduce calls to JS" }, + { allow-invalid = true, path = "web_sys::MouseEvent::buttons", reason = "Use `backend::event::cursor_buttons()` to avoid wrong conversions" }, + { allow-invalid = true, path = "web_sys::MouseEvent::button", reason = "Use `backend::event::cursor_button()` to avoid wrong conversions" }, + { allow-invalid = true, path = "web_sys::PointerEvent::pointer_type", reason = "Use `WebPointerType` to emit warnings" }, { allow-invalid = true, path = "web_sys::Window::document", reason = "cache this to reduce calls to JS" }, { allow-invalid = true, path = "web_sys::Window::get_computed_style", reason = "cache this to reduce calls to JS" }, { allow-invalid = true, path = "web_sys::Window::navigator", reason = "cache this to reduce calls to JS" }, diff --git a/winit-core/src/event.rs b/winit-core/src/event.rs index cb3c606c..7ad984ef 100644 --- a/winit-core/src/event.rs +++ b/winit-core/src/event.rs @@ -1,4 +1,7 @@ //! The event enums and assorted supporting types. +use std::cell::LazyCell; +use std::cmp::Ordering; +use std::f64; use std::path::PathBuf; use std::sync::{Mutex, Weak}; @@ -435,6 +438,7 @@ pub enum PointerKind { /// /// **macOS:** Unsupported. Touch(FingerId), + TabletTool(TabletToolKind), Unknown, } @@ -485,6 +489,13 @@ pub enum PointerSource { /// force will be 0.5 when a button is pressed or 0.0 otherwise. force: Option, }, + TabletTool { + /// Describes as which tool kind the interaction happened. + kind: TabletToolKind, + + /// Describes how the tool was held and used. + data: TabletToolData, + }, Unknown, } @@ -493,6 +504,7 @@ impl From for PointerKind { match source { PointerSource::Mouse => Self::Mouse, PointerSource::Touch { finger_id, .. } => Self::Touch(finger_id), + PointerSource::TabletTool { kind, .. } => Self::TabletTool(kind), PointerSource::Unknown => Self::Unknown, } } @@ -502,7 +514,7 @@ impl From for PointerKind { /// /// **Wayland/X11:** [`Unknown`](Self::Unknown) device types are converted to known variants by the /// system. -#[derive(Clone, Copy, Debug, PartialEq)] +#[derive(Clone, Debug, PartialEq)] pub enum ButtonSource { Mouse(MouseButton), /// See [`PointerSource::Touch`] for more details. @@ -514,6 +526,11 @@ pub enum ButtonSource { finger_id: FingerId, force: Option, }, + TabletTool { + kind: TabletToolKind, + button: TabletToolButton, + data: TabletToolData, + }, Unknown(u16), } @@ -525,6 +542,7 @@ impl ButtonSource { match self { ButtonSource::Mouse(mouse) => mouse, ButtonSource::Touch { .. } => MouseButton::Left, + ButtonSource::TabletTool { button, .. } => button.into(), ButtonSource::Unknown(button) => match button { 0 => MouseButton::Left, 1 => MouseButton::Middle, @@ -981,6 +999,7 @@ pub enum TouchPhase { /// Describes the force of a touch event #[derive(Debug, Clone, Copy, PartialEq)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[doc(alias = "Pressure")] pub enum Force { /// On iOS, the force is calibrated so that the same number corresponds to /// roughly the same amount of pressure on the screen regardless of the @@ -991,7 +1010,7 @@ pub enum Force { /// /// The force reported by Apple Pencil is measured along the axis of the /// pencil. If you want a force perpendicular to the device, you need to - /// calculate this value using the `altitude_angle` value. + /// calculate this value using the [`TabletToolAngle::altitude`] value. force: f64, /// The maximum possible force for a touch. /// @@ -1012,9 +1031,17 @@ impl Force { /// Instead of normalizing the force, you should prefer to handle /// [`Force::Calibrated`] so that the amount of force the user has to apply is /// consistent across devices. - pub fn normalized(&self) -> f64 { + /// + /// Passing in a [`TabletToolAngle`], returns the perpendicular force. + pub fn normalized(&self, angle: Option) -> f64 { match self { - Force::Calibrated { force, max_possible_force } => force / max_possible_force, + Force::Calibrated { force, max_possible_force } => { + let force = match angle { + Some(TabletToolAngle { altitude, .. }) => force / altitude.sin(), + None => *force, + }; + force / max_possible_force + }, Force::Normalized(force) => *force, } } @@ -1026,6 +1053,264 @@ pub type AxisId = u32; /// Identifier for a specific button on some device. pub type ButtonId = u32; +/// Tablet of the tablet tool. +#[derive(Default, Clone, Copy, Debug, PartialEq, Eq, Hash)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] +#[non_exhaustive] +pub enum TabletToolKind { + #[default] + Pen, + Eraser, + Brush, + Pencil, + Airbrush, + Finger, + Mouse, + Lens, +} + +#[derive(Default, Clone, Debug, PartialEq)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] +pub struct TabletToolData { + /// The force applied to the tool against the surface. + /// + /// When the force information is not available, [`None`] is returned. + /// + /// ## Platform-specific + /// + /// **Web:** Has no mechanism to detect support, so this will always be [`Some`]. + pub force: Option, + /// Represents normalized tangential pressure, also known as barrel pressure. In the range of + /// -1 to 1. 0 means no tangential pressure is applied. [`None`] means backend or device has no + /// support. + /// + /// ## Platform-specific + /// + /// **Web:** Has no mechanism to detect support, so this will always be [`Some`] with a value + /// of 0. + pub tangential_force: Option, + /// The clockwise rotation in degrees of a tool around its own major axis. E.g. twisting a pen + /// around its length. In the range of 0 to 359. [`None`] means backend or device has no + /// support. + /// + /// ## Platform-specific + /// + /// **Web:** Has no mechanism to detect support, so this will always be [`Some`] with a value + /// of 0. + pub twist: Option, + /// The plane angle in degrees. [`None`] means backend or device has no support. + /// + /// ## Platform-specific + /// + /// **Web:** Has no mechanism to detect support, so this will always be [`Some`] with default + /// values. + pub tilt: Option, + /// The angular position in radians. [`None`] means backend or device has no support. + /// + /// ## Platform-specific + /// + /// **Web:** Has no mechanism to detect device support, so this will always be [`Some`] with + /// default values unless browser support is lacking. + pub angle: Option, +} + +impl TabletToolData { + /// Returns [`TabletToolTilt`] if present or calculates it from [`TabletToolAngle`]. + pub fn tilt(self) -> Option { + if let Some(tilt) = self.tilt { + Some(tilt) + } else { + self.angle.map(TabletToolAngle::tilt) + } + } + + /// Returns [`TabletToolAngle`] if present or calculates it from [`TabletToolTilt`]. + pub fn angle(self) -> Option { + if let Some(angle) = self.angle { + Some(angle) + } else { + self.tilt.map(TabletToolTilt::angle) + } + } +} + +/// The plane angle in degrees of a tool. +#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] +pub struct TabletToolTilt { + /// The plane angle in degrees between the surface Y-Z plane and the plane containing the tool + /// and the surface Y axis. Positive values are to the right. In the range of -90 to 90. 0 + /// means the tool is perpendicular to the surface and is the default. + /// + /// ![Tilt X](https://raw.githubusercontent.com/rust-windowing/winit/master/winit/docs/res/tool_tilt_x.webp) + /// + /// + /// For image attribution, see the + /// + /// ATTRIBUTION.md + /// + /// file. + /// + pub x: i8, + /// The plane angle in degrees between the surface X-Z plane and the plane containing the tool + /// and the surface X axis. Positive values are towards the user. In the range of -90 to + /// 90. 0 means the tool is perpendicular to the surface and is the default. + /// + /// ![Tilt Y](https://raw.githubusercontent.com/rust-windowing/winit/master/winit/docs/res/tool_tilt_y.webp) + /// + /// + /// For image attribution, see the + /// + /// ATTRIBUTION.md + /// + /// file. + /// + pub y: i8, +} + +impl TabletToolTilt { + pub fn angle(self) -> TabletToolAngle { + // See . + + use std::f64::consts::*; + + const PI_0_5: f64 = FRAC_PI_2; + const PI_1_5: f64 = 3. * FRAC_PI_2; + const PI_2: f64 = 2. * PI; + + let x = LazyCell::new(|| f64::from(self.x).to_radians()); + let y = LazyCell::new(|| f64::from(self.y).to_radians()); + + let mut azimuth = 0.; + + if self.x == 0 { + match self.y.cmp(&0) { + Ordering::Greater => azimuth = PI_0_5, + Ordering::Less => azimuth = PI_1_5, + Ordering::Equal => (), + } + } else if self.y == 0 { + if self.x < 0 { + azimuth = PI; + } + } else if self.x.abs() == 90 || self.y.abs() == 90 { + // not enough information to calculate azimuth + azimuth = 0.; + } else { + // Non-boundary case: neither tiltX nor tiltY is equal to 0 or +-90 + azimuth = f64::atan2(y.tan(), x.tan()); + + if azimuth < 0. { + azimuth += PI_2; + } + } + + let altitude; + + if self.x.abs() == 90 || self.y.abs() == 90 { + altitude = 0.; + } else if self.x == 0 { + altitude = PI_0_5 - y.abs(); + } else if self.y == 0 { + altitude = PI_0_5 - x.abs(); + } else { + // Non-boundary case: neither tiltX nor tiltY is equal to 0 or +-90 + altitude = f64::atan(1. / f64::sqrt(x.tan().powi(2) + y.tan().powi(2))); + } + + TabletToolAngle { altitude, azimuth } + } +} + +/// The angular position in radians of a tool. +#[derive(Clone, Copy, Debug, PartialEq)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] +pub struct TabletToolAngle { + /// The altitude angle in radians between the tools perpendicular position to the surface and + /// the surface X-Y plane. In the range of 0, parallel to the surface, to π/2, perpendicular to + /// the surface. π/2 means the tool is perpendicular to the surface and is the default. + /// + /// ![Altitude angle](https://raw.githubusercontent.com/rust-windowing/winit/master/docs/res/tool_altitude.webp) + /// + /// + /// For image attribution, see the + /// + /// ATTRIBUTION.md + /// + /// file. + /// + pub altitude: f64, + /// The azimuth angle in radiants representing the rotation between the major axis of the tool + /// and the surface X-Y plane. In the range of 0, 3 o'clock, progressively increasing clockwise + /// to 2π. 0 means the tool is at 3 o'clock or is perpendicular to the surface (`altitude` of + /// π/2) and is the default. + /// + /// ![Azimuth angle](https://raw.githubusercontent.com/rust-windowing/winit/master/docs/res/tool_azimuth.webp) + /// + /// + /// For image attribution, see the + /// + /// ATTRIBUTION.md + /// + /// file. + /// + pub azimuth: f64, +} + +impl Default for TabletToolAngle { + fn default() -> Self { + Self { altitude: f64::consts::FRAC_2_PI, azimuth: 0. } + } +} + +impl TabletToolAngle { + pub fn tilt(self) -> TabletToolTilt { + // See . + + use std::f64::consts::*; + + const PI_0_5: f64 = FRAC_PI_2; + const PI_1_5: f64 = 3. * FRAC_PI_2; + const PI_2: f64 = 2. * PI; + + let mut x = 0.; + let mut y = 0.; + + if self.altitude == 0. { + if self.azimuth == 0. || self.azimuth == PI_2 { + x = FRAC_PI_2; + } else if self.azimuth == PI_0_5 { + y = FRAC_PI_2; + } else if self.azimuth == PI { + x = -FRAC_PI_2; + } else if self.azimuth == PI_1_5 { + y = -FRAC_PI_2; + } else if self.azimuth > 0. && self.azimuth < PI_0_5 { + x = FRAC_PI_2; + y = FRAC_PI_2; + } else if self.azimuth > PI_0_5 && self.azimuth < PI { + x = -FRAC_PI_2; + y = FRAC_PI_2; + } else if self.azimuth > PI && self.azimuth < PI_1_5 { + x = -FRAC_PI_2; + y = -FRAC_PI_2; + } else if self.azimuth > PI_1_5 && self.azimuth < PI_2 { + x = FRAC_PI_2; + y = -FRAC_PI_2; + } + } + + if self.altitude != 0. { + let altitude = self.altitude.tan(); + + x = f64::atan(f64::cos(self.azimuth) / altitude); + y = f64::atan(f64::sin(self.azimuth) / altitude); + } + + TabletToolTilt { x: x.to_degrees().round() as i8, y: y.to_degrees().round() as i8 } + } +} + /// Describes the input state of a key. #[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -1058,6 +1343,28 @@ pub enum MouseButton { Other(u16), } +/// Describes a button of a tool, e.g. a pen. +#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] +pub enum TabletToolButton { + Contact, + Barrel, + Other(u16), +} + +impl From for MouseButton { + fn from(tool: TabletToolButton) -> Self { + match tool { + TabletToolButton::Contact => MouseButton::Left, + TabletToolButton::Barrel => MouseButton::Right, + TabletToolButton::Other(1) => MouseButton::Middle, + TabletToolButton::Other(3) => MouseButton::Back, + TabletToolButton::Other(4) => MouseButton::Forward, + TabletToolButton::Other(other) => MouseButton::Other(other), + } + } +} + /// Describes a difference in the mouse scroll wheel state. #[derive(Debug, Clone, Copy, PartialEq)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -1241,16 +1548,85 @@ mod tests { }); } + #[test] + fn test_tilt_angle_conversions() { + use std::f64::consts::*; + + use event::{TabletToolAngle, TabletToolTilt}; + + // See . + const TILT_TO_ANGLE: &[(TabletToolTilt, TabletToolAngle)] = &[ + (TabletToolTilt { x: 0, y: 0 }, TabletToolAngle { altitude: FRAC_PI_2, azimuth: 0. }), + (TabletToolTilt { x: 0, y: 90 }, TabletToolAngle { altitude: 0., azimuth: FRAC_PI_2 }), + (TabletToolTilt { x: 0, y: -90 }, TabletToolAngle { + altitude: 0., + azimuth: 3. * FRAC_PI_2, + }), + (TabletToolTilt { x: 90, y: 0 }, TabletToolAngle { altitude: 0., azimuth: 0. }), + (TabletToolTilt { x: 90, y: 90 }, TabletToolAngle { altitude: 0., azimuth: 0. }), + (TabletToolTilt { x: 90, y: -90 }, TabletToolAngle { altitude: 0., azimuth: 0. }), + (TabletToolTilt { x: -90, y: 0 }, TabletToolAngle { altitude: 0., azimuth: PI }), + (TabletToolTilt { x: -90, y: 90 }, TabletToolAngle { altitude: 0., azimuth: 0. }), + (TabletToolTilt { x: -90, y: -90 }, TabletToolAngle { altitude: 0., azimuth: 0. }), + (TabletToolTilt { x: 0, y: 45 }, TabletToolAngle { + altitude: FRAC_PI_4, + azimuth: FRAC_PI_2, + }), + (TabletToolTilt { x: 0, y: -45 }, TabletToolAngle { + altitude: FRAC_PI_4, + azimuth: 3. * FRAC_PI_2, + }), + (TabletToolTilt { x: 45, y: 0 }, TabletToolAngle { altitude: FRAC_PI_4, azimuth: 0. }), + (TabletToolTilt { x: -45, y: 0 }, TabletToolAngle { altitude: FRAC_PI_4, azimuth: PI }), + ]; + + for (tilt, angle) in TILT_TO_ANGLE { + assert_eq!(tilt.angle(), *angle, "{tilt:?}"); + } + + // See . + const ANGLE_TO_TILT: &[(TabletToolAngle, TabletToolTilt)] = &[ + (TabletToolAngle { altitude: 0., azimuth: 0. }, TabletToolTilt { x: 90, y: 0 }), + (TabletToolAngle { altitude: FRAC_PI_4, azimuth: 0. }, TabletToolTilt { x: 45, y: 0 }), + (TabletToolAngle { altitude: FRAC_PI_2, azimuth: 0. }, TabletToolTilt { x: 0, y: 0 }), + (TabletToolAngle { altitude: 0., azimuth: FRAC_PI_2 }, TabletToolTilt { x: 0, y: 90 }), + (TabletToolAngle { altitude: FRAC_PI_4, azimuth: FRAC_PI_2 }, TabletToolTilt { + x: 0, + y: 45, + }), + (TabletToolAngle { altitude: 0., azimuth: PI }, TabletToolTilt { x: -90, y: 0 }), + (TabletToolAngle { altitude: FRAC_PI_4, azimuth: PI }, TabletToolTilt { x: -45, y: 0 }), + (TabletToolAngle { altitude: 0., azimuth: 3. * FRAC_PI_2 }, TabletToolTilt { + x: 0, + y: -90, + }), + (TabletToolAngle { altitude: FRAC_PI_4, azimuth: 3. * FRAC_PI_2 }, TabletToolTilt { + x: 0, + y: -45, + }), + ]; + + for (angle, tilt) in ANGLE_TO_TILT { + assert_eq!(angle.tilt(), *tilt, "{angle:?}"); + } + } + #[test] fn test_force_normalize() { let force = event::Force::Normalized(0.0); - assert_eq!(force.normalized(), 0.0); + assert_eq!(force.normalized(None), 0.0); let force2 = event::Force::Calibrated { force: 5.0, max_possible_force: 2.5 }; - assert_eq!(force2.normalized(), 2.0); + assert_eq!(force2.normalized(None), 2.0); let force3 = event::Force::Calibrated { force: 5.0, max_possible_force: 2.5 }; - assert_eq!(force3.normalized(), 2.0); + assert_eq!( + force3.normalized(Some(event::TabletToolAngle { + altitude: std::f64::consts::PI / 2.0, + azimuth: 0. + })), + 2.0 + ); } #[allow(clippy::clone_on_copy)] diff --git a/winit-uikit/src/view.rs b/winit-uikit/src/view.rs index 194bf034..8ec238f9 100644 --- a/winit-uikit/src/view.rs +++ b/winit-uikit/src/view.rs @@ -461,6 +461,10 @@ impl WinitView { let window = self.window().unwrap(); let mut touch_events = Vec::new(); for touch in touches { + if let UITouchType::Pencil = touch.r#type() { + continue; + } + let logical_location = touch.locationInView(None); let touch_type = touch.r#type(); let force = if let UITouchType::Pencil = touch_type { diff --git a/winit-wayland/src/seat/mod.rs b/winit-wayland/src/seat/mod.rs index 38f84ae1..77637d0a 100644 --- a/winit-wayland/src/seat/mod.rs +++ b/winit-wayland/src/seat/mod.rs @@ -13,6 +13,7 @@ use sctk::seat::pointer::{ThemeSpec, ThemedPointer}; use sctk::seat::{Capability as SeatCapability, SeatHandler, SeatState}; use tracing::warn; use wayland_protocols::wp::pointer_gestures::zv1::client::zwp_pointer_gesture_pinch_v1::ZwpPointerGesturePinchV1; +use wayland_protocols::wp::tablet::zv2::client::zwp_tablet_seat_v2::ZwpTabletSeatV2; use winit_core::event::WindowEvent; use winit_core::keyboard::ModifiersState; @@ -50,6 +51,9 @@ pub struct WinitSeatState { /// The text input bound on the seat. text_input: Option>, + /// The tablet input bound on the seat. + tablet: Option>, + /// The relative pointer bound on the seat. relative_pointer: Option, @@ -156,6 +160,12 @@ impl SeatHandler for WinitState { TextInputData::default(), ))); } + + if let Some(tablet_state) = + seat_state.tablet.is_none().then_some(self.tablet_state.as_ref()).flatten() + { + seat_state.tablet = Some(Arc::new(tablet_state.get_tablet_seat(&seat, queue_handle))); + } } fn remove_capability( @@ -177,6 +187,11 @@ impl SeatHandler for WinitState { text_input.destroy(); } + // NOTE: figure out when this should actually be destroyed. + if let Some(tablet) = seat_state.tablet.take() { + tablet.destroy(); + } + match capability { SeatCapability::Touch => { if let Some(touch) = seat_state.touch.take() { diff --git a/winit-wayland/src/state.rs b/winit-wayland/src/state.rs index 2ca1de86..c254c872 100644 --- a/winit-wayland/src/state.rs +++ b/winit-wayland/src/state.rs @@ -30,6 +30,7 @@ use crate::seat::{ }; use crate::types::kwin_blur::KWinBlurManager; use crate::types::wp_fractional_scaling::FractionalScalingManager; +use crate::types::wp_tablet_input_v2::TabletManager; use crate::types::wp_viewporter::ViewporterState; use crate::types::xdg_activation::XdgActivationState; use crate::types::xdg_toplevel_icon_manager::XdgToplevelIconManagerState; @@ -100,6 +101,9 @@ pub struct WinitState { /// Relative pointer. pub relative_pointer: Option, + /// Tablet manager. + pub tablet_state: Option, + /// Pointer constraints to handle pointer locking and confining. pub pointer_constraints: Option>, @@ -194,6 +198,7 @@ impl WinitState { text_input_state: TextInputState::new(globals, queue_handle).ok(), relative_pointer: RelativePointerState::new(globals, queue_handle).ok(), + tablet_state: TabletManager::new(globals, queue_handle).ok(), pointer_constraints: PointerConstraintsState::new(globals, queue_handle) .map(Arc::new) .ok(), diff --git a/winit-wayland/src/types/mod.rs b/winit-wayland/src/types/mod.rs index e27a98ff..03b31bf5 100644 --- a/winit-wayland/src/types/mod.rs +++ b/winit-wayland/src/types/mod.rs @@ -3,6 +3,7 @@ pub mod cursor; pub mod kwin_blur; pub mod wp_fractional_scaling; +pub mod wp_tablet_input_v2; pub mod wp_viewporter; pub mod xdg_activation; pub mod xdg_toplevel_icon_manager; diff --git a/winit-wayland/src/types/wp_tablet_input_v2.rs b/winit-wayland/src/types/wp_tablet_input_v2.rs new file mode 100644 index 00000000..0d7e5a1e --- /dev/null +++ b/winit-wayland/src/types/wp_tablet_input_v2.rs @@ -0,0 +1,343 @@ +//! Handling of wp_tablet_input_v2. + +use std::sync::Mutex; + +use dpi::LogicalPosition; +use sctk::compositor::SurfaceData; +use sctk::globals::GlobalData; +use sctk::reexports::client::backend::smallvec::SmallVec; +use sctk::reexports::client::globals::{BindError, GlobalList}; +use sctk::reexports::client::protocol::wl_seat::WlSeat; +use sctk::reexports::client::protocol::wl_surface::WlSurface; +use sctk::reexports::client::{ + delegate_dispatch, event_created_child, Connection, Dispatch, Proxy, QueueHandle, WEnum, +}; +use sctk::reexports::protocols::wp::tablet::zv2::client::zwp_tablet_manager_v2::ZwpTabletManagerV2; +use sctk::reexports::protocols::wp::tablet::zv2::client::zwp_tablet_pad_v2::ZwpTabletPadV2; +use sctk::reexports::protocols::wp::tablet::zv2::client::zwp_tablet_seat_v2::{ + self, ZwpTabletSeatV2, +}; +use sctk::reexports::protocols::wp::tablet::zv2::client::zwp_tablet_tool_v2::{ + ButtonState, Event as ToolEvent, Type as ToolType, ZwpTabletToolV2, +}; +use sctk::reexports::protocols::wp::tablet::zv2::client::zwp_tablet_v2::ZwpTabletV2; +use winit_core::event::{ + ButtonSource, ElementState, Force, PointerKind, PointerSource, TabletToolButton, + TabletToolData as CoreTabletToolData, TabletToolKind, TabletToolTilt, WindowEvent, +}; + +use crate::state::WinitState; + +/// KWin blur manager. +#[derive(Debug, Clone)] +pub struct TabletManager { + manager: ZwpTabletManagerV2, +} + +impl TabletManager { + pub fn new( + globals: &GlobalList, + queue_handle: &QueueHandle, + ) -> Result { + // Ignore v2 since we are not interested in its events. + let manager = globals.bind(queue_handle, 1..=1, GlobalData)?; + Ok(Self { manager }) + } + + pub fn get_tablet_seat( + &self, + seat: &WlSeat, + queue_handle: &QueueHandle, + ) -> ZwpTabletSeatV2 { + self.manager.get_tablet_seat(seat, queue_handle, ()) + } +} +impl Dispatch for TabletManager { + fn event( + _: &mut WinitState, + _: &ZwpTabletManagerV2, + _: ::Event, + _: &GlobalData, + _: &Connection, + _: &QueueHandle, + ) { + unreachable!("no events defined for zwp_tablet_manager_v2"); + } +} + +impl Dispatch for TabletManager { + fn event( + _: &mut WinitState, + _: &ZwpTabletManagerV2, + _: ::Event, + _: &(), + _: &Connection, + _: &QueueHandle, + ) { + unreachable!("no events defined for zwp_tablet_manager_v2"); + } +} + +impl Dispatch for TabletManager { + event_created_child!(WinitState, ZwpTabletSeatV2, [ + zwp_tablet_seat_v2::EVT_TABLET_ADDED_OPCODE => (ZwpTabletV2, Default::default()), + zwp_tablet_seat_v2::EVT_TOOL_ADDED_OPCODE => (ZwpTabletToolV2, Default::default()), + zwp_tablet_seat_v2::EVT_PAD_ADDED_OPCODE => (ZwpTabletPadV2, Default::default()) + ]); + + fn event( + _: &mut WinitState, + _: &ZwpTabletSeatV2, + _: ::Event, + _: &(), + _: &Connection, + _: &QueueHandle, + ) { + } +} + +impl Dispatch for TabletManager { + fn event( + state: &mut WinitState, + _: &ZwpTabletToolV2, + event: ::Event, + data: &TabletToolData, + _: &Connection, + _: &QueueHandle, + ) { + let mut data = data.inner.lock().unwrap(); + + match event { + ToolEvent::Type { tool_type: WEnum::Value(tool_type) } => { + data.ty = match tool_type { + ToolType::Pen => TabletToolKind::Pen, + ToolType::Eraser => TabletToolKind::Eraser, + ToolType::Brush => TabletToolKind::Brush, + ToolType::Pencil => TabletToolKind::Pencil, + ToolType::Airbrush => TabletToolKind::Airbrush, + ToolType::Finger => TabletToolKind::Finger, + ToolType::Mouse => TabletToolKind::Mouse, + ToolType::Lens => TabletToolKind::Lens, + _ => return, + }; + }, + ToolEvent::Capability { .. } => {}, + ToolEvent::Done => (), + ToolEvent::ProximityIn { serial, surface, .. } => { + data.pending.push(TabletEvent::Enter { serial, surface }); + }, + ToolEvent::ProximityOut => data.pending.push(TabletEvent::Left), + ToolEvent::Down { serial } => { + let event = TabletEvent::Button { + state: ElementState::Pressed, + serial: Some(serial), + button: TabletToolButton::Contact, + }; + + data.pending.push(event); + }, + ToolEvent::Up => { + let event = TabletEvent::Button { + state: ElementState::Released, + serial: None, + button: TabletToolButton::Contact, + }; + + data.pending.push(event); + }, + ToolEvent::Tilt { tilt_x, tilt_y } => { + data.tool_state.tilt = Some(TabletToolTilt { x: tilt_x as i8, y: tilt_y as i8 }); + }, + ToolEvent::Motion { x, y } => { + data.position = (x, y).into(); + data.pending.push(TabletEvent::Moved); + }, + ToolEvent::Pressure { pressure } => { + data.tool_state.force = Some(Force::Normalized(pressure as f64 / u16::MAX as f64)); + }, + ToolEvent::Rotation { degrees } => { + data.tool_state.twist = Some(degrees as u16); + }, + ToolEvent::Button { serial, button, state: WEnum::Value(state) } => { + let state = match state { + ButtonState::Released => ElementState::Released, + ButtonState::Pressed => ElementState::Pressed, + _ => return, + }; + + // Map similar to SDL. + let button = match button { + // BTN_STYLUS. + 0x14b => TabletToolButton::Contact, + 0x14c => TabletToolButton::Barrel, + // BTN_STYLUS3. + 0x149 => TabletToolButton::Other(1), + // There's no defined conversion for any of that. + button => TabletToolButton::Other(button as u16), + }; + + let event = TabletEvent::Button { button, state, serial: Some(serial) }; + data.pending.push(event); + }, + ToolEvent::Frame { .. } => { + let kind = data.ty; + for event in std::mem::take(&mut data.pending) { + if let TabletEvent::Enter { surface, serial } = &event { + data.latest_enter_serial = Some(*serial); + data.surface = Some(surface.clone()); + } + + // Handle events only for top-level surface. + let surface = match data + .surface + .as_ref() + .map(|surface| (surface, surface.data::())) + { + Some((surface, Some(surface_data))) + if surface_data.parent_surface().is_none() => + { + surface + }, + _ => continue, + }; + + let window_id = crate::make_wid(surface); + + // Ensure that window exists. + let window = match state.windows.get_mut().get_mut(&window_id) { + Some(window) => window.lock().unwrap(), + None => continue, + }; + + let position = data.position.to_physical(window.scale_factor()); + + let window_event = match event { + TabletEvent::Enter { .. } => WindowEvent::PointerEntered { + device_id: None, + position, + primary: true, + kind: PointerKind::TabletTool(kind), + }, + TabletEvent::Moved => WindowEvent::PointerMoved { + device_id: None, + position, + primary: true, + source: PointerSource::TabletTool { + kind, + data: data.tool_state.clone(), + }, + }, + TabletEvent::Button { button, state, serial } => { + // Update serial if we have it. + if let Some(serial) = serial { + data.latest_button_serial = Some(serial); + } + + WindowEvent::PointerButton { + device_id: None, + state, + position, + primary: true, + button: ButtonSource::TabletTool { + kind, + button, + data: data.tool_state.clone(), + }, + } + }, + TabletEvent::Left => WindowEvent::PointerLeft { + device_id: None, + position: Some(position), + primary: true, + kind: PointerKind::TabletTool(kind), + }, + }; + + state.events_sink.push_window_event(window_event, window_id); + + // Clear up the surface after we've processed `Left` event. + if matches!(event, TabletEvent::Left) { + data.surface = None; + data.latest_button_serial = None; + data.latest_enter_serial = None; + data.tool_state = Default::default(); + } + } + }, + _ => (), + } + } +} + +#[derive(Debug, Default)] +struct TabletToolData { + inner: Mutex, +} + +#[derive(Debug, Default)] +pub(crate) struct TabletToolDataInner { + pub(crate) ty: TabletToolKind, + + /// Core tablet tool data. + pub(crate) tool_state: CoreTabletToolData, + + /// Pending events until the `frame` is received. + pub(crate) pending: SmallVec<[TabletEvent; 4]>, + + /// Surface the tablet most recently entered. + pub(crate) surface: Option, + + /// Position relative to the surface. + pub(crate) position: LogicalPosition, + + // NOTE: even though we don't utilize serials + // right now, track them anyway. + /// The serial of the latest enter event for the pointer + pub(crate) latest_enter_serial: Option, + + /// The serial of the latest button event for the pointer + pub(crate) latest_button_serial: Option, +} + +// Due to wayland using logical coordinates, +// delay the conversion to physical until the dispatch actually happens, +// so the scaling is applied at the time of actual dispatch, since it +// can technically change before the `frame` event. +#[derive(Debug, Clone)] +pub(crate) enum TabletEvent { + Enter { serial: u32, surface: WlSurface }, + Left, + Moved, + Button { button: TabletToolButton, state: ElementState, serial: Option }, +} + +impl Dispatch for TabletManager { + fn event( + _: &mut WinitState, + _: &ZwpTabletV2, + _: ::Event, + _: &(), + _: &Connection, + _: &QueueHandle, + ) { + } +} + +impl Dispatch for TabletManager { + fn event( + _: &mut WinitState, + _: &ZwpTabletPadV2, + _: ::Event, + _: &(), + _: &Connection, + _: &QueueHandle, + ) { + } +} + +delegate_dispatch!(WinitState: [ZwpTabletManagerV2: GlobalData] => TabletManager); +delegate_dispatch!(WinitState: [ZwpTabletManagerV2: ()] => TabletManager); +delegate_dispatch!(WinitState: [ZwpTabletSeatV2: ()] => TabletManager); +delegate_dispatch!(WinitState: [ZwpTabletV2: ()] => TabletManager); +delegate_dispatch!(WinitState: [ZwpTabletToolV2: TabletToolData] => TabletManager); +delegate_dispatch!(WinitState: [ZwpTabletPadV2: ()] => TabletManager); diff --git a/winit-web/src/cursor.rs b/winit-web/src/cursor.rs index d5035481..6aeb156b 100644 --- a/winit-web/src/cursor.rs +++ b/winit-web/src/cursor.rs @@ -216,7 +216,7 @@ impl CursorHandler { Cursor::Custom(cursor) => { let cursor = match cursor.cast_ref::() { Some(cursor) => cursor, - None => todo!(), + None => return, }; if let SelectedCursor::Loading { cursor: old_cursor, .. } diff --git a/winit-web/src/event_loop/runner.rs b/winit-web/src/event_loop/runner.rs index 4aeaf383..6712df2d 100644 --- a/winit-web/src/event_loop/runner.rs +++ b/winit-web/src/event_loop/runner.rs @@ -24,7 +24,7 @@ use crate::event_loop::ActiveEventLoop; use crate::main_thread::MainThreadMarker; use crate::monitor::MonitorHandler; use crate::r#async::DispatchRunner; -use crate::web_sys::event::mouse_button_to_id; +use crate::web_sys::event::ButtonsState; use crate::window::Inner; use crate::{backend, event, EventLoop, PollStrategy, WaitUntilStrategy}; @@ -318,8 +318,10 @@ impl Shared { // chorded button event let device_id = event::mkdid(event.pointer_id()); - if let Some(button) = backend::event::mouse_button(&event) { - let state = if backend::event::mouse_buttons(&event).contains(button.into()) { + if let Some(button) = backend::event::raw_button(&event) { + let state = if backend::event::pointer_buttons(&event) + .contains(ButtonsState::from_bits_retain(button)) + { ElementState::Pressed } else { ElementState::Released @@ -327,10 +329,7 @@ impl Shared { runner.send_event(Event::DeviceEvent { device_id, - event: DeviceEvent::Button { - button: mouse_button_to_id(button).into(), - state, - }, + event: DeviceEvent::Button { button: button.into(), state }, }); return; @@ -338,14 +337,16 @@ impl Shared { // pointer move event let mut delta = backend::event::MouseDelta::init(&navigator, &event); - runner.send_events(backend::event::pointer_move_event(event).map(|event| { - let delta = delta.delta(&event).to_physical(backend::scale_factor(&window)); + runner.send_events(backend::event::pointer_move_event(event).map( + |event: web_sys::PointerEvent| { + let delta = delta.delta(&event).to_physical(backend::scale_factor(&window)); - Event::DeviceEvent { - device_id, - event: DeviceEvent::PointerMotion { delta: (delta.x, delta.y) }, - } - })); + Event::DeviceEvent { + device_id, + event: DeviceEvent::PointerMotion { delta: (delta.x, delta.y) }, + } + }, + )); }), )); let runner = self.clone(); @@ -375,11 +376,11 @@ impl Shared { return; } - let button = backend::event::mouse_button(&event).expect("no mouse button pressed"); + let button = backend::event::raw_button(&event).expect("no pointer button pressed"); runner.send_event(Event::DeviceEvent { device_id: event::mkdid(event.pointer_id()), event: DeviceEvent::Button { - button: mouse_button_to_id(button).into(), + button: button.into(), state: ElementState::Pressed, }, }); @@ -394,11 +395,11 @@ impl Shared { return; } - let button = backend::event::mouse_button(&event).expect("no mouse button pressed"); + let button = backend::event::raw_button(&event).expect("no pointer button pressed"); runner.send_event(Event::DeviceEvent { device_id: event::mkdid(event.pointer_id()), event: DeviceEvent::Button { - button: mouse_button_to_id(button).into(), + button: button.into(), state: ElementState::Released, }, }); diff --git a/winit-web/src/web_sys/event.rs b/winit-web/src/web_sys/event.rs index 69a1635a..ad654314 100644 --- a/winit-web/src/web_sys/event.rs +++ b/winit-web/src/web_sys/event.rs @@ -1,11 +1,16 @@ use std::cell::OnceCell; +use std::f64; use dpi::{LogicalPosition, PhysicalPosition, Position}; use smol_str::SmolStr; +use tracing::warn; use wasm_bindgen::prelude::wasm_bindgen; use wasm_bindgen::{JsCast, JsValue}; -use web_sys::{KeyboardEvent, MouseEvent, Navigator, PointerEvent, WheelEvent}; -use winit_core::event::{FingerId, MouseButton, MouseScrollDelta, PointerKind}; +use web_sys::{Event, KeyboardEvent, MouseEvent, Navigator, PointerEvent, WheelEvent}; +use winit_core::event::{ + ButtonSource, FingerId, Force, MouseButton, MouseScrollDelta, PointerKind, PointerSource, + TabletToolAngle, TabletToolButton, TabletToolData, TabletToolKind, TabletToolTilt, +}; use winit_core::keyboard::{ Key, KeyCode, KeyLocation, ModifiersState, NamedKey, NativeKey, NativeKeyCode, PhysicalKey, }; @@ -16,11 +21,12 @@ bitflags::bitflags! { // https://www.w3.org/TR/pointerevents3/#the-buttons-property #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub struct ButtonsState: u16 { - const LEFT = 0b00001; - const RIGHT = 0b00010; - const MIDDLE = 0b00100; - const BACK = 0b01000; - const FORWARD = 0b10000; + const LEFT = 0b000001; + const RIGHT = 0b000010; + const MIDDLE = 0b000100; + const BACK = 0b001000; + const FORWARD = 0b010000; + const ERASER = 0b100000; } } @@ -37,6 +43,15 @@ impl From for MouseButton { } } +impl From for ButtonsState { + fn from(value: ButtonSource) -> Self { + match value { + ButtonSource::TabletTool { button, .. } => button.into(), + other => ButtonsState::from(other.mouse_button()), + } + } +} + impl From for ButtonsState { fn from(value: MouseButton) -> Self { match value { @@ -50,37 +65,133 @@ impl From for ButtonsState { } } -pub fn mouse_buttons(event: &MouseEvent) -> ButtonsState { +impl From for ButtonsState { + fn from(tool: TabletToolButton) -> Self { + match tool { + TabletToolButton::Contact => ButtonsState::LEFT, + TabletToolButton::Barrel => ButtonsState::RIGHT, + TabletToolButton::Other(value) => Self::from_bits_retain(value), + } + } +} + +pub fn pointer_buttons(event: &MouseEvent) -> ButtonsState { + #[allow(clippy::disallowed_methods)] ButtonsState::from_bits_retain(event.buttons()) } -pub fn mouse_button(event: &MouseEvent) -> Option { +pub fn raw_button(event: &MouseEvent) -> Option { // https://www.w3.org/TR/pointerevents3/#the-button-property - match event.button() { - -1 => None, - 0 => Some(MouseButton::Left), - 1 => Some(MouseButton::Middle), - 2 => Some(MouseButton::Right), - 3 => Some(MouseButton::Back), - 4 => Some(MouseButton::Forward), - i => { - Some(MouseButton::Other(i.try_into().expect("unexpected negative mouse button value"))) - }, + #[allow(clippy::disallowed_methods)] + let button = event.button(); + + if button == -1 { + None + } else { + Some(button.try_into().expect("unexpected negative mouse button value")) } } -pub fn mouse_button_to_id(button: MouseButton) -> u16 { +pub fn mouse_button(button: u16) -> MouseButton { match button { - MouseButton::Left => 0, - MouseButton::Right => 1, - MouseButton::Middle => 2, - MouseButton::Back => 3, - MouseButton::Forward => 4, - MouseButton::Other(value) => value, + 0 => MouseButton::Left, + 1 => MouseButton::Middle, + 2 => MouseButton::Right, + 3 => MouseButton::Back, + 4 => MouseButton::Forward, + other => MouseButton::Other(other), } } -pub fn mouse_position(event: &MouseEvent) -> LogicalPosition { +pub fn tool_button(button: u16) -> TabletToolButton { + match button { + 0 => TabletToolButton::Contact, + 2 => TabletToolButton::Barrel, + other => TabletToolButton::Other(other), + } +} + +#[derive(Clone, Copy)] +pub enum WebPointerType { + Mouse, + Touch, + Pen, +} + +impl WebPointerType { + pub fn from_event(event: &PointerEvent) -> Option { + #[allow(clippy::disallowed_methods)] + let r#type = event.pointer_type(); + + match r#type.as_ref() { + "mouse" => Some(Self::Mouse), + "touch" => Some(Self::Touch), + "pen" => Some(Self::Pen), + r#type => { + warn!("found unknown pointer type: {type}"); + None + }, + } + } +} + +pub fn pointer_kind(event: &PointerEvent, pointer_id: i32) -> PointerKind { + match WebPointerType::from_event(event) { + Some(WebPointerType::Mouse) => PointerKind::Mouse, + Some(WebPointerType::Touch) => PointerKind::Touch(FingerId::from_raw(pointer_id as usize)), + Some(WebPointerType::Pen) => { + PointerKind::TabletTool(if pointer_buttons(event).contains(ButtonsState::ERASER) { + TabletToolKind::Eraser + } else { + TabletToolKind::Pen + }) + }, + None => PointerKind::Unknown, + } +} + +pub fn pointer_source(event: &PointerEvent, kind: PointerKind) -> PointerSource { + #[wasm_bindgen] + extern "C" { + #[wasm_bindgen(extends = PointerEvent, extends = MouseEvent, extends = Event)] + pub type PointerEventExt; + + #[wasm_bindgen(method, getter, js_name = altitudeAngle)] + pub fn altitude_angle(this: &PointerEventExt) -> Option; + + #[wasm_bindgen(method, getter, js_name = azimuthAngle)] + pub fn azimuth_angle(this: &PointerEventExt) -> f64; + } + + let event: &PointerEventExt = event.unchecked_ref(); + + match kind { + PointerKind::Mouse => PointerSource::Mouse, + PointerKind::Touch(id) => PointerSource::Touch { + finger_id: id, + force: Some(Force::Normalized(event.pressure().into())), + }, + PointerKind::TabletTool(tool) => { + let data = TabletToolData { + force: Some(Force::Normalized(event.pressure().into())), + tangential_force: Some(event.tangential_pressure()), + twist: Some(event.twist().try_into().expect("found invalid `twist`")), + tilt: Some(TabletToolTilt { + x: event.tilt_x().try_into().expect("found invalid `tiltX`"), + y: event.tilt_y().try_into().expect("found invalid `tiltY`"), + }), + angle: event + .altitude_angle() + .map(|altitude| TabletToolAngle { altitude, azimuth: event.azimuth_angle() }), + }; + + PointerSource::TabletTool { kind: tool, data } + }, + PointerKind::Unknown => PointerSource::Unknown, + } +} + +pub fn pointer_position(event: &MouseEvent) -> LogicalPosition { #[wasm_bindgen] extern "C" { type MouseEventExt; @@ -113,7 +224,7 @@ impl MouseDelta { Some(Engine::Chromium) => Self::Chromium, // Firefox has wrong movement values in coalesced events. Some(Engine::Gecko) if has_coalesced_events_support(event) => Self::Gecko { - old_position: mouse_position(event), + old_position: pointer_position(event), old_delta: LogicalPosition::new( event.movement_x() as f64, event.movement_y() as f64, @@ -129,7 +240,7 @@ impl MouseDelta { PhysicalPosition::new(event.movement_x(), event.movement_y()).into() }, MouseDelta::Gecko { old_position, old_delta } => { - let new_position = mouse_position(event); + let new_position = pointer_position(event); let x = new_position.x - old_position.x + old_delta.x; let y = new_position.y - old_position.y + old_delta.y; *old_position = new_position; @@ -160,14 +271,6 @@ pub fn mouse_scroll_delta( } } -pub fn pointer_type(event: &PointerEvent, pointer_id: i32) -> PointerKind { - match event.pointer_type().as_str() { - "mouse" => PointerKind::Mouse, - "touch" => PointerKind::Touch(FingerId::from_raw(pointer_id as usize)), - _ => PointerKind::Unknown, - } -} - pub fn key_code(event: &KeyboardEvent) -> PhysicalKey { // Use keyboard-types' parsing (it is based on the W3C standard). match event.code().parse() { diff --git a/winit-web/src/web_sys/pointer.rs b/winit-web/src/web_sys/pointer.rs index 0187947e..fe609cfa 100644 --- a/winit-web/src/web_sys/pointer.rs +++ b/winit-web/src/web_sys/pointer.rs @@ -3,14 +3,14 @@ use std::rc::Rc; use dpi::PhysicalPosition; use web_sys::PointerEvent; -use winit_core::event::{ButtonSource, DeviceId, ElementState, Force, PointerKind, PointerSource}; +use winit_core::event::{ButtonSource, DeviceId, ElementState, PointerKind, PointerSource}; use winit_core::keyboard::ModifiersState; use super::canvas::Common; use super::event; use super::event_handle::EventListenerHandle; use crate::event::mkdid; -use crate::web_sys::event::mouse_button_to_id; +use crate::web_sys::event::ButtonsState; #[allow(dead_code)] pub(super) struct PointerHandler { @@ -46,8 +46,8 @@ impl PointerHandler { let pointer_id = event.pointer_id(); let device_id = mkdid(pointer_id); let position = - event::mouse_position(&event).to_physical(super::scale_factor(&window)); - let kind = event::pointer_type(&event, pointer_id); + event::pointer_position(&event).to_physical(super::scale_factor(&window)); + let kind = event::pointer_kind(&event, pointer_id); handler(modifiers, device_id, event.is_primary(), position, kind); })); } @@ -64,8 +64,8 @@ impl PointerHandler { let pointer_id = event.pointer_id(); let device_id = mkdid(pointer_id); let position = - event::mouse_position(&event).to_physical(super::scale_factor(&window)); - let kind = event::pointer_type(&event, pointer_id); + event::pointer_position(&event).to_physical(super::scale_factor(&window)); + let kind = event::pointer_kind(&event, pointer_id); handler(modifiers, device_id, event.is_primary(), position, kind); })); } @@ -80,24 +80,25 @@ impl PointerHandler { Some(canvas_common.add_event("pointerup", move |event: PointerEvent| { let modifiers = event::mouse_modifiers(&event); let pointer_id = event.pointer_id(); - let kind = event::pointer_type(&event, pointer_id); + let kind = event::pointer_kind(&event, pointer_id); + let button = event::raw_button(&event).expect("no button pressed"); - let button = event::mouse_button(&event).expect("no mouse button pressed"); - - let source = match kind { - PointerKind::Mouse => ButtonSource::Mouse(button), - PointerKind::Touch(finger_id) => ButtonSource::Touch { - finger_id, - force: Some(Force::Normalized(event.pressure().into())), + let source = match event::pointer_source(&event, kind) { + PointerSource::Mouse => ButtonSource::Mouse(event::mouse_button(button)), + PointerSource::Touch { finger_id, force } => { + ButtonSource::Touch { finger_id, force } }, - PointerKind::Unknown => ButtonSource::Unknown(mouse_button_to_id(button)), + PointerSource::TabletTool { kind, data } => { + ButtonSource::TabletTool { kind, button: event::tool_button(button), data } + }, + PointerSource::Unknown => ButtonSource::Unknown(button), }; handler( modifiers, mkdid(pointer_id), event.is_primary(), - event::mouse_position(&event).to_physical(super::scale_factor(&window)), + event::pointer_position(&event).to_physical(super::scale_factor(&window)), source, ) })); @@ -125,11 +126,11 @@ impl PointerHandler { let modifiers = event::mouse_modifiers(&event); let pointer_id = event.pointer_id(); - let kind = event::pointer_type(&event, pointer_id); - let button = event::mouse_button(&event).expect("no mouse button pressed"); + let kind = event::pointer_kind(&event, pointer_id); + let button = event::raw_button(&event).expect("no button pressed"); - let source = match kind { - PointerKind::Mouse => { + let source = match event::pointer_source(&event, kind) { + PointerSource::Mouse => { // Error is swallowed here since the error would occur every time the // mouse is clicked when the cursor is // grabbed, and there is probably not a @@ -137,20 +138,29 @@ impl PointerHandler { // care if it fails. let _e = canvas.set_pointer_capture(pointer_id); - ButtonSource::Mouse(button) + ButtonSource::Mouse(event::mouse_button(button)) }, - PointerKind::Touch(finger_id) => ButtonSource::Touch { - finger_id, - force: Some(Force::Normalized(event.pressure().into())), + PointerSource::Touch { finger_id, force } => { + ButtonSource::Touch { finger_id, force } }, - PointerKind::Unknown => ButtonSource::Unknown(mouse_button_to_id(button)), + PointerSource::TabletTool { kind, data } => { + // Error is swallowed here since the error would occur every time the + // mouse is clicked when the cursor is + // grabbed, and there is probably not a + // situation where this could fail, that we + // care if it fails. + let _e = canvas.set_pointer_capture(pointer_id); + + ButtonSource::TabletTool { kind, button: event::tool_button(button), data } + }, + PointerSource::Unknown => ButtonSource::Unknown(button), }; handler( modifiers, mkdid(pointer_id), event.is_primary(), - event::mouse_position(&event).to_physical(super::scale_factor(&window)), + event::pointer_position(&event).to_physical(super::scale_factor(&window)), source, ) })); @@ -186,11 +196,11 @@ impl PointerHandler { Some(canvas_common.add_event("pointermove", move |event: PointerEvent| { let pointer_id = event.pointer_id(); let device_id = mkdid(pointer_id); - let kind = event::pointer_type(&event, pointer_id); + let kind = event::pointer_kind(&event, pointer_id); let primary = event.is_primary(); // chorded button event - if let Some(button) = event::mouse_button(&event) { + if let Some(button) = event::raw_button(&event) { if prevent_default.get() { // prevent text selection event.prevent_default(); @@ -198,34 +208,36 @@ impl PointerHandler { let _ = canvas.focus(); } - let state = if event::mouse_buttons(&event).contains(button.into()) { + let state = if event::pointer_buttons(&event) + .contains(ButtonsState::from_bits_retain(button)) + { ElementState::Pressed } else { ElementState::Released }; - let button = match kind { - PointerKind::Mouse => ButtonSource::Mouse(button), - PointerKind::Touch(finger_id) => { - let button_id = mouse_button_to_id(button); - - if button_id != 1 { - tracing::error!("unexpected touch button id: {button_id}"); + let button = match event::pointer_source(&event, kind) { + PointerSource::Mouse => ButtonSource::Mouse(event::mouse_button(button)), + PointerSource::Touch { finger_id, force } => { + if button != 0 { + tracing::error!("unexpected touch button id: {button}"); } - ButtonSource::Touch { - finger_id, - force: Some(Force::Normalized(event.pressure().into())), - } + ButtonSource::Touch { finger_id, force } }, - PointerKind::Unknown => todo!(), + PointerSource::TabletTool { kind, data } => ButtonSource::TabletTool { + kind, + button: event::tool_button(button), + data, + }, + PointerSource::Unknown => ButtonSource::Unknown(button), }; button_handler( event::mouse_modifiers(&event), device_id, primary, - event::mouse_position(&event).to_physical(super::scale_factor(&window)), + event::pointer_position(&event).to_physical(super::scale_factor(&window)), state, button, ); @@ -242,15 +254,8 @@ impl PointerHandler { ( event::mouse_modifiers(&event), event.is_primary(), - event::mouse_position(&event).to_physical(scale), - match kind { - PointerKind::Mouse => PointerSource::Mouse, - PointerKind::Touch(finger_id) => PointerSource::Touch { - finger_id, - force: Some(Force::Normalized(event.pressure().into())), - }, - PointerKind::Unknown => PointerSource::Unknown, - }, + event::pointer_position(&event).to_physical(scale), + event::pointer_source(&event, kind), ) }), ); diff --git a/winit-win32/src/event_loop.rs b/winit-win32/src/event_loop.rs index 974170a5..7c3c3227 100644 --- a/winit-win32/src/event_loop.rs +++ b/winit-win32/src/event_loop.rs @@ -44,28 +44,29 @@ use windows_sys::Win32::UI::WindowsAndMessaging::{ GetMenu, LoadCursorW, MsgWaitForMultipleObjectsEx, PeekMessageW, PostMessageW, RegisterClassExW, RegisterWindowMessageA, SetCursor, SetWindowPos, SystemParametersInfoW, TranslateMessage, CREATESTRUCTW, GWL_STYLE, GWL_USERDATA, HTCAPTION, HTCLIENT, MINMAXINFO, - MNC_CLOSE, MSG, MWMO_INPUTAVAILABLE, NCCALCSIZE_PARAMS, PM_REMOVE, PT_TOUCH, QS_ALLINPUT, - RI_MOUSE_HWHEEL, RI_MOUSE_WHEEL, SC_MINIMIZE, SC_RESTORE, SIZE_MAXIMIZED, - SPI_GETWHEELSCROLLCHARS, SPI_GETWHEELSCROLLLINES, SWP_NOACTIVATE, SWP_NOMOVE, SWP_NOSIZE, - SWP_NOZORDER, WHEEL_DELTA, WINDOWPOS, WMSZ_BOTTOM, WMSZ_BOTTOMLEFT, WMSZ_BOTTOMRIGHT, - WMSZ_LEFT, WMSZ_RIGHT, WMSZ_TOP, WMSZ_TOPLEFT, WMSZ_TOPRIGHT, WM_CAPTURECHANGED, WM_CLOSE, - WM_CREATE, WM_DESTROY, WM_DPICHANGED, WM_ENTERSIZEMOVE, WM_EXITSIZEMOVE, WM_GETMINMAXINFO, - WM_IME_COMPOSITION, WM_IME_ENDCOMPOSITION, WM_IME_SETCONTEXT, WM_IME_STARTCOMPOSITION, - WM_INPUT, WM_KEYDOWN, WM_KEYUP, WM_KILLFOCUS, WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MBUTTONDOWN, - WM_MBUTTONUP, WM_MENUCHAR, WM_MOUSEHWHEEL, WM_MOUSEMOVE, WM_MOUSEWHEEL, WM_NCACTIVATE, - WM_NCCALCSIZE, WM_NCCREATE, WM_NCDESTROY, WM_NCLBUTTONDOWN, WM_PAINT, WM_POINTERDOWN, - WM_POINTERUP, WM_POINTERUPDATE, WM_RBUTTONDOWN, WM_RBUTTONUP, WM_SETCURSOR, WM_SETFOCUS, - WM_SETTINGCHANGE, WM_SIZE, WM_SIZING, WM_SYSCOMMAND, WM_SYSKEYDOWN, WM_SYSKEYUP, WM_TOUCH, - WM_WINDOWPOSCHANGED, WM_WINDOWPOSCHANGING, WM_XBUTTONDOWN, WM_XBUTTONUP, WNDCLASSEXW, - WS_EX_LAYERED, WS_EX_NOACTIVATE, WS_EX_TOOLWINDOW, WS_EX_TRANSPARENT, WS_OVERLAPPED, WS_POPUP, - WS_VISIBLE, + MNC_CLOSE, MSG, MWMO_INPUTAVAILABLE, NCCALCSIZE_PARAMS, PEN_FLAG_BARREL, PEN_FLAG_ERASER, + PEN_MASK_PRESSURE, PEN_MASK_ROTATION, PEN_MASK_TILT_X, PEN_MASK_TILT_Y, PM_REMOVE, PT_PEN, + PT_TOUCH, QS_ALLINPUT, RI_MOUSE_HWHEEL, RI_MOUSE_WHEEL, SC_MINIMIZE, SC_RESTORE, + SIZE_MAXIMIZED, SPI_GETWHEELSCROLLCHARS, SPI_GETWHEELSCROLLLINES, SWP_NOACTIVATE, SWP_NOMOVE, + SWP_NOSIZE, SWP_NOZORDER, WHEEL_DELTA, WINDOWPOS, WMSZ_BOTTOM, WMSZ_BOTTOMLEFT, + WMSZ_BOTTOMRIGHT, WMSZ_LEFT, WMSZ_RIGHT, WMSZ_TOP, WMSZ_TOPLEFT, WMSZ_TOPRIGHT, + WM_CAPTURECHANGED, WM_CLOSE, WM_CREATE, WM_DESTROY, WM_DPICHANGED, WM_ENTERSIZEMOVE, + WM_EXITSIZEMOVE, WM_GETMINMAXINFO, WM_IME_COMPOSITION, WM_IME_ENDCOMPOSITION, + WM_IME_SETCONTEXT, WM_IME_STARTCOMPOSITION, WM_INPUT, WM_KEYDOWN, WM_KEYUP, WM_KILLFOCUS, + WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MBUTTONDOWN, WM_MBUTTONUP, WM_MENUCHAR, WM_MOUSEHWHEEL, + WM_MOUSEMOVE, WM_MOUSEWHEEL, WM_NCACTIVATE, WM_NCCALCSIZE, WM_NCCREATE, WM_NCDESTROY, + WM_NCLBUTTONDOWN, WM_PAINT, WM_POINTERDOWN, WM_POINTERUP, WM_POINTERUPDATE, WM_RBUTTONDOWN, + WM_RBUTTONUP, WM_SETCURSOR, WM_SETFOCUS, WM_SETTINGCHANGE, WM_SIZE, WM_SIZING, WM_SYSCOMMAND, + WM_SYSKEYDOWN, WM_SYSKEYUP, WM_TOUCH, WM_WINDOWPOSCHANGED, WM_WINDOWPOSCHANGING, + WM_XBUTTONDOWN, WM_XBUTTONUP, WNDCLASSEXW, WS_EX_LAYERED, WS_EX_NOACTIVATE, WS_EX_TOOLWINDOW, + WS_EX_TRANSPARENT, WS_OVERLAPPED, WS_POPUP, WS_VISIBLE, }; use winit_core::application::ApplicationHandler; use winit_core::cursor::{CustomCursor, CustomCursorSource}; use winit_core::error::{EventLoopError, NotSupportedError, RequestError}; use winit_core::event::{ - DeviceEvent, DeviceId, FingerId, Force, Ime, RawKeyEvent, SurfaceSizeWriter, TouchPhase, - WindowEvent, + DeviceEvent, DeviceId, FingerId, Force, Ime, RawKeyEvent, SurfaceSizeWriter, TabletToolButton, + TabletToolData, TabletToolKind, TabletToolTilt, TouchPhase, WindowEvent, }; use winit_core::event_loop::pump_events::PumpStatus; use winit_core::event_loop::{ @@ -106,6 +107,7 @@ pub(crate) struct WindowData { pub key_event_builder: KeyEventBuilder, pub _file_drop_handler: Option, pub userdata_removed: Cell, + pub last_tablet_down_button_state: Cell, pub recurse_depth: Cell, } @@ -2085,22 +2087,6 @@ unsafe fn public_window_callback_inner( continue; } - let force = if let PT_TOUCH = pointer_info.pointerType { - let mut touch_info = mem::MaybeUninit::uninit(); - util::GET_POINTER_TOUCH_INFO.and_then(|GetPointerTouchInfo| { - match unsafe { - GetPointerTouchInfo(pointer_info.pointerId, touch_info.as_mut_ptr()) - } { - 0 => None, - _ => normalize_pointer_pressure(unsafe { - touch_info.assume_init().pressure - }), - } - }) - } else { - None - }; - let x = location.x as f64 + x.fract(); let y = location.y as f64 + y.fract(); let position = PhysicalPosition::new(x, y); @@ -2108,60 +2094,83 @@ unsafe fn public_window_callback_inner( let finger_id = FingerId::from_raw(pointer_info.pointerId as usize); let primary = util::has_flag(pointer_info.pointerFlags, POINTER_FLAG_PRIMARY); - if util::has_flag(pointer_info.pointerFlags, POINTER_FLAG_DOWN) { - userdata.send_window_event(window, WindowEvent::PointerEntered { - device_id: None, - primary, - position, - kind: if let PT_TOUCH = pointer_info.pointerType { - PointerKind::Touch(finger_id) - } else { - PointerKind::Unknown + let is_down = util::has_flag(pointer_info.pointerFlags, POINTER_FLAG_DOWN); + if is_down || util::has_flag(pointer_info.pointerFlags, POINTER_FLAG_UP) { + let (kind, button) = match pointer_info.pointerType { + PT_TOUCH => (PointerKind::Touch(finger_id), ButtonSource::Touch { + finger_id, + force: force_for_touch(pointer_info.pointerId), + }), + PT_PEN => { + let kind = PointerKind::TabletTool(TabletToolKind::Pen); + let (mut pen_flags, data) = + tablet_tool_info_for_pen(pointer_info.pointerId); + let old_pen_flags = + userdata.last_tablet_down_button_state.replace(pen_flags); + // For release, use a diff. + if !is_down { + pen_flags ^= old_pen_flags; + }; + + let button = ButtonSource::TabletTool { + kind: TabletToolKind::Pen, + button: pen_flags_to_button(pen_flags), + data, + }; + + (kind, button) }, - }); - userdata.send_window_event(window, WindowEvent::PointerButton { - device_id: None, - primary, - state: Pressed, - position, - button: if let PT_TOUCH = pointer_info.pointerType { - ButtonSource::Touch { finger_id, force } - } else { - ButtonSource::Unknown(0) - }, - }); - } else if util::has_flag(pointer_info.pointerFlags, POINTER_FLAG_UP) { - userdata.send_window_event(window, WindowEvent::PointerButton { - device_id: None, - primary, - state: Released, - position, - button: if let PT_TOUCH = pointer_info.pointerType { - ButtonSource::Touch { finger_id, force } - } else { - ButtonSource::Unknown(0) - }, - }); - userdata.send_window_event(window, WindowEvent::PointerLeft { - device_id: None, - primary, - position: Some(position), - kind: if let PT_TOUCH = pointer_info.pointerType { - PointerKind::Touch(finger_id) - } else { - PointerKind::Unknown - }, - }); + _ => (PointerKind::Unknown, ButtonSource::Unknown(0)), + }; + + if is_down { + userdata.send_window_event(window, WindowEvent::PointerEntered { + device_id: None, + primary, + position, + kind, + }); + + userdata.send_window_event(window, WindowEvent::PointerButton { + device_id: None, + primary, + state: Pressed, + position, + button, + }); + } else { + userdata.send_window_event(window, WindowEvent::PointerButton { + device_id: None, + primary, + state: Released, + position, + button, + }); + userdata.send_window_event(window, WindowEvent::PointerLeft { + device_id: None, + primary, + position: Some(position), + kind, + }); + } } else if util::has_flag(pointer_info.pointerFlags, POINTER_FLAG_UPDATE) { + let source = match pointer_info.pointerType { + PT_TOUCH => PointerSource::Touch { + finger_id, + force: force_for_touch(pointer_info.pointerId), + }, + PT_PEN => PointerSource::TabletTool { + kind: TabletToolKind::Pen, + data: tablet_tool_info_for_pen(pointer_info.pointerId).1, + }, + _ => PointerSource::Unknown, + }; + userdata.send_window_event(window, WindowEvent::PointerMoved { device_id: None, primary, position, - source: if let PT_TOUCH = pointer_info.pointerType { - PointerSource::Touch { finger_id, force } - } else { - PointerSource::Unknown - }, + source, }); } else { continue; @@ -2691,3 +2700,57 @@ fn apply_win10_dpi_adjustment( conservative_rect } + +fn force_for_touch(pointer_id: u32) -> Option { + let mut touch_info = mem::MaybeUninit::uninit(); + util::GET_POINTER_TOUCH_INFO.and_then(|GetPointerTouchInfo| { + match unsafe { GetPointerTouchInfo(pointer_id, touch_info.as_mut_ptr()) } { + 0 => None, + _ => normalize_pointer_pressure(unsafe { touch_info.assume_init().pressure }), + } + }) +} + +// Information is stored on the same thing, so we don't save anything by +// splitting the functions. +fn tablet_tool_info_for_pen(pointer_id: u32) -> (u32, TabletToolData) { + let mut tool_data = TabletToolData::default(); + let mut tool_button = 0; + + let mut tablet_info = mem::MaybeUninit::uninit(); + util::GET_POINTER_PEN_INFO.map(|GetPointerPenInfo| { + if unsafe { GetPointerPenInfo(pointer_id, tablet_info.as_mut_ptr()) } == 0 { + return; + } + + let pen_info = unsafe { tablet_info.assume_init() }; + if pen_info.penMask & PEN_MASK_PRESSURE != 0 { + tool_data.force = normalize_pointer_pressure(pen_info.pressure); + } + if pen_info.penMask & (PEN_MASK_TILT_X | PEN_MASK_TILT_Y) != 0 { + tool_data.tilt = + Some(TabletToolTilt { x: pen_info.tiltX as i8, y: pen_info.tiltY as i8 }); + } + if pen_info.penMask & PEN_MASK_ROTATION != 0 { + tool_data.twist = Some(pen_info.rotation as u16); + } + + tool_button = pen_info.penFlags; + }); + + (tool_button, tool_data) +} + +// NOTE: According to firefox, the buttons while can be combined, in +// reality they are not. +fn pen_flags_to_button(flags: u32) -> TabletToolButton { + if flags & PEN_FLAG_BARREL != 0 { + TabletToolButton::Barrel + } else if flags & PEN_FLAG_ERASER != 0 { + // NOTE: this is likely not a correct thing to do, but route + // it that way for now. + TabletToolButton::Other(PEN_FLAG_ERASER as u16) + } else { + TabletToolButton::Contact + } +} diff --git a/winit-win32/src/util.rs b/winit-win32/src/util.rs index 4d1ee935..46316954 100644 --- a/winit-win32/src/util.rs +++ b/winit-win32/src/util.rs @@ -16,7 +16,7 @@ use windows_sys::Win32::UI::HiDpi::{ DPI_AWARENESS_CONTEXT, MONITOR_DPI_TYPE, PROCESS_DPI_AWARENESS, }; use windows_sys::Win32::UI::Input::KeyboardAndMouse::GetActiveWindow; -use windows_sys::Win32::UI::Input::Pointer::{POINTER_INFO, POINTER_TOUCH_INFO}; +use windows_sys::Win32::UI::Input::Pointer::{POINTER_INFO, POINTER_PEN_INFO, POINTER_TOUCH_INFO}; use windows_sys::Win32::UI::WindowsAndMessaging::{ ClipCursor, GetClientRect, GetClipCursor, GetCursorPos, GetSystemMetrics, GetWindowPlacement, GetWindowRect, IsIconic, ShowCursor, IDC_APPSTARTING, IDC_ARROW, IDC_CROSS, IDC_HAND, IDC_HELP, @@ -254,6 +254,8 @@ pub type GetPointerDeviceRects = unsafe extern "system" fn( pub type GetPointerTouchInfo = unsafe extern "system" fn(pointer_id: u32, touch_info: *mut POINTER_TOUCH_INFO) -> BOOL; +pub type GetPointerPenInfo = + unsafe extern "system" fn(pointer_id: u32, pen_info: *mut POINTER_PEN_INFO) -> BOOL; pub(crate) static WIN10_BUILD_VERSION: LazyLock> = LazyLock::new(|| { type RtlGetVersion = unsafe extern "system" fn(*mut OSVERSIONINFOW) -> NTSTATUS; @@ -306,6 +308,8 @@ pub(crate) static GET_POINTER_DEVICE_RECTS: LazyLock> = LazyLock::new(|| get_function!("user32.dll", GetPointerTouchInfo)); +pub(crate) static GET_POINTER_PEN_INFO: LazyLock> = + LazyLock::new(|| get_function!("user32.dll", GetPointerPenInfo)); pub(crate) fn wrap_device_id(id: u32) -> DeviceId { DeviceId::from_raw(id as i64) diff --git a/winit-win32/src/window.rs b/winit-win32/src/window.rs index 61a9d2ed..e07384be 100644 --- a/winit-win32/src/window.rs +++ b/winit-win32/src/window.rs @@ -1263,6 +1263,7 @@ impl InitData<'_> { _file_drop_handler: file_drop_handler, userdata_removed: Cell::new(false), recurse_depth: Cell::new(0), + last_tablet_down_button_state: Cell::new(0), } } diff --git a/winit-x11/src/atoms.rs b/winit-x11/src/atoms.rs index 59f271d5..e5ac78f4 100644 --- a/winit-x11/src/atoms.rs +++ b/winit-x11/src/atoms.rs @@ -103,7 +103,14 @@ atom_manager! { _NET_SUPPORTED, _NET_SUPPORTING_WM_CHECK, _XEMBED, - _XSETTINGS_SETTINGS + _XSETTINGS_SETTINGS, + + // Stylus Atoms + ABS_X: b"Abs X", + ABS_Y: b"Abs Y", + ABS_PRESSURE: b"Abs Pressure", + ABS_TILT_X: b"Abs Tilt X", + ABS_TILT_Y: b"Abs Tilt Y" } impl Index for Atoms { diff --git a/winit-x11/src/event_loop.rs b/winit-x11/src/event_loop.rs index b1b309ec..cd65c71a 100644 --- a/winit-x11/src/event_loop.rs +++ b/winit-x11/src/event_loop.rs @@ -1006,6 +1006,15 @@ pub struct Device { // For master devices, this is the paired device (pointer <-> keyboard). // For slave devices, this is the master. pub(crate) attachment: c_int, + pub(crate) r#type: DeviceType, +} + +#[derive(Clone, Copy, Debug)] +pub(crate) enum DeviceType { + Mouse, + Touch, + Pen, + Eraser, } #[derive(Debug, Copy, Clone)] @@ -1022,9 +1031,10 @@ pub(crate) enum ScrollOrientation { } impl Device { - pub(crate) fn new(info: &ffi::XIDeviceInfo) -> Self { + pub(crate) fn new(info: &ffi::XIDeviceInfo, atoms: &Atoms) -> Self { let name = unsafe { CStr::from_ptr(info.name).to_string_lossy() }; let mut scroll_axes = Vec::new(); + let mut r#type = None; if Device::physical_device(info) { // Identify scroll axes @@ -1041,12 +1051,34 @@ impl Device { }, position: 0.0, })); + } else if ty == ffi::XITouchClass { + r#type = Some(DeviceType::Touch); + } else if r#type.is_none() && ty == ffi::XIValuatorClass { + let info = unsafe { &*(class_ptr as *const ffi::XIValuatorClassInfo) }; + let atom = info.label as xproto::Atom; + + if atom == atoms[ABS_X] + || atom == atoms[ABS_Y] + || atom == atoms[ABS_PRESSURE] + || atom == atoms[ABS_TILT_X] + || atom == atoms[ABS_TILT_Y] + { + if name.contains("eraser") { + r#type = Some(DeviceType::Eraser); + } else { + r#type = Some(DeviceType::Pen); + } + } } } } - let mut device = - Device { _name: name.into_owned(), scroll_axes, attachment: info.attachment }; + let mut device = Device { + _name: name.into_owned(), + scroll_axes, + attachment: info.attachment, + r#type: r#type.unwrap_or(DeviceType::Mouse), + }; device.reset_scroll_position(info); device } diff --git a/winit-x11/src/event_processor.rs b/winit-x11/src/event_processor.rs index eaf50260..2274f065 100644 --- a/winit-x11/src/event_processor.rs +++ b/winit-x11/src/event_processor.rs @@ -33,8 +33,8 @@ use xkbcommon_dl::xkb_mod_mask_t; use crate::atoms::*; use crate::dnd::{Dnd, DndState}; use crate::event_loop::{ - mkdid, mkwid, ActiveEventLoop, CookieResultExt, Device, DeviceInfo, ScrollOrientation, - ALL_DEVICES, + mkdid, mkwid, ActiveEventLoop, CookieResultExt, Device, DeviceInfo, DeviceType, + ScrollOrientation, ALL_DEVICES, }; use crate::ime::{ImeEvent, ImeEventReceiver, ImeReceiver, ImeRequest}; use crate::util; @@ -323,8 +323,10 @@ impl EventProcessor { pub fn init_device(&self, device: xinput::DeviceId) { let mut devices = self.devices.borrow_mut(); if let Some(info) = DeviceInfo::get(&self.target.xconn, device as _) { + let atoms = self.target.x_connection().atoms(); + for info in info.iter() { - devices.insert(mkdid(info.deviceid as xinput::DeviceId), Device::new(info)); + devices.insert(mkdid(info.deviceid as xinput::DeviceId), Device::new(info, atoms)); } } } @@ -974,6 +976,15 @@ impl EventProcessor { // Set the timestamp. self.target.xconn.set_timestamp(event.time as xproto::Timestamp); + let Some(DeviceType::Mouse) = self + .devices + .borrow() + .get(&mkdid(event.sourceid as xinput::DeviceId)) + .map(|device| device.r#type) + else { + return; + }; + // Deliver multi-touch events instead of emulated mouse events. if (event.flags & xinput2::XIPointerEmulated) != 0 { return; @@ -1051,6 +1062,15 @@ impl EventProcessor { // Set the timestamp. self.target.xconn.set_timestamp(event.time as xproto::Timestamp); + let Some(DeviceType::Mouse) = self + .devices + .borrow() + .get(&mkdid(event.sourceid as xinput::DeviceId)) + .map(|device| device.r#type) + else { + return; + }; + let device_id = Some(mkdid(event.deviceid as xinput::DeviceId)); let window = event.event as xproto::Window; let window_id = mkwid(window); @@ -1376,7 +1396,6 @@ impl EventProcessor { self.target.xconn.set_timestamp(xev.time as xproto::Timestamp); let did = Some(mkdid(xev.deviceid as xinput::DeviceId)); - let mask = unsafe { slice::from_raw_parts(xev.valuators.mask, xev.valuators.mask_len as usize) }; let mut value = xev.raw_values; @@ -1401,6 +1420,15 @@ impl EventProcessor { value = unsafe { value.offset(1) }; } + let Some(DeviceType::Mouse) = self + .devices + .borrow() + .get(&mkdid(xev.sourceid as xinput::DeviceId)) + .map(|device| device.r#type) + else { + return; + }; + if let Some(mouse_delta) = mouse_delta.consume() { app.device_event(&self.target, did, DeviceEvent::PointerMotion { delta: mouse_delta }); } diff --git a/winit/docs/ATTRIBUTION.md b/winit/docs/ATTRIBUTION.md index adf1e4fc..dfc6c2a2 100644 --- a/winit/docs/ATTRIBUTION.md +++ b/winit/docs/ATTRIBUTION.md @@ -8,3 +8,10 @@ These files are created by [Mads Marquart](https://github.com/madsmtm) using [draw.io](https://draw.io/), and compressed using [svgomg.net](https://svgomg.net/). They are licensed under the [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/) license. + +## tool_*.webp + +These files are converted versions of +[W3C Pointer Events spec images](https://github.com/w3c/pointerevents/tree/93938ae7fe0172e2ae7587ad7d7c4fc8562d7153/images) +by [patrickhlauke](https://github.com/patrickhlauke). It is licensed under the +[W3C Software and Document License](https://www.w3.org/copyright/software-license). diff --git a/winit/docs/res/tool_altitude.webp b/winit/docs/res/tool_altitude.webp new file mode 100644 index 0000000000000000000000000000000000000000..cf70af6361119d45b855a1ddf4540b621e03f93d GIT binary patch literal 77648 zcmZsCcUTi$^yZ`h0Rn^`nuaRfPz5O_^xiwDp-2bmP0<8G6%Y`RZYUy1M+l&Rp@Vc( zx=K+5m7*YEK{nt1cK5H%lV>J*GMRhtIp;m)J$I}O_4Eubf&hD6Eeksf6%%#p=ZiN7 ze<9K>LWB*oMLMfDmo|T$(G~5nzEc=Z{$~!H4bK_XU$T)Be1{+vSv7vCTK{0wBlXVu zByjzGUrnifyM+DS>zBvgTkr{v&i#qaYu8~gCPyz`c&lNQ?SJ=rMn&;_f`}ve=TFB{ z$qE}Vtm)D9N1r-38!e6KEkJkgl2x^s8hzW1B>w$tR$VN@C#Lf~4!g5#B%vmxg+C2x zq*p)c0CnZDj@(%S9_!TRl*^czO?==-Et0YL_2k1zc2`W9f!o24AB zZ*BN*>Cg@H_0FF{t5nYL0+vy)UmP=O^Aei6w3V%JN^1STcB#Uwh4VWBTmOFx^R`PcV|Zz|GKZ1D5T( z98kI3xixbhSvKhur`LU^EAl-m*{CGctctLrmn|&O?A7~g@BVF>hR>~%>_6VW}}Pu z{A0u-Tz?9(iVFGVoY&^|vk(&*t-M9wH|vL4{e{xb*DlungxrJ0r4eMw)}_x}9^bnD z=Cc7*u0=15RJ&$azifFX_xt(YfXz1Z7*1>W~%|ys z;Zfq#7aL1JVQDW-n7mD}%)=5mLMNLI~0gVw9XD|dLm(md81I#gud|9na=<}0Tq`~AiNhzs zSi39Aj-(K;oGU~RxUX+^LRXDzn2@$!qNt&Awsh~OAqS%KwjL%E$*;qe`9;Q9FAry! z=aJGZ8R^gQ!ap+0>2gU_+r{m1g65wC?lYLqE9b zamHtPjQ)I0Uui1wz4(J~PlL&`U(e<5GXDDgvI)UF0AQAty#+m{Q-7X4^A_C!vC4sh zW^Qv+iu+ld8CUNve%Y^;{A(`=O$#bI%6%MFB5Pstz0+7n+F0brM;DW+iDCuT(Vk;b zO}W{@;%5piQ!ai+5}fLkkK=u_iHrmkEa{!<+r}ik)TF0B4)hh

s5iGxupt!{46Xjd+hjJZP4MBdeaN)%lTE{LwUrD7w)-o(=+Yq-yFJn?RXRO=b;^`BFnag z#Rr#U5d@~cV^LY5G}0c+WK-2A-%?+3E|X6o{c;1%=t*J{BhUCjraz zF;mw;tY$E##1Lpigz zXJ_oFQF4Iwt<9UuWJ@z84TFtYQfogs{e17O^C43*@8#G+{Fd!@JWG?@67}A|yi%3k zAZ)>8V_emAM*jEiKg=`>WK+Xgqqcx$<>CJ`asau$CBVy5;tV?7K<*Cs*md4hIZ5qO z=H(!|XB7g0p7enf*}k0<{>%5d7v8*18{*TsJ&DDu@cm;g(&z`ti}puBUY^M89AVqmwKxVIixpA zB^V_FieuMmwW9wNSX0}ue7gH?;ucrwucjjf#;Mm~59z1#UR;@i;`;ubwTc)%+S@A* zZyEfZb$#9Q>?%?QuFZYDXpFS)14KH=Uc=H)%emvA@ zx%)5q+9lEE0AXx)_0s)6clQo@lx3FYmpd6CH71dQD>G;es@FIk~No= zo#MDm*3A|%Y)=+1l;A6}#>gouC~)ok27Z6h-V)B&E)cL*P>7VXC&f1x$k(PyzbStz zueIW$)5gVmt|>t6z4!7B$vad3S5tppXq0TfF)ga{2^yTsbtwhZm&h`=L_T-* zTz~3$PC+fq><`YYL{2T_8_h}nbO*GNlJzWje0+N4s_6C$h|;)a#g||MIjTw9eY9Nh zedi>&^pJ5O_5p{mVMu_KW9WI_+qCR$kSNmITTk4ovMEK!@sjs znENhgy%~-P@$~dOV$1Z%Jd}?z>~g5wG>x?uLVgU@VDWvBq>RgvqTKC zb&i)_41c}2a~6>}45efQTnY>=?ygYGI=qg6UUY(uuj;$i2ly?k?_Eq#!WSZO-bzwsxox%{}15yHk&tDmn;id&u-|L;4ghUo6`Gtws!-GnRI{k?j+{3@ArE8W*_6dtD8i7b=r#r;aJ zNSDzG6vyuCzI2`w$P+eX<2SUrm;I?W>0nX#%eCcgIZ#hsfb)NzVF$4y5SOHqW%NpR z=i}St7gr*=cQsd@@dnl^5aJ89s1vC+IXzn~bX!o)hSDC2oj&~YL0pXTAYi$Q>J{z& z%=M0u8=)@SZ9DnedT*2iH}*!wKNZ)de&%SWHr zt+E;H3d?TtqhQ9##GhNz28&h~g~agqhi4mSCs+R6|NouNk~DJ*X zRGJifJtTprU0LpG8@mS10>E`soeGSj!Skv|RsfeXGpoyAh0GYa_=Y#Sb81Xj6NP}nZyZ|mhM>|V25^S+icB`~` z#_T3|g}q&=Jd2Sc5>`kXB{g&tz-`p!?WfmX2J{w2(`wR(*vkqg@gkMFS=!y=X)!8> z!1=R)G}tU?fnb&w10>!eT7%6mgN`S0zb97=9yB9U?4Cs|E<(W!hgh`GewZ zg4ka61x+tW-f6h}HLj(eHQfc!tGLcy(TW%^;`j~?JbC1Ze|VIK6gA*tYy!V|@u~H7 zkN-XDdJJ^cYCInJScs0s{QG>l+&eo2fLBEtlM+umGi;&Nj|&ujmD^C)@^HmZc)?R1 zkaQfp`*%ug2{w}|Rxox7AYauIoxq0YyhMdNGAkAzB7q<#^SqSSw;&5|)uo@|96lqi5vB`>mQn12s>R`n2lYi76cx`wQF*8DggE3crruUQ9)i?mAD-t0cY^#z+ zok@z*@yE$Zy5^}h?o4BRi1Jd+Rm2@>7S>7#np;0c0!A)!8h*b*kKg5_{lP^!?t)|& zYcoi%%~g53UZ5l}A$3^|(8*EJBL=_^iMET?c@JAYSX94BYh`%xUFIDxVx2QFo>o=_ zaOi&kv^RJ0>@!npR0Wxeq%E ztfQIvY0v~O(4Ex)8^a)GQ2xk+iOhAAe?b1oV71j)^z9UIvw5moHN)yfM|B8>j>rEq zk6rvD2O4y~q^uiX?a4z%m@nn-%Alm3TuCQT9xUq46;G#AAG$?W4p=yvD~9dD~bHvfTOH`Bb^uIT9Pj_$VQ-fst?x@asJk`Qxf zcWo%DM+y6QLx6z;Myw+Y0d$oi1!{QSsKO#VV6UaM#?0x3yZ0AH2VGN3K1JMpWkD1s zpo#_EA56<%*VAEThVfo6!>|vVZu7jw!{$Y-{xRTWRz4s!gcyQ%^UJjIC3r^Yh#h)j z(&w<%gomAw zpJN6q`?#-zTxIKNuFrxPi1`;%p_e9S5|}9 zlx6&E@^`_4?%2Iw@d6{hT!wsG=rAF5fW1J?4ZI8A19%dX5uJD(_n=-NM6{_entf-1 zbFnCvj|ehX)Kl~Iz(+LCSB}H=)Zo$q1sLq3Uy7*Ih-qT$6N7uFVgV!wVrR+Y?6s#q zC8%El(@|^qq6KU_p!F6L+NC|#3~!~Bh43NvtX#(^oKY!1@WW!u37jwouUT`RjL5%p z2<7nwdW{nWq14FgtfhpMXI0+!V=&bv1+vA;E|)Qg{SN)s;rTjuZ?^;=K5<%TR~6=0 zoknYKcL)dKyOr?iha2?9tI2hlbTp%0y$mA-t_kXMaHsG|r3pJ}mBB<)FB`z3T-{ zP~5ezZHk=LLRub-mT#1i0pNvZz})#*lQ)oe-lrl@ZI0HnTs&v_a^FNxs1pzRdOjW~Kuy1v^a$(Wx4pEHD zCY5dp=xy{<+{m($EoZFS6hZxdERt$X9jNk0+2ucg# z(4o2YfNelYu4PyV!%^qRXaVC7wev5+amyMsO%LdZ=9V-kNz7 zXlV-HwhAn8%*9?kpV^$lRF_Va#$aT!t!la zsp&g+(N0yQjd4B$1<>N^6SLrum@mh8jWx>mTl;1=t=IitDo$Q*Jw|? zFSs#%{Py`qIot1)KG3L0GOo%%%)u>zMl637HZP~&%WJ>Ud942A<$Kq2xp(}}pH`c4 zz8zX)2ID~pyhm2E4lLJ@=7Ow0{hI#BI~^i8zQC0EB9KnD|HfMdOb@yF|5Jbk^v z87XId_GcEXU@c^-U2jDv3;%Qqm1ZI>2eMttCa?q#ue%*cJl)jM%&X;_}Ql+OZ%WMp=iYrdw z|MiV(RK@Z$z##x)L5n44L)2AeNTZw0HOGvL0Z2q`p!qQX6oJmRYV{5xVgUqRO|B2_ zRzZ<#vQC=h{&V$CkM^~bjh?9##LJzmcFp60b}oQ$_R;#uE~leF>H#_JF)ZFos^gR( zy!P=$Ge{c%Q$;uvnCC7gXuw{fr;QE~k#>ZE=q+LLD3p#X2s2{VMqjPN3IKSp&C}p} zbdsz24aHLj-G5v550>`?ep_By)xmlAd-(dJ^hQg`v44&@Y4DGoS!BBvl$GVlP95Q2 z%}DMZu3{5Q(KYoV);hK6E(2}~!Vuxe-IZH@*}Pi?+fO?q8+~#gJ9>?^ z)^0IAET|V=38egPy6|n5O%CV|+X%XR< zC#I%m3Tmf-`2iqPlmYQ02&qTxUt_E;8mj6eP8P*p-<>C3U-|C!7k~HThu`666Mpn} zj)k9GQwgeaHMi9TQQqXrivizf;8en!x%ku6`Y|ic$pmQI4%|eI3NT{k4f$W6d zA(*gADkz)CswV^k-CG5IW&(86D6mFL6BAM3lK!3KM=po@u`e4>@BT|_D^C6GIG|>cee&<(B)9VYXW?ghi z;s!99L{^v!WuBCDynY3(%L3;H>^AmkJUSO%uHA?sC#5jT^}N;<)wO+M*1ex1i65Aq?R(Qb)%|@^k^HQUt0VYJuD+p|hgP3s z#0^E_ebpF>4!3kTou{3hxPv=E;%FbONn}}dHJR=MK$*buiP`Oo9B}|z7hd*KUvG$; zDAcRN>H(GygJToR*E0clPzsX)08)`&WJM#>rDdgFP1E~CPBe!{ExZ%vk`NRSHoe%j zZ{%!<)g?~cYV1C8`p`G)qHZp$elp_6S7sqT6=nguctykYtu>6*&BN|5_|T%9P0u|O zEs6AV8P?zT>^gUI@J|qvajO9m18CotB$GhUq2H$dHih>9kvN22Pz|_-lyM2AwT@9l z;I{V^waxSZ7zF{h^A^l90Lq47%N?A;hr!(MQ?CraTn|_nWB`zq5pls0piGC6w&>aj zU<8LFTA(V(H~@-5<^agwu*$|?On@X{0R?`HR1AnnNXIE%RZ1}DXx1T>i(q}Z1x`lv zHLa`>5-`xf`;+n9OL}&8bL*uF^Z)Lvr5K3Vc}O65^1G)Ps!M#f@!42@mbw8L)y*N0 zI7Y_X{CAL7z-#8;Z$<%X`Ta1M);(324yx5r26$5?DI1rDH-K>)>Tq!i2{Gy>gV`S6 zojY#3%$5kaK(Tiq0*D*h@bgg!F_2VVt~&mK!iqQsY4Ty1)tK zFZcUIeY7^CaIk=sHw;gxGnSI&Q1ui&j^wYw?h_sbf1ZFA+ zT+H3%hNVK*KCi?D%Q zi8Nv`s#q}hvO2rHp8V4P%X;np@tW(m^;0HS0O;$G)(>RMrFRsDT7WrFNLetpxf;;Y z?)dpch7BEJrPyGB%Br230gQWT)gS8xDn(klLvqa(_CO269f)&VM|Pyxi598 zeZ}R6bP?T6%{M3v8m|n?bWCqUWHU%~T7sYewFH4P_Ge@IUVqcy_IoD{sYFN&N_a=+ zxpV6W`#m}_y7aQbGcdaGKDi3I_os>)6xowf!RnenYI_cc5*)w*dNy=pLOX;F#mmTvyczcD!}6Q(@%Be1YaGIk(iUr|~$ z^67@oyPiT`W$uQnowIKh6cxL=Oll$P}oE zR#}E<6%0mLwh&~5-~fP@n(6~tSbl$)U>aaIiv%f(xl(H&aOQ{#yaHu8Aa0fsC(q#I zQz0Pb^1<=j*Imust&Yu2pY2K>-r>a&Cz8kyodx(#ZEdYuMEQ;jE5^+O=eGL3&F{F% zRbKw>jGcA3kNEF>2mt9V2eS*U4e@N$7rb!fkV?^s13;3#LLk%|BuS2*8vrn^|BZ}6 zAxKQ+SP;^fv4R;}C7EXB0!0Db++0RnnQS4^JYB60B$)sS@0pAglhcmwyMgSD9d9qb zKHdISzUWy0O2atI-Bw*mn}F#pc&PcKMogK#*`fTaefQDQRl$db^(DWildd`6UFdB1 zNeHp>thGQ#3uh07nLN?Og4u{*g29Xh3xMM@9;E^bzPb)z5OC0c<%zti3xXmhIzwTr zVpev9QeB`n2n|E`e&)W!gK3n-2{j}xzZ;hLGPVPKlE)?b--FyWI zn5x?fhkH$`zqYfrwC>v+NMPiSp%wGov|I`QVy8PlKEATsZz782L#qgja`nk$Hqf+A z*+J*&wW;M1l!BDWn08xD)nAc=i=m-tAx4~}o{3yslO@N`D#=`6H9Na$1OUY2Zp_@S zyuLd3X|@l*%b|-bb%Z}zeCo*Sr@2}gDA%r~OMDXGc=f8j@p6{13@g5^r?k0Ltv&Ev z%ID|LpMz~>+N)++WKAzWKcHr@8*V;IwDheq$(!P600G6q4yXGW=n?Z><4yH&0Nx7X z0sHbRSThM@`S7ddR=P-(FrLVm0G7rFheXe7?Dc$J&;c;p8%T?HYL{4IKO{E4O&G&8xruCDtim+?`7ms`rnbbmP1aXg}^Wl$vDLK?GPZ2>aCpo~~q zAV6YP5f?om`Ffb-qs+jaCVwihN7qO5F6-@5uER%@j}nIyx-wH5$1d82i={Bkdav`t z_g@MNiW~!7R3q0$DK6eJzfdjC*SZYj8(e9bsryjkI5zFVS^)|`OO1`^wWXWz09RCj zLZlX7KLgYw%s+?5Zdh56Q5=pGN4i1*uq`Z(74`;!NxDCPQ^>&g_QGne|m;beLNTRJ@)WC99U?b zv`Y2GsY8QQ+xH|@c!h#1i5KoH);!bDD@K8KOYEodXaOk`A@Akf5Az~4{F=S)`yX!*#g%33_lSnTpZ zTpTNc5sc=*Ro2m1z;WY&M|ba-?$(ID|0pic_u7<|wO?^0eymd~+n-LB=G7#$G^VJG zEF4a^w6s+C3YZ%@r%nxpH&=($kG>h2TU#5y#+;O40|Lznk`Vk;_0PDov6NJ;kk79-j9yN5Ld_@Icx;j?Pm6<$WW zapjI9slrd_&br`eCeD0{7JcR}U*W%*_qW~l=BBHQnd*k&rNmi(LlJr(7V>q|02?xLLs@P9iB&gF&z9$@730+WG={d2MuLn>h*naJ&OacKqClv zI)GuZP=;9m;|)RaLgJ+zJShm`4aHfq{Gi7L5eT3K-~dps1007OiXS#p7``AaDMqCA zhQ14J9u|52VAUm#Wqms3zi?J%fMUZv`|QVkXQItPn(M-D>__)T8n*(Qe}_McFi{im ziKrrODdG+VMzrqZVM`RGqQV#6oJ7r$JK)p4f_bt3wQxq24FklXpuZO=Vi^F2giQb^GRA{k z@MS=L%8iBme0jH50Ny_?-C@)M=*0jD)Z{496-mtlbRZBkQ`mI<4qLmp_qw*4mG#@{ zu&wbL2o2DjQqWvlDrGNgD$MR~?QSot_{RT{NxYOZ>Q+@J4-#LRcbic-i#jYGbDqW; z8D}AAi38}Up*#&e=HRWxW38;^+FIYI2UpBAW#&!<;ax$1gA2Zw76@8CS@^V(4^tw= zH;8_X#=KL=VrjV95Vclt{;-A(tbS)ls`0c%(*V|e)WcHDCt;x;yD}AZzdzsIpFJ3% zLGh#QK{F|c0MtYegT%#YAmf5STC5-lKNlRKGntI-$LS5}36XuB3vdoJ{vwH%t*i(D z4MXDxfkZk~#0Gy+n%yIQ;?OITTR<|AAR5d_CUiGoA<6)3?&Ijue#00qH= zaM+e?7`Pnw+Ep;;aj>EY9HeN>m4*Sd5O`>@^3o?57A_g1=1nU$rpQqtszdA0+*tMa z({u_ulOR4fD}~Td>Ng*F@6+t`h=uiF#nX)S8n=f!=Iw(>#?J*;g}d}n1WkvKIIcuj zDzQjGFcG0Z5h4w$QdAb4DIg_|APwX^MGznB`6ZR4in8C60UXp3>0!W7CV&BvR->fn zzC?zMem+p!BKa-9MC-rRZ0W?kHn5T% zR5}dG<)(-b1f=71nE^~3D9s@w(#(^x($ycD88*ca^Vd(@QqkIU2-zy&W`46%^E4G0 zplxvJ2)pU#>z4IAwtH;FzxX2ex+AwSOzB4c zAR?mpOYsYaA6cAiHyp<<(Jftz+3h4hEzbrke|{gc)28MgYCNX6+j00xYHBXRuKYMz z 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�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 z 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%0Dp8ci{NOlBnb^V46pJp{X?)q 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

RhPVkGc{Ftzy1=!p|yy*U>7_ z5iiN$TYd3~OdmLs%z|64BYl;lJXq4t)4$c7xu{|rHrBRzbv~TPyDv?`glZ@=f=!JJ#XOGhE0^yolN5Ax_nuaYn&4wch8`~`ccO&%RVhrtvmSTX zkAFSOLFLTV{#V{}8POq~!v;yjjXV7mVDtsafD|ZDpKBy1tE@%Q-;LIa%)J1KF&rgFQ@sd?1Lo145kL}Fr!#9~Wz znJY$jG-I}VG`GxCP;xp?FDk6HcYJU0`uEZtRm>mNwn>#vAbFiz_>{KPfAcdxjMeV51g$Kt0!soR#n3{n>~f<=68@C|ow z82gU-l<)D+URG`w_jVT`aUoE{6;G*WN}>5QwZfwA)U1r1d>uY45}I)|u^D^+*^0c# zbi4T}f!mY?*mtk|7}Bazt}N|htNx%9TSl+mNyv-4<6}@a*%^mn_@@nz-9mRhtD`zX zL2~Q%-q|d?Ln7!HFzkO9KQfQ#Y`=?7a4znBse2_-T@_wDE^quZiT zC*G)Dea7N;THx*ul?L410nw4=lYr~qBO;+u=`CZwo!~tG-H_M7R0V4CeXjNZ;|B8* zbiRk}I1~ogEPE?0O20wzxHs5*SM11NmxnLfyePBr_L(|~T#0Hbyw~)yi1N`P4L&9<6o<3Nw zNYScuJMpLT&r~qqXpOJv;%QW;@5=wqziY4luOZi*%80Dkg?RgJS*)W4Zq1Ny^%fGQRD8IT-N;|IRV1QPG4{KmE{oK`y5XcY0X>F zaoM{*;_mJa2Jr%0=~lP!g@xfwo48Ny;_jpEM+=_=?oBjoXYGG8PII*lUiq~u(bN+H z7%o_UO02&~yRMrhHrnZ%Jf!?Wpy^)>wf$$S3p`U3t(eUbnE6-zctA2GZnZNLmH2za zZ+`#al$WnFb6bZ#=q#Z3?Y~zR?;P*dYGnDY++%+`#YemKA4N9aq3K?nVy1K3EoB3M z-+N`HbN*6o&)2j!Zz6cDckI`DXq|a?73IY)R3qq!hKCQ6<+^N9`rX6UX{GZZs`J>_ z_S!nhxl{jhumFMm>MHs3;MIA7^vGt3j4rQ1(VR)OpHA{CYVWR<_OW)OuLqk4Mr8_- ztwT=MOcHasvw0@3WW2I#0`D5$58jE|xEO!>BC=~cdZE*0rP#N4EMzT>baAcbz}xn1 zbEeW(`0@W6%HpB$w{l#IAF_G8OoqA-zpr*Utvvddx&3VM#K6RSVz2pNrmw_iWv$8a z@BgM`@uAOFZufs~zNeBUpCp$X@0e$;3kqPEU;2*7>COhK9G+jMCnSxxkC28@^67=g z*^f`{zP6+%&F^>+(@WPc?bzw&MWtVN_U5wFu5{AyiM+cSek?mAmjy|r@ixSr++CdY zzwGba&*1aDI!hS;Am;5u>Na9QS+BF(b>)#yif`p-`{obr47r(flAxXrUq`;tpy1-d zAO(us_bp^A3ks`iq{T6dVrrrVf6>w>DORcEl$m{WlRx}Ih{m7)SXyfpy*XElrSMrv zlV3jbH;{bRox1oxr>Fj(>wO=;sy(06DX#Gf7+T1+D*=={n^cPV+)5?>35ma%d8ldy zkESHHp^sUwamkfH9lfn>T($mNm#t_(oL;>}b9ZF&>E54HUwOMVJbF}jw$^7u` zg%Q_Tr=-3=-hEwSpm3-j?Y8L;Z*A!81uv7HU+^_xX9>Taw-H{8u_5x!_TIzJ}YvZ&z4B{j)tCUa@H{| zC;6^~Clmlvq($ueU}f1Crtq|Yb9i`(LK-=;lopsm!|JwNCfV@J_Hwg;)wRu<$?Axy zky|#vr=E$9ff%*Y`7*KdY9(v#^Ji)#3roZ*DMRib-VY6ZtorbiUCaQsTD;m&Pi2%^ zJxF3Bt6kZjN7;I%v!~71c2VM|M2A(URcA_;wZ*G`DPaOjN=*3n!*)xjxtQ5XDi^-O za-hI@M^b>`@4M1K8XaR$ZFF*BIBRR(wXr8|eNx!)c2{@zRDLLO3ek&F#YwteEX*9+8*p@SSi*t+1ic^b deXKI`NDmRL0U+IISWI{O}8a{f0k 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 tqc^Q`CderH&i{cWz{fAghN@~~1f%xfFj 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%0A|8gAiLi+>7u&kzF0>f*Zzd47Or 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 UZ2_GG$nEudJ^R@m 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 Q_aiK`=P%3`3@Z`vKkr&pv;Y7A literal 0 HcmV?d00001 diff --git a/winit/docs/res/tool_tilt_y.webp b/winit/docs/res/tool_tilt_y.webp new file mode 100644 index 0000000000000000000000000000000000000000..6488addc15e1e0301644a88209f5d934730eb5eb GIT binary patch literal 80052 zcmWh!1yof}6W>?x=tnm^x)G)O5z-)ky2M9!ry%&~P&xz=Bt(#qZjpx|p&%h0N-7`? z0tWK&-E;0a_wL!dJ9lPwcIG#;M%o%0H8K!jep}Vh%uq(}`StS+pZC8|l!+D2nBfzaZD_H( zfJies4c})^^Ev^|Ts%P%Q#bRvKEM)iPfZVC2}7y}ibNGa;h>w!fb#44 z7wXgos|1~pcV<=}R1XXa9e#?LPKIoCCj`K`O<#o_JcI3r)oC%`CnLrZ7-hXsd?{@h z(jB5*rR;ULJdKQo+VntAqIKql2Z=6~)nWh4o0ge3F~Sfd?R-0tmn}2%vAwRpMVg;R z?Lsmg$Hx8Rqf^@LRs#lkN%OStG4^QxD8O1{?}VbX?I{Qj9}_a#EKpuB4aE{Nk_x4o z)UAAiU6~m?lNS3aa_3eakEuW;grs4V+4jSS3;wcsT!Y9V_hRV6Q^)t;q@7_Mr+yx_ zmOP3dgylz+zm{m;;dAaBbp5{n)Jf;8O7(ZavcbrM0w1^EmP6SG&W=)%yv6}tB=wxz z0czyp|FpkFQb(3meX#v28h+HY{KLdks$|zHd{L{jP-r$S)t2$0OVBN(3Q7=(2u`Iq za8kz9G0P?}W+}gVUq__t_OVsOCtyVA#%jL#yN{;l!TbB{f82VOm)lUbI>;M5@Q#+f zfsE6Uv!|LDIBKy$xmcT3d;2K;rQ-X-IF=oR>q zT17gu>^}5y>F7(>AKEx|R$noic0U92&au>|I_s$vlaUOPnwIwu(hdv|z7lnkzbOy; z<%vk0?APpyeQk<m+TGPC$64mD`#MzzfLCXdX?VVQ@VDtkP+WesH%<7%T~AjN z>TvrWDl4aMPP6G0qsx$)l(KKdv|3+ewdI3<@RkR-Z(FT&VReK6(q@Tb#H=A&wX!XFROO?TSRNoZHM@KpC9v) z@{tby!?kZA-&p>$F8XDgdk+d>VSSOCJGATf$CdhdEj{RuQ9jzx%?pW}HXoLvMu1%h z6);rJtHcPyOD!>V9Hq%So>YyE3ICq22tDO0dO&1r-jL&X5|@U-s`U4ZCF<|1gQ1ig z9d_Q9-WQ7^YiSWbdD;FZbxR5AdWqDnlcmt~4|{!1?Xrlm4meAFd-wO>;O&!-<(h5| zL3=#Ar9LrlDEq{$bP3za%XwhnB6#~~b8>yLd{FQ(r>3?}pYVNWeeV83___w;(H##- z=fWkOUdeXVUXj^JkFZsO{9v8NpE>-WtWn3dqW42~px6WRTCek`t!*t#+U6Sz3!S4h zb^9&e2}IgD$I$4-@ySd&lfu2%ii5QzbP0?6K+iqjbVl0@d%v)uNydr*q|0YcyF)6! zCo2vL+&O4{;UbQarsh#yr=<0vyJX`ZqDT#F-EUB{~om1y&2= zJ4)8lmGX;)rkzpZHIBwx`SR^ixzmjf)|)ga>ORqgH8PJ6Jo7WPPA#7^AzZDwgT|DY zfT+1UduE>5gJ#;@x9Oe{HxYRpZ=p}<MH?}r*-^WoC#bBX-!BuXPP`zcASpZ6&rNbZaO_ZWoS&RO%KmHnva5Qh+f3i> z>zKgzS7CLgl25*lZ0}Q^vs=nmBn)0w-Ok@;JE*c0&FCn^1&fHfOBNZa)ka?55>1e6lQuY zwqC(WwJOxUj|^>KXp=E-v~w%B^Z zpxJBj?2oCbLNAelbc$M6QDn!Nf7;)-n)^zDmn1ft-s0zf0+nxk3PwB~(8i@FS8Pb* z(Av{p9fZMNi)LQduOdcT&c0|KoSbtKzQrvq^Kb?!^>XlVHc?y)At>Zl!uWEk?mYkm9sk~AYM2!B2)Vv{)|2#zi(IOS^Oi8 zKgq@kUfP52#~XetFSTaCwN0Lf{L=h=_BA_BD-*7rIrYXpRk_vSC~dWqlNbNlYq4s1 zZeiwkUchTIdxzLGR^N-IKVshnh%CQ-A6C9f%+Jqf6cvXjh>%E$Jaypq)c%-R#8)fZ z>NVZ!RWa2t^X2wX!Ii&YUdJi|*c z#Y`x<_{r?^=U8VQg0#R8E^UwCYauXZzV%vU%E-?#otCTp@%!%eFTZ^)P{DHd3NQJ_ z`TA|vYf-9eY+uyT%vqx!9y-&y=VkA)cxIj1G|a2Uqmd$Zk`>^sB)r@NAERecFStJiEQ_xz5-y+o^I(_VK>z=zjTP43pzHhCOQ&QA5t zmY-e$m$2)x=UVj}XZG6nDSEu(y%wE62CIwj2kZ4+8t9*nNLeu$a1ckVG9Z=Q{9bQ z4qv$z`E)Cfc9qxeNs(BS0xI3&zxz+2T z(wL{xga7N?!L;vQzUArJr`=-N6#HwodqBB|TUpyiFWC*(1OI$=VJEuq5q)#x4rQ|! zv&&zBtGKz=4DO^VOV58tU&M1aG%~rgzftC!a+&?TN(e8=H!Z*Qjt|%~X=if(Iyk$O z_Y6^?VcA<~b&~$DWZqZ>fuboQOe@X_<}+gk!~G}JWNJlz>=##iEiPz;J-o~maQ?;} zpT6!Fn!gQ#KZxX8JGRd%FhjM1$yXU*Kd9#Gfe*5%fmnZF719fh@+XrT3G zyf=3w{FfWrtKjsXDj$QMe6_RTfE%vD)t;*$z+5Lj`s#Gbni=xYNBOt zsw$)()_N6ixLq?MBY(5%+wfx9In9!>bAdyvr0aE~G|4dDuStF_@hOl=;U>!D46jW% z8DpPWG;X$E4E7T8dK_fSdBq7KVZeV;^O6gxqoiKB9;_w9)4J=md1fEECO2D-82{i< zRqu$x?|tkJJXZIa!R4}_Zj2mRnNr1<(KiX^KfUIkyr<)!nMtKqiz7&JaUpoO)yw)< z*wyi@^I~v4d%XefCc=w(R4PoMJlE*UV92$_@UqU#(f#4@xlWWR(Nvrd}w6kvE|bHY(_>(0=JC2FvbNp zY8BmU&UgiW49?EZws5`ie+Q&gIb*xrBpwz|u|M<^tur_Jd>XZ1&cC60D=Z7u&#mg)HdlPJ0? z{a9tsMT4&SRv%V}k(;z*GH%Y3b8eF|UPiH-R8wB=C#_zWE?>_buH}2uINF>KEHga| zT65MHS|k2^mHR4R)G^!Br{%x+4Wcpr>PoasJ)H)b;I&9VwYh(-Lp;3rYa^X15DMl)rL*-pCCo9nkNnOs*nUAq)JcvkhG?#@3I&0FCkFQ9<+_;#l{ z9N#DIuO(I3`ffrf?69ASv)?~XvXq!tYVI8!PKw==t3&aY0kU{fBXDDnT_Vi8NCQMt zk=KWGqJtoY+u=Z1Km`JXd3@Dgr71=0mA#Q&+dvf$LIYp;!^XE7g$XskuE2L3hZTKBbtt2_d8$2t& z<%pgP<0QRBThBfUC5vLad~hAoLoDvQsQVJ&dM2`x>VD&~>_YB)r))KrLa^c?I(oaz za_q|03)I26R2iU;P}#nh21pJb@4{D79(Ebd<7u5Kh0+OdlsZqAq3VsOVOl1U$wdu< zL-Z@WbbLKcq=Vx#6z0`(Xa^hXDZXB{Sw%MQQ6pWwj=;igm`13bj3vh`VN3rXP6Kj? zoN&Lcz{Sz`8yIC`Tn+SRE{p*BFPMUvXPDqIW%WYPBZl>vytmb$M&qHg8RNSId4bk2 z0V*76czwZyEe8k`gO zQx|5teDcaD1PYY1DJ$)xz(g0tXPfCAEh@3&!wzOXQAw#(^hM8G9K2!!q)QDaFNb6} za1VM)y2PX*6Rp2h;oxio+)pX0-Z;!4aJK3u!|Ax_IeWzohC$?!ZR*chpv@N1|2|n0 z2@veu&XERTl7ttSvUyIR+2LbnFUAO5eJ3PJ03ln5`srN+mdLgeM-ux75d;I{b$PDx zSi+X>MwPF$$Gi~_rdPU45P(7g_RJ>{`3W47*$Tu^JgaYUe*6`T3*~iz&|RuPtJ@?o zf2UsP^I|WFtu@A1N69jBz=KkccLaND1vZT|R%DrX8TL8e6ZbOexHc9cLl2NEE^5{* zRM-agVG`%ppva?#V~re-S&b!oYc<{fHC%3dyT;LqD`kz?bSE@M7JM9q>>84T$P5aj zCycG_-^j7gJ^3Pj&|evQ(wrvti!_lLq?hhzvkM19ogp?Xgz6oMMhT|szCkbIX8h~G zYbiO$I$F|_FAsbS;7`UJtJtL+Qwh+XY zV0-O}QQdU!l9edFJsS3_ zB-}Vs#}c->URWiJDDG~+Hs1^dMJ(7Qb+A*6OpRnHcAiu&&r*JN6mAtFB8riVjnjEU z%C07v=y>pH^IkyV_Pj8|&;a=INDUdK!PC?B>F?0vVE*VT+eqC*`QHzs*y{$R?SN6i z$ku?DVWhxjP+n>UIbsFh-@A(aB>0}B7-pCM>_-ZbKn4+5YB!48U@ zU~BusozaKNZr@aHOUVRIv70F3okjE$-kHn`X)kxeV`#9 zh1kW=y88(|g=oF8k~y89jkKkI>fcLE7RU4q5=;;p`l&d3WGN=epG6ZDo0&9wJQ&fd z_u1O!(2<@DtPq5LLo*$knE=$e)xYAgx6MHj5@c144b+1Gh)~^V%i2qY2{uk7FIUD8 zWPYffUb3aqzF#btXX=X@y2&t?pm-RC+tvF!8vG)TjMtNh2c(l8Vj37*Z}qHTg`_}w zPV4J=b76_KXzhaP;#N?vh|gLV^Ml5SL0(Dno=bk#r!;ZoiiR`;l<|^+_$4O^Bh-Xk z?cEdILpw!p6&lR6!MvjUA{Vtz)CW5)of6(O!!)i+7&^B_oJ)~M#Z+p?7x@#wWo9mv zv=5hP8;F4?sftQ5Tf#VmwO{bHWY!Jmn<~*RA?5v096K&rRr;(HjzgbsT-tbA5}MGe zm0);&MT<#cl}S0ulCTFEq<3MGE99j9@AY9am~N@7sPw82Fn>xFT(N#_rhP8 z6^YL{TNO4ep7s%*KU5PfwL5tWgdElkXVc__)m+*P%gl=ZR>wZGL zEHrKq1U`ppr3$tt+ov-@#wk(^+Kpf|0Dt!(CgVKL3)Bo;^3xFW7qTLeyL}oA=s=6M zlR+ulKA1RhFSPh&;!PevrITI5uM(xfn+>%1A);~+d|)T;#{vkp0xrI4*HjDUGsgNt zBd!&b_I+xedp|tGg>~7p2}>ziD7uoYnzn)_CuQv#kNf)0_O@YCUnM|iMu?fuWFj63 zypjbIw+%8CWl$0<10LxZa%CIAP@S5_peCFdDHkzj)T3iI*mLY9zVyQ=z!g8bLH@Wq zlnaD%DRr0teyYz2a=V(W66vQ_-hG-c&wfA7K_Q%%Ldh^z=;!8QG0^&iHJQW}wp|2R zA+->)d`bROCXotI)zN+Vz4K`Ai*ro=jlW{gmTqam(L<~2E3iWtz^>n!rtQz> zcx+uy2vu*d9vz`59EKA)KkU{dr89vSbC6>CQ1)wma~7r$1PRaQIM#MXHc;D75zKqN zy|SIrW}``oqTjT>(WjhD3Q?=8T4DabG8!+gsUgvIcyD3W6WnPJ0P( zqrq$F6MYu3KGXcV&;l#NLb<*BEfo6S>$l-YZNd_nNuKx*f!hQ_Vb`|-)N%u@B4%Km zU!?eTS+a$IVc>`umA!%#gd|qiySy}bc3bSD!A?l`pLN|c7yvlW7?D zFqEB7EA^iuU2N-f@l(z4^E!O%T-<-p1`*E&?~kbIC;8)|#Ll%&QS$tR49I{qb&4a` zxmY-8@c(a+OKNX}>5lgSbn#G$ftJp<7?nrRyb4Oelu*P7iM4hNW6z7f^5K^uHS+|; z)Hk32i}>!x_T3LMyQ1)1qmahem_pX&J*&i4DT(yY^Z+A&v1~LFgLAF`_@l5;ueQL& zt#-n2Obee*J>@bo+R%IPHA{W7y@=S!Rp)n+=Li2D==&99B(Bi`;At};e!>1s6H@u3E$~bwf@7^{fs->OP6if~8&h)<= z#VOP{+O|y79z6}!fAilnV?mlH{XBk_JT)DCT6uHH(lD7&nhIZHF2k&tODST?ew$ZH zIPPG>dlwjXE0Q^vGL*_l&Q45FEfw&Rk4a^E0de&xNhJewjb(Su%n-pVqJ~aH%xvyO zM8w^5DJanLA@VJ&+k1%Yj~8acJ<5bv@`G2@x5CN9x74P&(j1`IQ&E(O36vUxC?x*D zls;Z?LI8(RFB9&alYcOmCg`fzwH|9)X>pkiz8k4e1 z?(nBZgFn4ztZAGG;>&g;2E!UQ{>b*Un8cnG0O4o7+Rxrisq1k5ruK8>rzytZxfpdI z0N+`-Q}bP#Yz~)(+c8kDr|w#XjMx5}4StYFaC~w9n$v*zBoqm7Vx1E)w!8S5LAEu^ zzo19+^_X^F0zW|g+>n8SYr5{TEiMVqzE~yOs@uh3;A&eq^3s7Xj%TsI+PR17CWcm7 z0FabSlUaY;ZAm>R#$f`-mp|_* z1ff&96-%=L?&Aq`0Nxzq*y)GgYaPifTL<`$QN6nHN$6N}JRD=RC-s)p81XiR=?%G$ ziU*nDmW#CO9TL(J6-JOfnX!$9e91F<^jfu%q^7s9kDmIy^HLl?fJ{pUpSl(7z#_@X z2))D#UqH2v3+ed~ zUNDR6t`llHX9^fDlN~d`jma zwv<{CsS*KD|qs)};(>qWyAZMr(lqCpn4}U%P^BF%IhF$3v z?xrZGOq7%>8XdlP)Mr&W3?mUxw7#?eyoa&~I0^y$TbCuAa9wGxE>pNp+=`iUos3L?xa

7U1hOIZwV{z1YE6zQ53YmadLqM4?oyW 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 Bw&VZ+ literal 0 HcmV?d00001 diff --git a/winit/src/changelog/unreleased.md b/winit/src/changelog/unreleased.md index c59decc8..b4bfe7e7 100644 --- a/winit/src/changelog/unreleased.md +++ b/winit/src/changelog/unreleased.md @@ -87,6 +87,7 @@ changelog entry. - Add `Ime::DeleteSurrounding` to let the input method delete text. - Add more `ImePurpose` values. - Add `ImeHints` to request particular IME behaviour. +- Add Pen input support on Wayland, Windows, and Web via new Pointer event. ### Changed @@ -210,6 +211,7 @@ changelog entry. - Move `EventLoopExtRunOnDemand` from platform module to `winit::event_loop::run_on_demand`. - Use `NamedKey`, `Code` and `Location` from the `keyboard-types` v0.8 crate. - Deprecate `Window::set_ime_allowed`, `Window::set_ime_cursor_area`, and `Window::set_ime_purpose`. +- `Force::normalized()` now takes a `Option` to calculate the perpendicular force. ### Removed @@ -249,6 +251,7 @@ changelog entry. - Remove `NamedKey::Space`, match on `Key::Character(" ")` instead. - Remove `PartialEq` impl for `WindowAttributes`. - `WindowAttributesExt*` platform extensions; use `WindowAttributes*` instead. +- Remove `Force::Calibrated::altitude_angle` in favor of `ToolAngle::altitude`. ### Fixed @@ -264,3 +267,4 @@ changelog entry. - On Windows, `Window::theme` will return the correct theme after setting it through `Window::set_theme`. - On Windows, `Window::set_theme` will change the title bar color immediately now. - On Windows 11, prevent incorrect shifting when dragging window onto a monitor with different DPI. +- On Web, device events are emitted regardless of cursor type.