Skip to content

Conversation

aymanbagabas
Copy link

@aymanbagabas aymanbagabas commented Aug 15, 2025

Summary of the Pull Request

This adds support for horizontal mouse wheel events (WM_MOUSEHWHEEL). With this change, applications running in the terminal can now receive and respond to horizontal scroll inputs from the mouse/trackpad.

References and Relevant Issues

Closes #19245
Closes #10329

Validation Steps Performed

Tested terminal applications that receive horizontal mouse wheel events.

PR Checklist

  • Closes #xxx
  • Tests added/passed
  • Documentation updated
    • If checked, please file a pull request on our docs repo and link it here: #xxx
  • Schema updated (if necessary)

@aymanbagabas
Copy link
Author

@microsoft-github-policy-service agree

@aymanbagabas aymanbagabas force-pushed the support-hwheel branch 4 times, most recently from bdb435c to e326ed1 Compare August 15, 2025 21:08
This adds support for horizontal mouse wheel events (WM_MOUSEHWHEEL).
With this change, applications running in the terminal can now receive
and respond to horizontal scroll inputs from the mouse/trackpad.

Fixes: microsoft#19245
@@ -11,6 +11,6 @@ namespace Microsoft.Terminal.Control
[uuid("65b8b8c5-988f-43ff-aba9-e89368da1598")]
interface IMouseWheelListener
{
Boolean OnMouseWheel(Windows.Foundation.Point coord, Int32 delta, Boolean leftButtonDown, Boolean midButtonDown, Boolean rightButtonDown);
Boolean OnMouseWheel(Windows.Foundation.Point coord, Boolean horizontal, Int32 delta, Boolean leftButtonDown, Boolean midButtonDown, Boolean rightButtonDown);
Copy link
Member

@lhecker lhecker Aug 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of passing a bool everywhere, what if we changed Int32 delta to Windows.Foundation.Point delta instead (internal type: til::point)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ConHost: VTInput support synthesizing wheel left/right horizontal scroll gesture on trackpad scrolls viewport vertically
2 participants