Mouse input bindings/configuration #9822

Closed
opened 2026-01-31 02:04:44 +00:00 by claunia · 3 comments
Owner

Originally created by @TBBle on GitHub (Jul 24, 2020).

Description of the new feature/enhancement

A way to configure mouse behaviours where they are governed by the Terminal, rather than passed through to the shell.

Specifically, I want to unbind Ctrl+Scrollwheel so I stop accidentally resizing my terminal font (or making my background transparent!) when I'm control-shift-arrow scrolling and try to switch to mouse-scroll before I've fully released the other keys.

Proposed technical implementation details (optional)

Looking at TermControl.cpp I guess all the code-paths where _CanSendVTMouseInput was false ought to be controlled by configuration options.

A brief glance suggests it's only the mouse wheel handling that doesn't already have associated configuration options right now.

I'm not sure if there should just be specific configuration options for these cases (transparency/zoom/scroll) or if some kind of bindings system, like the keybindings, is appropriate.

Maybe we can find a use for horizontal scrolling, and buttons other than left and right, for those who have such capable mice.

Originally created by @TBBle on GitHub (Jul 24, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> # Description of the new feature/enhancement A way to configure mouse behaviours where they are governed by the Terminal, rather than passed through to the shell. Specifically, I want to unbind Ctrl+Scrollwheel so I stop accidentally resizing my terminal font (or making my background transparent!) when I'm control-shift-arrow scrolling and try to switch to mouse-scroll before I've fully released the other keys. # Proposed technical implementation details (optional) Looking at [TermControl.cpp](https://github.com/microsoft/terminal/blob/master/src/cascadia/TerminalControl/TermControl.cpp) I guess all the code-paths where `_CanSendVTMouseInput` was `false` ought to be controlled by configuration options. A brief glance suggests it's only the [mouse wheel handling](https://github.com/microsoft/terminal/blob/76de2aedc2d805481ae323bba6f34cb41878a461/src/cascadia/TerminalControl/TermControl.cpp#L1370-L1384) that doesn't already have associated configuration options right now. I'm not sure if there should just be specific configuration options for these cases ([transparency](https://github.com/microsoft/terminal/blob/76de2aedc2d805481ae323bba6f34cb41878a461/src/cascadia/TerminalControl/TermControl.cpp#L1404-L1448)/[zoom](https://github.com/microsoft/terminal/blob/76de2aedc2d805481ae323bba6f34cb41878a461/src/cascadia/TerminalControl/TermControl.cpp#L1450-L1459)/[scroll](https://github.com/microsoft/terminal/blob/76de2aedc2d805481ae323bba6f34cb41878a461/src/cascadia/TerminalControl/TermControl.cpp#L1480-L1517)) or if some kind of bindings system, like the keybindings, is appropriate. Maybe we can find a use for horizontal scrolling, and buttons other than left and right, for those who have such capable mice.
claunia added the Issue-FeatureResolution-Duplicate labels 2026-01-31 02:04:44 +00:00
Author
Owner

@zadjii-msft commented on GitHub (Jul 24, 2020):

Thanks for the suggestion! This is actually already being tracked by another issue on our repo - please refer to #1553 for more discussion.

/dup #1553

@zadjii-msft commented on GitHub (Jul 24, 2020): Thanks for the suggestion! This is actually already being tracked by another issue on our repo - please refer to #1553 for more discussion. /dup #1553
Author
Owner

@ghost commented on GitHub (Jul 24, 2020):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (Jul 24, 2020): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Author
Owner

@TBBle commented on GitHub (Jul 24, 2020):

Ah, drat, I did search for that. Apparently I didn't go back far enough or searched on the wrong terms... Oh well, thank you for finding it for me.

@TBBle commented on GitHub (Jul 24, 2020): Ah, drat, I did search for that. Apparently I didn't go back far enough or searched on the wrong terms... Oh well, thank you for finding it for me.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#9822