Horizontal Scrolling fix

Discussions related to using VirtualBox on Mac OS X hosts.
ami289
Posts: 5
Joined: 10. Mar 2015, 11:49

Horizontal Scrolling fix

Post by ami289 »

Hey guys,

I've recently installed Windows 7 Guest on my Macbook Pro and found that the horizontal scrolling does not work.

I have managed to get it to work,
And since, after a quick search on google and on here I've found a lot of people complaining about this issue, but no solutions,
I've wanted to share it with you guys, for anyone who's experiencing the same issue.

I'm not a native english speaker, so if my explanations are not clear enough please tell me, and I'll try to rephrase them.
Also, you are welcome to post here a re-phrase of things you think you can phrase more clearly.


Just a little background-
My Host is Mackbook Pro running OS X 10.9.5
This solution has worked for me using the built-in trackpad,
So I can't say for sure if it does or does not work with any other of the other apple mouse, Although, theoretically, I don't see a reason why it shouldn't work.
I've installed the latest VirtualBoxVM (currently 4.3.24),
Installed Windows 7 x64
And then installed the Guest Additions (I've encountered posts of people that saying that without Guest Additions the horizontal scrolling works fine, though I haven't tested it myself, also, I understood that a side effect of not having Guest Additions installed is that you can't get widescreen resolution, so you get a square image with black bars on both sides).


Anyways,
This is what I've done-
1) I've downloaded the appropriate Bootcamp Drivers that fit my Macbook Pro - Windows combination from here:
https://support.apple.com/en-us/HT204048
Note that the version numbers at the table in the above page are actually links to the appropriate bootcamp version download page.
For me it was Bootcamp 5
2) Unzip the downloaded file.
3) Inside the unzipped bootcamp directory, go to -> "BootCamp" -> "Drivers" -> "Apple"
4) Locate the appropriate mouse driver.
Since I was using the built-in trackpad, for me it was a file named "AppleMultiTouchTrackPadInstaller64.exe".
Note that there are also "AppleWirelessMouse64.exe" and "AppleWirelessTrackpad64.exe" drivers in there.
I haven't personally tested them, but you might give it a try if your are using any of the above.
Please note that driver names/location might be a bit different in other bootcamp versions.
5) Install the appropriate driver on the Guest machine (In my case it was Windows 7 x64).
6) After installing the driver, go to "Control Panel" -> "Hardware and Sound" -> "Mouse".
7) Go to the "Hardware" tab.
8) Select the PS/2 mouse that is there, and click on "Properties".
9) Click on the "Change settings" button (Note- this might not be necessary, but in my case, I couldn't perform the next step before making this one).
10) Go to the "Driver" tab and select "Update Driver".
11) Select "Browse my computer for driver software".
12) Select "Let me pick from a list of device drivers on my computer".
13) Uncheck "Show compatible hardware".
14) On the manufacturer list, locate and select "Apple".
15) Select the appropriate driver. (In my case I only had "Apple Mighty Mouse").
16) Ignore any compatibility warnings you receive, and just continue the installation of the drivers.
17) If asked, restart your computer (I would recommend restarting even if not necessary).
18) Enjoy your vertical scrolling.


I haven't been testing it for a long time, but so far it seems that basic functionality is still working, meaning-
Two-fingers-click to simulate right click.
Vertical scrolling.
Horizontal scrolling.



I would like to hear, and I think it would also benefit others, if you could comment if the above steps did or didn't work for you.

Good luck guys!


EDIT- Added a link to the bootcamp download page
Last edited by ami289 on 14. Mar 2015, 20:10, edited 1 time in total.
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Horizontal Scrolling fix

Post by socratis »

OK, I have several reservations about your post:
  1. Windows horizontal scrolling is a non-consistent feature (at best). Different programs implement different "logic" in their horizontal scrolling, if they implement it at all.
  2. Your mouse inside the guest is identified as: VendorID=0x80ee, ProductID=0x0021. According to http://www.linux-usb.org/usb.ids this is a VirtualBox (vendor) USB Tablet (product).
  3. You installed the drivers for an unrelated device (hence the warnings that you ignored), yet you claim full functionality after that. Doesn't add up.
