Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mouse cursor sometimes turns to autoscroll icon on middle click #162294

Closed
rotemdan opened this issue Sep 29, 2022 · 21 comments
Closed

Mouse cursor sometimes turns to autoscroll icon on middle click #162294

rotemdan opened this issue Sep 29, 2022 · 21 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug confirmed Issue has been confirmed by VS Code Team member help wanted Issues identified as good community contribution opportunities *out-of-scope Posted issue is not in scope of VS Code trackpad/scroll Trackpad device issues windows VS Code on Windows issues

Comments

@rotemdan
Copy link

rotemdan commented Sep 29, 2022

Info:

Version: 1.72.0-insider (user setup)
Commit: 96dda01dafdf4badf360d8dcc3c7eaf448fae7f9
Date: 2022-09-29T05:22:34.016Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: 10.2.154.15-electron.0
OS: Windows_NT x64 10.0.19044
Sandboxed: Yes

Steps to Reproduce:

  1. (Possible unknown additional preconditions - to investigate further)
  2. Position the mouse cursor at the bottom edge or slightly below the tab bar
  3. Press the middle mouse button

[Update: I was able to reproduce this (easily, many times) on a clean install of latest VSCode insiders (1.72.0) with no extensions and two configuration options in settings.json. See the comments further down below]

The "autoscroll" / "move" style cursor gets permanently stuck. Only closing VSCode completely is able to fix this (requires closing all windows, reopening the active one is not enough, from my experience).

