microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
160.27k stars 28.08k forks source link

The horizontal wheel of mouse is invalid #84136

Open luo-chuan opened 4 years ago

luo-chuan commented 4 years ago

Issue Type: Bug

mouse: logi m590 The horizontal wheel of mouse does not work in VS code.

VS Code version: Code 1.39.2 (6ab598523be7a800d7f3eb4d92d7ab9a66069390, 2019-10-15T15:35:18.241Z) OS version: Windows_NT x64 10.0.18362

vscodebot[bot] commented 4 years ago

(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

alexdima commented 4 years ago

@luo-chuan VSCode is built with Electron, which is built with Chromium. Does the horizontal mouse wheel work for you when using it in the Chrome web browser?

luo-chuan commented 4 years ago

@luo-chuan VSCode is built with Electron, which is built with Chromium. Does the horizontal mouse wheel work for you when using it in the Chrome web browser?

Yes, it works in chrome, but it does not work in VS code.

alexdima commented 4 years ago

@luo-chuan Can you please also try in Chrome in the editor hosted at https://microsoft.github.io/monaco-editor/ ?

luo-chuan commented 4 years ago

@luo-chuan Can you please also try in Chrome in the editor hosted at https://microsoft.github.io/monaco-editor/ ?

I am not sure whether I installed monaco-editor correctly, I just run npm install monaco-editor@0.18.1 , It shows:

PS C:\Users\chuan> npm install monaco-editor@0.18.1
npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\chuan\package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\chuan\package.json'
npm WARN chuan No description
npm WARN chuan No repository field.
npm WARN chuan No README data
npm WARN chuan No license field.

+ monaco-editor@0.18.1
added 1 package from 1 contributor and audited 1 package in 78.835s
found 0 vulnerabilities

Then, I opened the VS code, and the horizontal wheel still not work, not only in the editor, but also in the PDF viewer of VS code.

luo-chuan commented 4 years ago

@luo-chuan Can you please also try in Chrome in the editor hosted at https://microsoft.github.io/monaco-editor/ ?

Actually, the horizontal wheel works sometime, but I do not know how to reproduce it, maybe open VS code and wait some minutes?

alexdima commented 4 years ago

@luo-chuan Sorry for not explaining clearer. You don't need to install the monaco editor, simply open the webpage at https://microsoft.github.io/monaco-editor/ with Chrome, and scroll down to an editor that should appear in that page:

image

Does the horizontal scrolling work in that editor?

luo-chuan commented 4 years ago

@luo-chuan Sorry for not explaining clearer. You don't need to install the monaco editor, simply open the webpage at https://microsoft.github.io/monaco-editor/ with Chrome, and scroll down to an editor that should appear in that page:

Does the horizontal scrolling work in that editor?

Yes, the horizontal wheel works in the editor at https://microsoft.github.io/monaco-editor/ with Chrome.

alexdima commented 4 years ago

@luo-chuan The editor over there is the same editor as in VS Code. I believe the issue will be fixed once we update to a newer version of Electron, which has a newer version of Chrome.

Currently, VS Code uses Chromium v76, while Chrome is at v78. I believe this issue will be fixed once we update to a newer Chromium.

deepak1556 commented 4 years ago

@luo-chuan can you try our exploration builds which come with same runtime as chrome 78 https://github.com/microsoft/vscode/issues/84214#issuecomment-551647767 to confirm if the issue is fixed there. Thanks!

luo-chuan commented 4 years ago

@luo-chuan can you try our exploration builds which come with same runtime as chrome 78 #84214 (comment) to confirm if the issue is fixed there. Thanks!

I installed the VScode you give me at https://az764295.vo.msecnd.net/exploration/fbad8db043f1ef8e3b4031d46057edb5911f92ba/VSCodeSetup-x64-1.41.0-exploration.exe , and the horizontal wheel does not work. The detail of VScode is:

Version: 1.41.0-exploration (system setup)
Commit: fbad8db043f1ef8e3b4031d46057edb5911f92ba
Date: 2019-11-08T02:57:50.817Z
Electron: 7.1.1
Chrome: 78.0.3904.99
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18362
OscarAbraham commented 4 years ago

On this issue on Atom they talk about having the same problem. It seems to me this has something to do with the way drivers send their events, because this video suggested in the Atom issue solved it for a laptop I have: https://www.youtube.com/watch?v=f2rfwR-IV-c Edit: forgot to link to the atom issue: https://github.com/atom/atom/issues/9497

niemeier23 commented 4 years ago

Thank you, luo-chaun, for opening this issue. I'm also struggling with this elusive functionality, which behaves differently between my computers. I use a Logitech M500 mouse at work and at home. In VS Code on my work laptop (Windows 10) horizontal mouse-wheel-scrolling doesn't work. Shift+vertical scrolling does scroll horizontally. Though, it's not something I'm at all used to doing nor am I interested in learning to while my mouse has intuitive hardware specifically for that control. However, my home computer (also Windows 10), using the same model of mouse can/does mouse-scroll horizontally in VS Code. So, I would be very interested to learn what the mystery conditions are for this variable misbehavior.

alexandrudima, when I browse to the monaco-editor in Chrome on my work laptop, horizontal mouse scrolling works as expected, there, but not in VS Code.

(The following info is from my "work laptop's" VS Code) Version: 1.40.2 (user setup) Commit: f359dd69833dd8800b54d458f6d37ab7c78df520 Date: 2019-11-25T14:54:45.096Z Electron: 6.1.5 Chrome: 76.0.3809.146 Node.js: 12.4.0 V8: 7.6.303.31-electron.0 OS: Windows_NT x64 10.0.18362

Perhaps I can return to this at home and add my home computer's VS Code info, if that might help at all.

Thanks, everyone, for your help.

deepak1556 commented 4 years ago

@niemeier23 which version of chrome did you test on ?

Pjaerr commented 4 years ago

I also get this issue on my Logitech MX Master 2s.

It works in the Monaco web editor for me. Surprisingly, if I use the scroll wheel in chrome and then go back to vscode and use it, it works for a little while and then stops again.

niemeier23 commented 4 years ago

Sorry, deepak1556, I'm way too late in responding. But, I'm currently running version 78.0.3904.108.

deepak1556 commented 4 years ago

Thanks for confirming, I see there is one scroll fix that landed between the version of chrome tested and the exploration build mentioned initially https://bugs.chromium.org/p/chromium/issues/detail?id=1011866.

@niemeier23 @luo-chuan Can you try this exploration build https://az764295.vo.msecnd.net/exploration/22c3db00ec057fecf0144c4c7f8c6bc6cb60e5d6/code-exploration-1575406103.tar.gz which contains a more newer chromium version 78.0.3904.126 and has the above fix .

niemeier23 commented 4 years ago

@deepak1556, do you have the same exploration build for Windows 10?

deepak1556 commented 4 years ago

Oops sorry about that, here is the windows build https://az764295.vo.msecnd.net/exploration/22c3db00ec057fecf0144c4c7f8c6bc6cb60e5d6/VSCode-win32-x64-1.41.0-exploration.zip

minig0d commented 4 years ago

This may be a really dumb question... but I was having the exact same issue with my Logitech mouse and Logitech options and stumbled across some post on another forum saying something about having Microsoft Mouse and Keyboard Center installed. (I do have a Microsoft wireless keyboard (and Logitech mouse) and as soon as I installed MS Mouse and Keyboard Center horizontal scrolling in VS Code started working immediately (without even the required reboot it wants). Wondering if anyone else having this issue also has a MS keyboard (or possibly a MS Mouse or other similar input device?) connected/paired with the computer?

niemeier23 commented 4 years ago

@deepak1556, On running the Code Exploration app, horizontal scrolling worked. It worked for the file tabs at the top and in the code editor.

But, it's not working for my current installation of VS Code. Version: 1.41.1 (user setup) Commit: 26076a4de974ead31f97692a0d32f90d735645c0 Date: 2019-12-18T14:58:56.166Z Electron: 6.1.5 Chrome: 76.0.3809.146 Node.js: 12.4.0 V8: 7.6.303.31-electron.0 OS: Windows_NT x64 10.0.18363

Thanks for your help thus far.

luo-chuan commented 4 years ago

Oops sorry about that, here is the windows build https://az764295.vo.msecnd.net/exploration/22c3db00ec057fecf0144c4c7f8c6bc6cb60e5d6/VSCode-win32-x64-1.41.0-exploration.zip

Thank you! This version works.

Version: 1.41.0-exploration Commit: 22c3db00ec057fecf0144c4c7f8c6bc6cb60e5d6 Date: 2019-12-03T21:30:12.474Z Electron: 7.1.3 Chrome: 78.0.3904.126 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.18363

arbraham commented 4 years ago

I got the same issue with Logi Master 2S. The horizontal scroll works in a doc file, chrome, etc., but always fails in VSC at the first time. If I open a DOC and try the scoll, open VSC, left click the horizontal bar, then I can do horizontal scroll in VSC, but it still always fail like losing the focus on the bar.

JacksonMcKay commented 4 years ago

I had this issue in the past as well but it seems to work now on the latest version of VSCode :) Mouse: Logitech MX Master 2S

Version: 1.45.1 (system setup)
Commit: 5763d909d5f12fe19f215cbfdd29a91c0fa9208a
Date: 2020-05-14T08:27:35.169Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363
minig0d commented 4 years ago

FWIW just tried it and it didn't work.... checked logitech options for updates (withint he app) and it reported none (was last updated about a month ago). Went to logitech site for the heck of it and they released an new version of logitech options today. In place updated (without closing VSC) and horizontal scrolling is working.... no clue if the in place update fixed anything or if it's just a fluke since the bug has seemingly been intermittent but I guess it's worth a try for anyone experiencing the issue...

Logitech doesn't seem to publish a full changelog and just mentions:

So who knows...

PS... to aid in troubleshooting one of the things probably worth mentioning (for those who are or are not experiencing the issue) is if you're using Logitech options or just the OS drivers, and if using options do you have smooth scrolling enabled? Also still wondering if any of the people experiencing issues also have the Microsoft mouse & keyboard drivers installed (or any remnants of a previous install)?

JacksonMcKay commented 4 years ago

The issue did come back today, I came here and decided to update Logitech Options but the issue was fixed again as soon as it started installing so maybe it had something to do with just opening Logitech Options? I have smooth scrolling disabled FWIW Edit: Opening Logitech Options does seem to fix the issue as a temporary fix for now

Fred-Vatin commented 3 years ago

On this issue on Atom they talk about having the same problem. It seems to me this has something to do with the way drivers send their events, because this video suggested in the Atom issue solved it for a laptop I have: https://www.youtube.com/watch?v=f2rfwR-IV-c Edit: forgot to link to the atom issue: atom/atom#9497

This « fix » only applies to trackpad, not to logitech mouse typically with an horizontal scrolling button.

Fred-Vatin commented 3 years ago

The issue did come back today, I came here and decided to update Logitech Options but the issue was fixed again as soon as it started installing so maybe it had something to do with just opening Logitech Options? I have smooth scrolling disabled FWIW Edit: Opening Logitech Options does seem to fix the issue as a temporary fix for now

Not for me.

I still have the issue with an MX Master. Every logitech mouse seems to suffer from this issue, on Windows only. I have their LogiOptions app to set my mouse. Firmware and all are up to date.

Version: 1.46.1 (user setup)
Commit: cd9ea6488829f560dc949a8b2fb789f3cdc05f5d
Date: 2020-06-17T21:13:20.174Z
Electron: 7.3.1
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363

Here are the working workaround

I will avoid workarounds implying you need to uninstall LogiOptions.

Move from a working app

For instance, open the MS File Explorer. There, use the horizontal scroll button no matter if there is an horizontal bar. Go back to VS Code. It works !

Run as admin

Running every app where this issue exists as admin seems to fix it.

If you have a recent MX Master

You may assign some keyboard shortcuts in VS Code to list.scrollRight and list.scrollLeft then in Logi Option add a custom setting for VS Code like explained here.


It’s been years and Logitech has never fixed this feature or add a workaround option like “send MAJ+Vertical scrolling when using the horizontal scrolling button”. By the way, it’s more a logitech or Windows issue than a VS Code/Electron issue.

ciriousjoker commented 3 years ago

I haven't tried reverse engineering Logitech Options, but I bet it has something to do with it hooking into whitelisted processes (which is basically everything that runs on the chromium engine).

Running the app as an admin would fix this because Logitech Options lacks the permissions to hook into the process. However, I'm sure there's a way to prevent Options from hooking into other applications. Perhaps it's as simple as deleting the dll it's trying to inject or creating a stub for it.

Maybe we can override the LoadLibrary functionality (this might be interesting).

However, I don't have the knowledge to properly debug this (WinApi calls, dll injections) or test this since I'm currently on Linux. Perhaps someone on Windows can look for a few suspicious dlls in the Logitech Options program data folder and move them somewhere else?

TLDR: Try removing random dlls from the Logitech Options folder. I have a suspicion that this might work.

nils-schroeder commented 3 years ago

I think I found the fix for this!

Remove the chrome application profile in Logitech Options.

It might have to do with the horizontal wheel changing tabs in chrome.

Fred-Vatin commented 3 years ago

I think I found the fix for this!

Remove the chrome application profile in Logitech Options.

It might have to do with the horizontal wheel changing tabs in chrome.

Do you mean deleting those files :

chrome.ico
chrome_elf.dll
Google Chrome.icns

in %ALLUSERSPROFILE%\Logishrd\LogiOptions\Software\Current ?

nils-schroeder commented 3 years ago

I think I found the fix for this! Remove the chrome application profile in Logitech Options. It might have to do with the horizontal wheel changing tabs in chrome.

Do you mean deleting those files :

chrome.ico
chrome_elf.dll
Google Chrome.icns

in %ALLUSERSPROFILE%\Logishrd\LogiOptions\Software\Current ?

No, I mean deleting the profile in the top right dropdown in Logitech Options. I also added a VSCode specific profile but I did not change anything in it, so it should technically be the same as using the default profile.

image

It worked for me. Then it stopped working (I did not restart vscode or my pc), now it works again after I cluelessly clicked around in Logitech Options.

Fred-Vatin commented 3 years ago

No, I mean deleting the profile in the top right dropdown in Logitech Options. I also added a VSCode specific profile but I did not change anything in it, so it should technically be the same as using the default profile.

It worked for me. Then it stopped working (I did not restart vscode or my pc), now it works again after I cluelessly clicked around in Logitech Options.

Hence I think it’s not related to chrome profile because I haven’t one.

Fred-Vatin commented 3 years ago

The only way to fix this it some guys from Microsoft kindly push some other guys in Logitech because the bug reports to Logitech by users is useless.

nils-schroeder commented 3 years ago

The only way to fix this it some guys from Microsoft kindly push some other guys in Logitech because the bug reports to Logitech by users is useless.

Maybe try adding the vscode Profile then? I curious if that fixes it (even though it shouldn't)

I am pretty sure the problem is the tab switching function that is offered for chrome. If you can tell Logitech Options that vscode is not chrome it should fix the problem.

Fred-Vatin commented 3 years ago

I am pretty sure the problem is the tab switching function that is offered for chrome. If you can tell Logitech Options that vscode is not chrome it should fix the problem.

If I remember previous exchange here, it is quite the opposite. LogOptions detects what app is currently in use. When it is chrome, LogOptions uses some special code to make horizontal wheel work. App based on chromium should benefit from the same hack. But the only way is Logitech guys add those apps to be handled like chrome. If you rename any problematic chromium based app in chrome.exe, it will work for instance.

This seems pretty easy to fix then but Logitech support is 💩 not listening users who report which app needs to be treated like chrome. It’s a dead end until Microsoft uses its name and say to Logitech : “hey guys, did you hear something called VSCode ? Well, it is just used by millions of people so maybe you could handle it like you handle chrome. Here is the issue and reports.”

benaltair commented 3 years ago

I noticed for me if I focus another window and try to horizontally scroll in VSC it works fine. It's only when VSC is in focus that I'm having the exact same issue.

geocfu commented 3 years ago

I am having the same issue, not only in VS Code but in Brave (which is Chromium) as well. The solution is to focus on a different window and horizontally scroll there. Then, come back to VS Code and the horizontal scroll will work as expected.

benaltair commented 3 years ago

Good news. I just installed the latest version of Logitech Options that came out recently and it seems to have fixed this issue for me. I'm now on 8.54.106 which was automatically installed in the last two weeks. I have yet to see the issue again since.

It may be that Logitech has fixed this issue on their end, and this issue might be able to be closed now.

jjunno commented 3 years ago

Good news. I just installed the latest version of Logitech Options that came out recently and it seems to have fixed this issue for me. I'm now on 8.54.106 which was automatically installed in the last two weeks. I have yet to see the issue again since.

It may be that Logitech has fixed this issue on their end, and this issue might be able to be closed now.

Updated the latest version but did not fix the issue for me :s

benaltair commented 3 years ago

It just happened to me again today. Daily use, and I haven't seen it other times though, so perhaps it's just more rare on some systems. Such a shame it's not fixed.

tm9k1 commented 3 years ago

still experiencing this issue. Can we get the logs to you devs somehow? There's only one bit of sidescroll ONCE (in whichever direction I scroll sideways), then sidescrolling gets scrambled for me.

alejoasotelo commented 3 years ago

any news?

Fred-Vatin commented 3 years ago

any news?

As stated before, as long as some guys from MS don’t directly contact the guys from Logitech, nothing can progress because logitech is absolutely deaf towards bug reports from users.

benaltair commented 3 years ago

I mentioned this issue in a report to Logitech today and it's being escalated internally. I hope they'll be able to move things forward there.

ciriousjoker commented 3 years ago

@benaltair geez, I tried getting them to take a look at this for years, including emails directly to developers. I emailed Mr. O. Gay who then added Mr. A. Dick to the cc. I still don't know if this was a hint that I was too annoying or just a hilarious coincidence.

benaltair commented 3 years ago

@CiriousJoker I wonder if they're correlation with that approach and their response 🤔

Edit: I know it's frustrating not to be heard though for real.

vtintillier commented 3 years ago

I changed the Logitech Options configuration for Google Chrome from Navigate between tabs to Horizontal scroll, and now it works fine in VS Code. This solution is OK for me as I disliked the default Navigate between tabs behavior 😃

Sorry, it only worked a bit, but no longer works. Need to scroll a bit in a Chrome window for it work again regularly...

Ch0ufleur commented 3 years ago

Logitech seems to have a beta version of a new Options+ software. Downloading and installing it instead of Logi Options seems to fix any horizontal scrolling bugs with a thumb wheel for now (MX master 3) https://www.logitech.com/fr-ca/software/logi-options-plus.html

Fred-Vatin commented 3 years ago

Logitech seems to have a beta version of a new Options+ software. Downloading and installing it instead of Logi Options seems to fix any horizontal scrolling bugs with a thumb wheel for now (MX master 3) https://www.logitech.com/fr-ca/software/logi-options-plus.html

Do you know if the new version can restore logi options settings backup ? Did you test it long enough with VScode ?