From 0fddb3fef8b668582c4b1246e0fb6fb1da0c6af7 Mon Sep 17 00:00:00 2001 From: Enrico Zandomeni Borba Date: Tue, 6 Aug 2024 09:03:38 +0200 Subject: fix mouse scrolling --- src/input_handler.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/input_handler.cc') diff --git a/src/input_handler.cc b/src/input_handler.cc index 2703b51a..94f4cb79 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -127,7 +127,10 @@ struct MouseHandler Buffer& buffer = context.buffer(); BufferCoord cursor; - constexpr auto modifiers = Key::Modifiers::Control | Key::Modifiers::Alt | Key::Modifiers::Shift | Key::Modifiers::MouseButtonMask; + // bits above these potentially store additional information + constexpr auto mask = (Key::Modifiers) 0x7FF; + constexpr auto modifiers = Key::Modifiers::Control | Key::Modifiers::Alt | Key::Modifiers::Shift | Key::Modifiers::MouseButtonMask | ~mask; + switch ((key.modifiers & ~modifiers).value) { case Key::Modifiers::MousePress: @@ -193,7 +196,7 @@ struct MouseHandler } case Key::Modifiers::Scroll: - scroll_window(context, static_cast(key.key), m_dragging ? OnHiddenCursor::MoveCursor : OnHiddenCursor::PreserveSelections); + scroll_window(context, key.scroll_amount(), m_dragging ? OnHiddenCursor::MoveCursor : OnHiddenCursor::PreserveSelections); return true; default: return false; -- cgit v1.2.3