This has been happening for about a year or so (?.. not totally sure maybe ~6 months? can't remember exactly when it started). Often it occurs by accident when I try to middle-click to close the tab. I guess with time I "adapted" to it and unconsciously avoided clicking near the bottom of the tab-bar, though now, based on my tests, I realized it happens surprisingly consistently when you deliberately try to induce it.

Finally I got to capture this on video! Here:

2022-09-29.08-23-13.mp4

As you can see from the video. The "move" (or "autoscroll"?) style cursor is stuck even when I hover or click the scrollbar, or press the middle boundary to resize the editor (which is supposed to transition to a "resize" cursor).

At this point I'm not sure what are the exact additional preconditions to reproduce this, since it doesn't happen in every circumstance. But finally having this on video, is a huge step forward!

@VSCodeTriageBot
Copy link
Collaborator

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.71.2. Please try upgrading to the latest version and checking whether this issue remains.

Happy Coding!

@rotemdan
Copy link
Author

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.71.2. Please try upgrading to the latest version and checking whether this issue remains.

Happy Coding!

It was a typo, fixed.

@rotemdan
Copy link
Author

rotemdan commented Sep 29, 2022

Update: I was able to (easily) reproduce this on a clean install of latest VSCode insiders (1.72.0). No extensions installed.

The minimal configuration required was:

settings.json

{
  "window.zoomLevel": 1,
  "breadcrumbs.enabled": false, // Makes it easier to reproduce but not strictly required
}

It was way simpler than I initially assumed!

Having no breadcrumbs makes it easier to reproduce, but I was able to reproduce it even with them though it required many deliberate attempts.

I guess most users have breadcrumbs enabled so they experience it less. This may be a part of the reason it hasn't been reported yet (AFAIK).

@rotemdan rotemdan changed the title "Move" mouse cursor gets permanently stuck when middle mouse button clicked at the bottom edge of the tab bar (includes video) Mouse cursor type gets permanently stuck to "autoscroll" when bottom edge of the tab bar is middle-clicked (includes video) Sep 29, 2022
@rotemdan rotemdan changed the title Mouse cursor type gets permanently stuck to "autoscroll" when bottom edge of the tab bar is middle-clicked (includes video) Mouse cursor icon gets permanently stuck to "autoscroll" when bottom edge of the tab bar is middle-clicked (includes video) Sep 29, 2022
@rotemdan rotemdan changed the title Mouse cursor icon gets permanently stuck to "autoscroll" when bottom edge of the tab bar is middle-clicked (includes video) Mouse cursor gets permanently stuck with an "autoscroll" icon when the bottom edge of the tab bar is middle-clicked (includes video) Sep 29, 2022
@rebornix rebornix assigned bpasero and unassigned rebornix Sep 30, 2022
@ziloen
Copy link

ziloen commented Oct 31, 2022

Animation

@ziloen
Copy link

ziloen commented Oct 31, 2022

This also happened on files explorer mouse middle-clicked, it should open file in new tab but didn't

@ziloen
Copy link

ziloen commented Nov 2, 2022

I didn't update VS Code, but now I can't reproduce it

@rotemdan
Copy link
Author

rotemdan commented Nov 2, 2022

I've consistently reproduced it with latest insiders build, several times:

Stuck cursor

Version: 1.73.0-insider (user setup)
Commit: 8fa188b2b301d36553cbc9ce1b0a146ccb93351f
Date: 2022-11-01T15:30:14.729Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: 10.2.154.15-electron.0
OS: Windows_NT x64 10.0.19045
Sandboxed: Yes

@bpasero
Copy link
Member

bpasero commented Nov 26, 2022

Does it reproduce on https://insiders.vscode.dev as well? And how to reproduce?

@bpasero bpasero added the info-needed Issue requires more information from poster label Nov 26, 2022
@rotemdan
Copy link
Author

Here's a quick reproduction I did again on latest insiders with no extensions installed:

Version: 1.74.0-insider (user setup)
Commit: d0e44be43287acadb13f7c2808332e00fe52568d
Date: 2022-11-25T08:00:08.922Z
Electron: 19.1.6
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: 10.2.154.15-electron.0
OS: Windows_NT x64 10.0.19045
Sandboxed: Yes

capture1

settings.json used:

{
	"window.zoomLevel": 1,
	"breadcrumbs.enabled": false,
}

Instructions:

  1. Maximize window.
  2. Middle click slightly below the tab bar.

@bpasero
Copy link
Member

bpasero commented Nov 26, 2022

Is there something to configure to make the mouse be this 4d-scroll thingy on mouse middle click?

@rotemdan
Copy link
Author

As far as I know, there's no other configuration other than the two options I gave "window.zoomLevel": 1 and "breadcrumbs.enabled": false. Using those two options I've consistently reproduced the issue from a clean install of VSCode Insiders.

I've used two different mice over the year or so (or more) I've had this issue. One generic, and now a Razer gamer mouse. I doubt it's related to the mouse brand.

I'm also using system-wide 125% UI scaling, if that helps:

Screenshot_6

@bpasero
Copy link
Member

bpasero commented Nov 27, 2022

I am asking because my Logitech mouse does not turn into this 4-way-scrolling mode when I mouse-middle click.

@rotemdan
Copy link
Author

rotemdan commented Nov 27, 2022

Clicking under the tab bar, the "autoscroll"-like arrow cursor doesn't seem to appear on VSCode zoom levels smaller than 1. Also, now that I tested, it (surprisingly) didn't appear on zoom levels greater than 1.

This makes me suspect it has to do with a particular combination of screen resolution, system-wide zoom level and VSCode zoom level.

I haven't encountered this cursor in other programs in places it's not "supposed" to. It appears in browsers like Chorme, Firefox etc. as an "autoscroll" feature. I don't think it has to do with my mouse drivers, but I'll see if I can find a different mouse to test it.

Now that I understand it doesn't relate to some "intended" VSCode feature, I might speculate it could be some behavior from Electron / Chromium that is supposed to be "supressed" in typical conditions, and appears in some circumstances for whatever reason?

Edit: It also seems to appear when I middle click any of the scrollbars (both horizontal and vertical), as well as over the entire area of the file explorer and the left navigation bar (and possibly other places).

Edit: I tried with an old Microsoft Basic Optical Mouse 1.0A. Still getting the same behavior.

@rotemdan
Copy link
Author

Here's a demo of the cursor changing when I middle-click the scrollbars, the file explorer, and the vertical navigation bar (what I mentioned on the edit to the previous message). I also managed to get the cursor "stuck" this way:

capture2

@guiedinger
Copy link

I am facing the same problem, my display scale is 125% and the problem only occurs on the monitor 1, on the 2 is ok.
I changed the display scale to 100% to test and the problem not occurs.

Version: 1.73.1 (system setup)
Commit: 6261075646f055b99068d3688932416f2346dd3b
Date: 2022-11-09T04:27:29.066Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: 10.2.154.15-electron.0
OS: Windows_NT x64 10.0.19042
Sandboxed: No

image
image

@bpasero
Copy link
Member

bpasero commented Nov 29, 2022

I now figured out how to configure my Logitech mouse to have "auto scroll", it seems to require to install Logitech drivers and then configure this option:

image

I am still not 100% sure I understand this issue. When I middle-click below the tabs (with breadcrumbs disabled), I get the auto scroll feature to work (as expected). And then when I click anywhere else, auto scroll stops and the normal cursor returns.

Are people saying that auto scroll appears automatically even without pressing middle mouse? Or is auto scroll stuck meaning it does not go away when you left-click?

@rotemdan
Copy link
Author

rotemdan commented Nov 29, 2022

I don't think it's related to any mouse setting, since from what I've tested it only happens on VSCode zoom level 1 (not in any of 0, 2, 3, 4, ...), and I've never seen it appear on any other program (except in browsers, in places where it's supposed to). It seems very unlikely that the mouse drivers are somehow "aware" that VSCode internally chose zoom level 1 and then decided to activate this feature for some reason? (which to make clear - does absolutely nothing! - the cursor just changes, there is no other effect)

Also, as I've mentioned before, I've tested a different mouse than what I use (a Microsoft Basic mouse) and saw the same behavior.

It seems to be a strange issue where only in that one particular zoom level (possibly combined with a system zoom level like 125% in my case), middle clicking causes the autoscroll cursor to appear on these particular areas:

  • Under the tab bar
  • Scrollbars
  • File explorer
  • Left navigation bar
  • ...

With further testing I've also managed to get the cursor "stuck" (forever, until VSCode is restarted) by middle clicking any of them (in the last video I've sent, I got the cursor stuck by middle-clicking the left navigation bar) .

@bpasero bpasero added help wanted Issues identified as good community contribution opportunities confirmed Issue has been confirmed by VS Code Team member and removed info-needed Issue requires more information from poster labels Nov 29, 2022
@bpasero bpasero changed the title Mouse cursor gets permanently stuck with an "autoscroll" icon when the bottom edge of the tab bar is middle-clicked (includes video) Mouse cursor sometimes turns to autoscroll icon on middle click Nov 29, 2022
@bpasero bpasero added trackpad/scroll Trackpad device issues windows VS Code on Windows issues labels Nov 29, 2022
@bpasero
Copy link
Member

bpasero commented Nov 29, 2022

I was now able to reproduce, the auto-scroll feature was a red herring, turns out here for some reason auto-scroll icon appears on middle click. I believe this only happens on areas where we install a scrollbar: even below the tabs there is a scrollbar that is there for the tabs, but hidden for as long as tabs do not overflow.

I was able to reproduce in other Electron apps (https://www.electronjs.org/fiddle) btw, so it is possible that this is an upstream issue, though Fiddle is also using components from us, including our scrollbar so it maybe something we can workaround, though I doubt we are triggering this, especially given it seems to be related to zoom level and display scaling.

I am opening this for help if someone has ideas where to look into, but I am currently not having ideas what could trigger this.

@bpasero bpasero added the bug Issue identified by VS Code Team member as probable bug label Dec 6, 2022
@bpasero bpasero added the *out-of-scope Posted issue is not in scope of VS Code label Jan 25, 2023
@VSCodeTriageBot
Copy link
Collaborator

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.

If you wonder what we are up to, please see our roadmap and issue reporting guidelines.

Thanks for your understanding, and happy coding!

@VSCodeTriageBot VSCodeTriageBot closed this as not planned Won't fix, can't repro, duplicate, stale Jan 25, 2023
@csk111165
Copy link

I am also able to reproduce this issue, please take this issue.

@indjev99
Copy link

I've also gotten the issue multiple times.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue identified by VS Code Team member as probable bug confirmed Issue has been confirmed by VS Code Team member help wanted Issues identified as good community contribution opportunities *out-of-scope Posted issue is not in scope of VS Code trackpad/scroll Trackpad device issues windows VS Code on Windows issues
Projects
None yet
Development

No branches or pull requests

8 participants