diff options
| author | Maxime Coste <mawww@kakoune.org> | 2024-08-14 21:09:53 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2024-08-14 21:09:53 +1000 |
| commit | b7c014ba4fd1ef4aa309eb7c89f49db2deba630b (patch) | |
| tree | 148965bca9ea353a101c56e020260d0a3506ae6b /src/input_handler.cc | |
| parent | a0a000951e5569fc9af309dc329b759fe6e1d2e8 (diff) | |
| parent | 0fddb3fef8b668582c4b1246e0fb6fb1da0c6af7 (diff) | |
Merge remote-tracking branch 'enricozb/enricozb/scroll-coordinates'
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 615dbf10..8ab88f20 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -118,7 +118,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: @@ -184,7 +187,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; |