Can you provide an example of an (easily accessible) application that horizontal scrolling was not working before you installed the Apple device drivers and it is working afterwards?

I believe your post to be misleading (maybe I'm wrong), that's why I'm asking for further clarification. Just to make sure that other users don't follow your lead, which may take them in the wrong path with unpredicted results.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
loukingjr
Volunteer
Posts: 8851
Joined: 30. Apr 2009, 09:45
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: just about all that run

Re: Horizontal Scrolling fix

Post by loukingjr »

Actually the OP could be onto something. First of all horizontal scrolling does not work in Windows or Linux guests. When Apple came out with Bootcamp among other things it released the drivers necessary for Apple devices to work correctly with Windows. And it's not just Apple devices. Logitech for example has mice and touch pads with horizontal scrolling capabilities but without drivers for Windows or Linux it won't function.

I haven't tested the OP's solution because I don't really care about horizontal scrolling but I may try it at some point. Won't help with Linux guests of course.

edit: Even the wired Apple Mouse with the scroll button will not scroll horizontally in a guest.
OSX, Linux and Windows Hosts & Guests
There are three groups of people. Those that can count and those that can't.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Horizontal Scrolling fix

Post by mpack »

Actually, Socratis is correct. It makes no sense to talk about horizontally (or vertical) scrolling working in Windows, because Windows doesn't scroll anything. When you click on any screen widget (e.g. a scroll bar), or press any key, the app receives a message, and there Windows responsibility ends. If the application chooses to repaint the window to give the subjective impression of scrolling, that's its choice.

So, I'd forget scrolling, and consider if there's some reason why the app might not get the expected widget signals. If the Mac has an unusual widget signal which has no equivalent in Windows, then of course that signal cannot be sent.

Or, perhaps the OP is mistaken, so it might be useful to have a concrete repeatable example of scrolling "not working".
ami289
Posts: 5
Joined: 10. Mar 2015, 11:49

Re: Horizontal Scrolling fix

Post by ami289 »

Hi guys,

I appreciate your responses.


I've installed a Windows guest since I've wanted to use Microsoft Visual Studio 2013 which, as far as I know, does not have an OS version (I haven't looked thoroughly though).
After installing Windows and Microsoft Visual Studio 2013, I've noticed that when trying to use the horizontal scrolling, the result is getting a behaviour that is similar to pressing the Page-Up / Page-Down keys.
The first thing I've did is searching in google and in these forums to see if anyone else encountering the same issue in general, and not specific to Microsoft Visual Studio 2013.

After I've found plenty of other complaints about similar issues, I've assumed this is a Windows-Guest issue, and not a program-specific issue,
So I haven't tested the horizontal scrolling in any other program in the Windows guest.

After making the steps in my original post, horizontal scrolling works in Microsoft Visual Studio 2013, and in any other program I've checked it,
For instance in Web browsers and text editors, although I haven't tested it in them BEFORE making the the steps in my original post.


I disagree with 'socratis' 3rd comment.
I honestly don't really knows how exactly device drivers work, but this is my interpretation of it-
The driver is not for unrelated device, it is the same type of device, just not the same actual device

For those of you who have installed a new OS on a laptop, there is a chance that you've encountered a situation where there is some trackpad-specific functionality, that before installing the specific driver, that functionality does not work.
For example, some trackpads do vertical scrolling only if you use the right-most part of the trackpad.
But before installing the device-specific driver, the trackpad itself does work, just with some functionality missing.
It's not that the device isn't working because it has some 'unrelated' drivers,
It is working, just not as it intended to.

Same way as happened for me before performing the steps in my original post.
The trackpad did work, just with some functionality missing.

My thought was, the same as you guys pointed out in your comments,
That maybe the 'generic' VirtualBox driver is interpreting the horizontal gestures incorrectly, and windows send the 'incorrect' interpretation to the running programs
and since Apple has released a Windows-specific drivers for those who install Windows using BootCamp,
I thought that maybe I need to use those drivers, for the horizontal scrolling gesture to be interpreted correctly by windows, before it being sent to the actual applications.

As I've mentioned above,
I haven't tested it in any other program, other that Microsoft Visual Studio 2013, before making the steps in my original posts,
But the fact is, that after making those steps, I can say that horizontal scrolling have worked for me in any program I've tested it in.


EDIT-
Here is an VirtualBox bug ticket that people is complaining about the same thing-
https://www.virtualbox.org/ticket/10275
If you check the comments, You'll notice the following comment-
"Same here in a Windows 7 guest, on 4.3.10 Ubuntu 14.04 host. According to AutoHotkey, it appears that each wheel tilting is translated into multiple WheelUps/Downs so it work as a PageUp/Down effectively."
I'm not really familiar with AutoHotKey, but a quick look revealed that it is a program to make keyboard/mouse macros.
And from this guy comment, it seems that the 'action' being sent to this program by Windows, when making horizontal gesture, is multiple 'vertical scrolling',
So, again, I think that the generic VirtualBox driver is interpreting the horizontal scrolls incorrectly, and not the applications themselves.
loukingjr
Volunteer
Posts: 8851
Joined: 30. Apr 2009, 09:45
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: just about all that run

Re: Horizontal Scrolling fix

Post by loukingjr »

mpack wrote:Actually, Socratis is correct. It makes no sense to talk about horizontally (or vertical) scrolling working in Windows, because Windows doesn't scroll anything. When you click on any screen widget (e.g. a scroll bar), or press any key, the app receives a message, and there Windows responsibility ends. If the application chooses to repaint the window to give the subjective impression of scrolling, that's its choice.

So, I'd forget scrolling, and consider if there's some reason why the app might not get the expected widget signals. If the Mac has an unusual widget signal which has no equivalent in Windows, then of course that signal cannot be sent.

Or, perhaps the OP is mistaken, so it might be useful to have a concrete repeatable example of scrolling "not working".
I'm sure you're right Don. it makes no sense to talk about scrolling in any OS since there is no such thing. Of course without going into detail on how it's implemented people seem to understand what scrolling is when it is discussed. Might as well not bring up Gestures either.
I wasn't going to bring it up but, horizontal scrolling works in all Windows guests in VMWare Fusion and I expect in Parallels Desktop.
OSX, Linux and Windows Hosts & Guests
There are three groups of people. Those that can count and those that can't.
ami289
Posts: 5
Joined: 10. Mar 2015, 11:49

Re: Horizontal Scrolling fix

Post by ami289 »

Hi again guys,

After asking some legitimate questions in your replies, that I haven't had answers to,
I've decided to make a new, clean, test,
And concluded that this is definitely a VirtualBox issue, and not a software-related issue,
Well, more precisely, a 'Guest Additions' issue.

Here are the steps I've made to determine that:

1) I've created a new virtual machine.
2) I've installed a fresh copy of Windows 7 x64.
3) I've downloaded Microsoft's IntelliPoint 8.2 for diagnosing the Windows' interpretation of the mouse.
I have not yet installed the Guest Additions
4) I've opened Microsoft's Mouse Diagnostic tool by opening the 'Run...' menu and typing 'mousinfo'
5) I've checked Horizontal Scrolling in the following:
Text Editor- Horizontal scrolling working just fine.
Internet Explorer- Horizontal scrolling does nothing.
Windows Explorer- Horizontal scrolling does nothing.
Note- In the above tests, Microsoft's Mouse Diagnostic tool have reported the following:
For vertical scrolling- Z value of 120 / -120 (depends on scrolling direction).
For horizontal scrolling- Z value of 0 in both directions.
6) I've installed the 'Guest Additions' and restarted the computer.
7) I've opened Microsoft's Mouse Diagnostic tool again and tested again with the above programs and got the following:
Text Editor- Horizontal scrolling works as a page-up / page-down.
Internet Explorer- Horizontal scrolling works as a page-up / page-down.
Windows Explorer- Horizontal scrolling works as a page-up / page-down.
Note- In the above tests, Microsoft's Mouse Diagnostic tool have reported the following:
For vertical scrolling- Z value of 120 / -120 (depends on scrolling direction).
For horizontal scrolling- Z value of 840 / -840 (depends on scrolling direction).
8) I've then installed the Apple's driver, as I mentioned in my original post at the top, and then restarted the computer.
9) I've opened Microsoft's Mouse Diagnostic tool again and tested again with the above programs, and got the same results as in the first test, as follows:
Text Editor- Horizontal scrolling working just fine.
Internet Explorer- Horizontal scrolling does nothing.
Windows Explorer- Horizontal scrolling does nothing.
Note- In the above tests, Microsoft's Mouse Diagnostic tool have reported the following:
For vertical scrolling- Z value of 120 / -120 (depends on scrolling direction).
For horizontal scrolling- Z value of 0 in both directions.

