In Ubuntu 18.04, in the GNOME shell, when a different keyboard layout is selected than the default of the OS, scrolling in Windows guests (Linux guests not tested) is erratic. This results in randomly scrolling up or down when the mouse is moved in the VM in some scrollable panes, such as the start menu. This occurs on all guests, including those in an ESXi cluster, and even in the installer of the guest OS. This lead me to believe this is a host-guest interaction issue, and unrelated to the VM itself.
I have narrowed this problem down to the keyboard layout selector in the upper right corner. It only occurs in the GNOME shell, which is the default in Ubuntu 18.04, and can be reproduced across several systems using VMware Workstation for Linux 14.1.2. You can reproduce this issue as follows:
1. Install Ubuntu 18.04 as host OS
2. Make sure you login using the GNOME shell (Unity works as expected)
3. Add seven different input methods (one additional would be fine, but we are testing here). It does not matter which exactly you pick
4. Start up a Windows 10 guest OS (again, does not matter, but for testing purposes this is fine)
5. In the Guest OS, go to the Start menu, and try to scroll in the 'All apps' section (not all scrolling is broken, but the start menu is)
When the first option in the keyboard layout selector is chosen, this works as expected.
When the second option in the keyboard layout selector is chosen, when the mouse is scrolled or moved, the menu will scroll UP immediately. Scrolling down using keyboard works, but when the mouse is moved again, it will scroll up immediately.
When the third option in the keyboard layout selector is chosen, the menu will scroll DOWN immediately.
This will repeat: when the fourth option is chosen, it works as expected. The fifth option will scroll UP. The sixth option will scroll DOWN. The seventh option will work as expected, etc.
The workaround is simple: simply set the input selector to the first option when erratic scrolling occurs, but I believe this bizarre interaction bug should be fixed.
Also posting it here in the case someone else encounters this issue.