Mouse wheel scrolls backwards when set to "one screen at a time" #7748

Closed
opened 2026-01-31 01:11:45 +00:00 by claunia · 10 comments
Owner

Originally created by @sebfoucault on GitHub (Apr 28, 2020).

Environment

Microsoft Windows [Version 10.0.18363.720]
Windows Terminal 0.11.1121.0
Lenovo X1 Yoga
Logitech Mouse (M185)

Steps to reproduce

  • Open Windows Terminal
  • Open a shell (cmd, Powershell, ...)
  • Issue commands leading to the display of vertical scrollbar
  • Use the mouse wheel

Expected behavior

  • Mouse wheel should behave in Windows Terminal as it does in other system apps

Actual behavior

  • Mouse wheel scrolls in the other direction (rolling the mouse wheel upward scrolls down)

Suspecting potential conflicts with the Laptop touchscreen or trackpad i disabled them, but still observe the same behavior. I tried to look for parameters allowing to control the mouse wheel but did not find any.

Originally created by @sebfoucault on GitHub (Apr 28, 2020). # Environment ``` Microsoft Windows [Version 10.0.18363.720] Windows Terminal 0.11.1121.0 Lenovo X1 Yoga Logitech Mouse (M185) ``` # Steps to reproduce - Open Windows Terminal - Open a shell (cmd, Powershell, ...) - Issue commands leading to the display of vertical scrollbar - Use the mouse wheel # Expected behavior - Mouse wheel should behave in Windows Terminal as it does in other system apps # Actual behavior - Mouse wheel scrolls in the other direction (rolling the mouse wheel upward scrolls down) Suspecting potential conflicts with the Laptop touchscreen or trackpad i disabled them, but still observe the same behavior. I tried to look for parameters allowing to control the mouse wheel but did not find any.
Author
Owner

@zadjii-msft commented on GitHub (Apr 28, 2020):

When you use the mouse wheel in the legacy console (conhost.exe), does scrolling the wheel up move the buffer contents down / move the scroll position up? Or does it move in the opposite direction?

Does the Terminal scroll in the same direction as the legacy console?

@zadjii-msft commented on GitHub (Apr 28, 2020): When you use the mouse wheel in the legacy console (`conhost.exe`), does scrolling the wheel up move the buffer contents down / move the scroll position up? Or does it move in the opposite direction? Does the Terminal scroll in the same direction as the legacy console?
Author
Owner

@sebfoucault commented on GitHub (Apr 28, 2020):

When you use the mouse wheel in the legacy console (conhost.exe), does scrolling the wheel up move the buffer contents down / move the scroll position up? Or does it move in the opposite direction?

In connhost.exe, it is the other way around: scrolling the wheel up, move the scroll position up (toward the beginning of the console buffer)

Does the Terminal scroll in the same direction as the legacy console?

From the mouse wheel perspective, the behavior of the new Terminal is inconsistent with the one of the legacy console.

@sebfoucault commented on GitHub (Apr 28, 2020): > When you use the mouse wheel in the legacy console (`conhost.exe`), does scrolling the wheel up move the buffer contents down / move the scroll position up? Or does it move in the opposite direction? In `connhost.exe`, it is the other way around: scrolling the wheel up, move the scroll position up (toward the beginning of the console buffer) > Does the Terminal scroll in the same direction as the legacy console? From the mouse wheel perspective, the behavior of the new Terminal is inconsistent with the one of the legacy console.
Author
Owner

@PhMajerus commented on GitHub (Apr 28, 2020):

Testing with a Microsoft Sculpt Ergonomic Mouse, the scrolling works in the correct direction in both conhost and Windows Terminal.
Could Logitech have some extra software that has a per-app customization?

@PhMajerus commented on GitHub (Apr 28, 2020): Testing with a Microsoft Sculpt Ergonomic Mouse, the scrolling works in the correct direction in both conhost and Windows Terminal. Could Logitech have some extra software that has a per-app customization?
Author
Owner

@sebfoucault commented on GitHub (Apr 29, 2020):

Could Logitech have some extra software that has a per-app customization?

That is what i was initially suspecting but actually i don't have any Logitech-specific app installed.
The external mouse relies on the "default-driver" (assuming that this means something - i am not a driver specialist).

@sebfoucault commented on GitHub (Apr 29, 2020): > Could Logitech have some extra software that has a per-app customization? That is what i was initially suspecting but actually i don't have any Logitech-specific app installed. The external mouse relies on the "default-driver" (assuming that this means something - i am not a driver specialist).
Author
Owner

@WSLUser commented on GitHub (Apr 29, 2020):

Works right for me using CMStorm mouse in my Windows VM.

@WSLUser commented on GitHub (Apr 29, 2020): Works right for me using CMStorm mouse in my Windows VM.
Author
Owner

@DHowett-MSFT commented on GitHub (May 1, 2020):

Were you one of the people for whom the older versions of Terminal just didn't let you scroll?

@DHowett-MSFT commented on GitHub (May 1, 2020): Were you one of the people for whom the older versions of Terminal just _didn't let you scroll_?
Author
Owner

@sebfoucault commented on GitHub (May 1, 2020):

@DHowett-MSFT - No. The old version of Terminal just worked fine.

After more research, I think I found the root cause of the problem (can reproduce consistently on two different PCs):

  • The Windows mouse wheel configuration screen has two options for "Roll the mouse wheel to scroll": 1 - "One screen at a time" and 2 - "Multiple lines at a time"
  • The inversion occurs when the "One screen at a time" option is selected.

Paying more attention to this problem, i also noticed that some one of "MS Powerpoint" windows is subject to the same problem in the same "One screen at a time" configuration: on the left-hand side powerpoint displays thumbnails of the slides. The scrolling in this thumbnails window has the same inversion problem.

@sebfoucault commented on GitHub (May 1, 2020): @DHowett-MSFT - No. The old version of Terminal just worked fine. After more research, I think I found the root cause of the problem (can reproduce consistently on two different PCs): - The Windows mouse wheel configuration screen has two options for _"Roll the mouse wheel to scroll"_: 1 - _"One screen at a time"_ and 2 - _"Multiple lines at a time"_ - The inversion occurs when the _"One screen at a time"_ option is selected. Paying more attention to this problem, i also noticed that some one of "MS Powerpoint" windows is subject to the same problem in the same _"One screen at a time"_ configuration: on the left-hand side powerpoint displays thumbnails of the slides. The scrolling in _this_ thumbnails window has the same inversion problem.
Author
Owner

@DHowett-MSFT commented on GitHub (May 1, 2020):

Wow! Good find.

@DHowett-MSFT commented on GitHub (May 1, 2020): Wow! Good find.
Author
Owner

@DHowett-MSFT commented on GitHub (May 1, 2020):

Two bugs. We're storing the return value from SPI_GETWHEELSCROLLLINES as an int when it should be a uint, and we're ignoring WHEEL_PAGESCROLL (which once we store it in the wrong type comes out as -1).

@DHowett-MSFT commented on GitHub (May 1, 2020): Two bugs. We're storing the return value from SPI_GETWHEELSCROLLLINES as an int when it should be a uint, and we're ignoring WHEEL_PAGESCROLL (which once we store it in the wrong type comes out as `-1`).
Author
Owner

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

:tada:This issue was addressed in #6891, which has now been successfully released as Windows Terminal Preview v1.2.2022.0.🎉

Handy links:

@ghost commented on GitHub (Jul 22, 2020): :tada:This issue was addressed in #6891, which has now been successfully released as `Windows Terminal Preview v1.2.2022.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.2.2022.0) * [Store Download](https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#7748