So, beyond all doubt, this is not a software related issue,
But the 'Guest Additions' 'messing' the way Windows is interpreting the horizontal scroll.
As you can see from the tests, after installing the 'Guest Additions', Windows interprets every horizontal scroll as 7 times of a vertical scroll, which explains why every horizontal scroll have the effect of a page-up / page-down.

Although that issue started only after installing the 'Guest Additions',
I don't count not installing 'Guest Additions' as an option,
Since, without 'Guest Additions', I can't set the proper screen resolution, and I'd get a square picture, with black borders, centred in my computer's wide-screen monitor
(Could be more side-effects of not installing the 'Guest Additions', but the above is so obvious, And to me personally is really annoying, that I didn't need more reasons to install it).
loukingjr
Volunteer
Posts: 8851
Joined: 30. Apr 2009, 09:45
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: just about all that run

Re: Horizontal Scrolling fix

Post by loukingjr »

ami289 wrote:Hi again guys,
And concluded that this is definitely a VirtualBox issue, and not a software-related issue,
Well, more precisely, a 'Guest Additions' issue.

So, beyond all doubt, this is not a software related issue,
I think you've taken this well beyond what is necessary.
And in the end your conclusion is faulty. VirtualBox, Guest Additions, mouse drivers, applications and OS's are all software so of course it's a software related issue. :)

