From 9273106bb37a9eddd89b19533f5cac4bcc814b74 Mon Sep 17 00:00:00 2001 From: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Date: Sun, 3 Mar 2024 12:40:16 +0100 Subject: [PATCH] [Wayland] Fix tilt handling --- platform/linuxbsd/wayland/wayland_thread.cpp | 3 +-- platform/linuxbsd/wayland/wayland_thread.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/platform/linuxbsd/wayland/wayland_thread.cpp b/platform/linuxbsd/wayland/wayland_thread.cpp index 7fa69a3bed94..81676423450e 100644 --- a/platform/linuxbsd/wayland/wayland_thread.cpp +++ b/platform/linuxbsd/wayland/wayland_thread.cpp @@ -2424,8 +2424,7 @@ void WaylandThread::_wp_tablet_tool_on_frame(void *data, struct zwp_tablet_tool_ // According to the tablet proto spec, tilt is expressed in degrees relative // to the Z axis of the tablet, so it shouldn't go over 90 degrees either way, // I think. We'll clamp it just in case. - td.tilt.x = CLAMP(td.tilt.x, -90, 90); - td.tilt.y = CLAMP(td.tilt.x, -90, 90); + td.tilt = td.tilt.clamp(Vector2(-90, -90), Vector2(90, 90)); mm->set_tilt(td.tilt / 90); diff --git a/platform/linuxbsd/wayland/wayland_thread.h b/platform/linuxbsd/wayland/wayland_thread.h index b9e7e0437ac5..d49f0c9d34be 100644 --- a/platform/linuxbsd/wayland/wayland_thread.h +++ b/platform/linuxbsd/wayland/wayland_thread.h @@ -308,7 +308,7 @@ class WaylandThread { struct TabletToolData { Point2i position; - Vector2i tilt; + Vector2 tilt; uint32_t pressure = 0; BitField pressed_button_mask;