diff options
| author | Enrico Zandomeni Borba <enricozb@gmail.com> | 2024-08-06 09:03:38 +0200 |
|---|---|---|
| committer | Enrico Zandomeni Borba <enricozb@gmail.com> | 2024-08-06 09:03:38 +0200 |
| commit | 0fddb3fef8b668582c4b1246e0fb6fb1da0c6af7 (patch) | |
| tree | bd80f717a9490b46e9801d789bbe7341800589cd /src/input_handler.cc | |
| parent | f2e7498ccc56923b1871278ef4f75e5c0c935b40 (diff) | |
fix mouse scrolling
Diffstat (limited to 'src/input_handler.cc')
| -rw-r--r-- | src/input_handler.cc | 7 |
1 files changed, 5 insertions, 2 deletions
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<int32_t>(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; |