The reality is different input devices are interpreted differently by different OS's. It is not a VirtualBox or guest addition "problem". It's just that there isn't a built in interpreter/translator for every possible input, software and hardware scenario built into VirtualBox. Which is understandable.
OSX, Linux and Windows Hosts & Guests
There are three groups of people. Those that can count and those that can't.
ami289
Posts: 5
Joined: 10. Mar 2015, 11:49

Re: Horizontal Scrolling fix

Post by ami289 »

Hi 'loukingjr',
Appreciate your reply.

You are right, maybe I wasn't clear enough,
As I've said in my original post, I'm not an native english speaker.

When I said software-related, what I meant was that it wasn't a specific application that interpreted wrongly the scrolling that was sent by the OS,
I meant that the applications interpreted the scrolling that was sent to it correctly,
It was the OS itself that sent the 'wrong' interpretation.

I agree with you when you say that it is understandable that there isn't a built in interpreter/translator for every possible input and hardware,
But I disagree when you say that it isn't a 'Guest Additions' problem,
Again, I no expert on drivers or on how VirtualBox and 'Guest Additions' work,
But the fact is, as shown in the testing I've made, Installing the 'Guest Additions' causes Windows to interpret the scrolling wrongly.
So, in a sense, the 'Guest Additions' "broke" a correct functionality.

Just my opinion though mate :)
loukingjr
Volunteer
Posts: 8851
Joined: 30. Apr 2009, 09:45
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: just about all that run

Re: Horizontal Scrolling fix

Post by loukingjr »

I haven't bothered to reinstall a Windows guest without guest additions or remove the guest additions from the Windows guests I have installed but think of this...

Forget VirtualBox for the moment. If you take any Apple device and plug it into a Windows machine or try to run Windows in Bootcamp without installing the Apple drivers, they will not work correctly. So there is no reason they would work correctly in a Windows guest.
OSX, Linux and Windows Hosts & Guests
There are three groups of people. Those that can count and those that can't.
ami289
Posts: 5
Joined: 10. Mar 2015, 11:49

Re: Horizontal Scrolling fix

Post by ami289 »

I agree with that mate,
This is my also my opinion,
This is why I have tried installing Apple's driver in the first place, as mentioned in the original post.

The whole followup of the testing was because of 'socratis' and 'mpack' responses, who, rightfully, said that a more concrete and easily reproduced situation is required, to determine whether it is indeed a 'global' issue, and not just specific to a some program I was using.


Currently it is the only solution I'm aware off, for anyone interested in using the horizontal scrolling with 'Guest Additions' installed.

I thought that, besides the fact it might help others who seek for a solution to this, if it indeed work for others and not just me (although I don't see a reason why it wouldn't...) we'll have enough 'unit testing' to determine what causes the issue and what resolves it, and see if it doesn't actually causes any other side-effects.
This is why, in my original post, I've also said that it would be beneficial if users can report back if it did or didn't worked for them.

And then we could file a enhancement request / bug report to the great team of VirtualBox,
Since I guess that, like any other software development company, they are probably already flooded with enhancement requests and bug reports as is.
loukingjr
Volunteer
Posts: 8851
Joined: 30. Apr 2009, 09:45
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: just about all that run

Re: Horizontal Scrolling fix

Post by loukingjr »

I see. Your statement…
So, in a sense, the 'Guest Additions' "broke" a correct functionality.
confused me.

To be honest I rarely use horizontal scrolling and if I need to the arrow keys work.
OSX, Linux and Windows Hosts & Guests
There are three groups of people. Those that can count and those that can't.
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Horizontal Scrolling fix

Post by socratis »

ami289 wrote:I disagree with 'socratis' 3rd comment.
I honestly don't really knows how exactly device drivers work, but this is my interpretation of it-
The driver is not for unrelated device, it is the same type of device, just not the same actual device
So, explain this to me. What would happen if you installed the driver for a Logitech mouse/trackpad? Would you expect it to work? Or to fix an incorrect behavior?

The fact that without GAs it works, with GAs it doesn't and with the installation of Apple's drivers it works is (I have to admit) a little puzzling. Maybe when you install the Apple drivers, something gets enabled/disabled in the behavior of the mouse. Maybe.

BUT, do not, I repeat, do not say that this is the solution. Your VM has no idea that it has an Apple trackpad. And that's a fact. Any hocus-pocus that you try in the VM might work. Might. In your case. Again, it is the wrong advice to try and fix a problem.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Horizontal Scrolling fix

Post by mpack »

loukingjr wrote:I'm sure you're right Don. it makes no sense to talk about scrolling in any OS since there is no such thing. Of course without going into detail on how it's implemented people seem to understand what scrolling is when it is discussed.
I'm not sure my point got through.

My point is that VirtualBox's support for scrolling can't be broken, because no such support ever existed. Scrolling is implemented by the guest app (not even the guest OS), via one or more window repaints: and if windows can't be repainted then that would be very obvious and nobody would think it was a scrolling problem.

Similar logic tells us that mouse clicks must be being picked up by the screen widgets that result in scrolling messages.

That leaves issues with particular input devices. Windows is really designed to be used by a Microsoft mouse or similar (*). The less your input device behaves like an MS mouse, the more issues you'll have. If your input device sends signals that an MS mouse doesn't, those extra signals have no meaning.

(*) You can install drivers for weird devices, but apps will not be expecting weird signals - they'll be expecting the signals you get from an MS mouse.
loukingjr
Volunteer
Posts: 8851
Joined: 30. Apr 2009, 09:45
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: just about all that run

Re: Horizontal Scrolling fix

Post by loukingjr »

I agree Don. You can't break something that wasn't there. It's is like saying the GAs break Retina displays when VirtualBox doesn't support them in the first place.

The Apple drivers in particular were written to allow Apple devices to work correctly in Windows running in Bootcamp. In other words to make Windows think they were actually Windows devices. Whether that would work in a Windows guest I'm not sure and I haven't checked. The OP seems to think installing them does work then the GAs breaks them.

Personally as I mentioned horizontal scrolling matters not to me. If I need it for some reason, clicking inside the horizontal scroll bar or using the left and right arrow keys works fine for me.
OSX, Linux and Windows Hosts & Guests
There are three groups of people. Those that can count and those that can't.
Post Reply