Closed Bug 509651 Opened 16 years ago Closed 15 years ago

Disable Firefox's acceleration based scrolling model if the mouse driver already provides it

Categories

(Core :: Widget: Win32, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: faaborg, Unassigned)

References

Details

Some mouse drivers on Windows provide their own acceleration model, and when this is combined with the changes in bug 462809, this can cause double accelerated scrolling, which is an unintended behavior. To address this bug we need to: 1) Figure out how to detect what mouse driver the user has 2) Figure out how to set of the most common mouse drivers that provide their own acceleration model, or alternatively only enable Firefox's acceleration if the user has the default windows mouse driver (which does not provide an acceleration model).
Requesting blocking since this may significantly worsen Firefox's user experience for a subset of users. We should also go out and buy a few of these mice that include an acceleration model so we can see what double acceleration actually feels like.
Flags: blocking1.9.2?
From registry, this is impossible because the setting value is under each developer's registry key. So, it's not a system setting, it's just a software(driver) setting. I suggested to implement the app acceleration in XP level, see bug 462809 comment 37. Then, there is only one way which checks the delta value increment of each wheel events, perhaps.
Can we detect this by disabling our checking manually and seeing if we can detect acceleration when we would otherwise accelerate? i.e. if the user makes a number of scroll events in the same direction and the value of each scroll seems to roughly accelerate, is that good enough to detect driver level acceleration?
Blocks: 462809, 508785
Do we even know that native acceleration increases number of lines rather than the event rate?
If the delta value is not a multiple of WHEEL_DELTA, it may be worth enabling acceleration. If we get only a multiple of WHEEL_DELTA, it may be better to double the numlines instead of acceleration.
I'm not sure if my mouse is one of the one's affected or if I'm just seeing the behavior that was intended. (I'm using a Microsoft wireless laser mouse.) Regardless, the scrolling really feels wrong, I can blow through a half page of bugzilla comments in one small flip of the wheel. I'd be happy to help test or what ever is needed to try and track this down because as it stands now trunk feels pretty broken with my system.
This is not something that will block Firefox 3.6; what does block is getting the scrolling model back under control. This is a nice way to mix acceleration with non-crazy acceleration, but doesn't block.
Flags: blocking1.9.2? → blocking1.9.2-
Apparently there's no way for this to actually be done, so marking INVALID as per Masayuki.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → INVALID
Resolution: INVALID → WONTFIX
I'm going to reopen this. At least for some drivers, this can in fact be done. For example, Intellipoint drivers set HKCU\Software\Microsoft\IntelliPoint\Scrolling\IsAccelerationEnabled to 1 if acceleration is enabled. That still leaves the issue of determining what the active mouse driver is, I guess. But I'm not sure why this was dismissed in comment 2 as impossible...
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
(In reply to comment #9) > That still leaves the issue of determining what the active mouse driver is, I > guess. wmi is one possibility http://msdn.microsoft.com/en-us/library/aa394356(VS.85).aspx on my system several properties on Win32_PointingDevice indicate IntelliPoint: HardwareType Caption Description Name
I think this affects more people than is suspected. 1) Microsoft's IntelliPoint enables scrolling acceleration by default. Considering that extras like acceleration are a major reason that add-on mouse drivers exist, I suspect that nearly all other drivers do the same. If that's the case then it's overkill to try recognize specific drivers and their settings, would it not be enough to disable Fx override for non os default drivers? 2) IntelliPoint acceleration is superior to whatever Fx override is doing (which hardly feels like acceleration) and makes possible much faster scrolling, when needed. You definitely notice that it's missing, after an upgrade from 3.5. Also, driver acceleration is UI configurable, Fx's is not. So anyone who's bought a brand mouse and installed its driver is likely to be affected.
First, we don't enables the acceleration in default settings. So, if the acceleration is enabled, we don't need to disable it. So, this should be INVA. I think that he reason is why we cannot implement the good acceleration system in application level: 1. We shouldn't do it in application level. Because if all applications tried to such things, the all applications makes different scrolling speed under same system settings. You should be angry and want to escape from such chaos desktop. 2. There are very many mouse produces, so, we cannot disable the acceleration on all environments which needs to disable it. So, this is this bug. We shouldn't manage all mouse drivers that becomes very large list and needs maintenance forever. 3. There are some physical device types of mouse wheel. Someone is smooth turning wheel, others are not smooth wheel, others are touchpad, others are stick, others are keyboard. And also even if same type, the properties can be different on each product. So, we need to decide the good ratio for every product. Of course, it's unrealistic. The main problem is that if we cannot disable the acceleration when it should be done, that makes the crazy scrolling speed on the user. So, the negative affect cannot be ignored. I.e., the enhancement has very risky. I don't think that any enhancement implementation shouldn't be risky and shouldn't affect to the users who don't need that. After Fx3.6 release, I look some comments of confused users who are being confused by the different scrolling speed from other application which includes Fx3.5 and earlier. Honestly, I don't think the speed overriding system is good too.
> First, we don't enables the acceleration in default settings. I'm not sure what you mean... We have: 1660 pref("mousewheel.system_scroll_override_on_root_content.enabled", true); in all.js. This apparently makes the mouse-driver-default acceleration not happen. See the "accelerated down scrolling broken in Fx 3.6.0 by default" thread in mozilla.dev.apps.firefox. That sounded like exactly what this bug was about, but maybe I just misread it....
(In reply to comment #13) > > First, we don't enables the acceleration in default settings. > > I'm not sure what you mean... We have: > > 1660 pref("mousewheel.system_scroll_override_on_root_content.enabled", true); > > in all.js. > > This apparently makes the mouse-driver-default acceleration not happen. See > the "accelerated down scrolling broken in Fx 3.6.0 by default" thread in > mozilla.dev.apps.firefox. That sounded like exactly what this bug was about, > but maybe I just misread it.... That is a setting for "override system". This bug is for "acceleration" system. See https://wiki.mozilla.org/Gecko:Mouse_Wheel_Scrolling#Override_system_of_system_scroll_speed https://wiki.mozilla.org/Gecko:Mouse_Wheel_Scrolling#Acceleration_system And also see bug 543511, the broken is a mistake, it was fixed on trunk already.
(In reply to comment #12) > First, we don't enables the acceleration in default settings. So, if the > acceleration is enabled, we don't need to disable it. So, this should be INVA. If you don't do your own acceleration what is the point of preventing driver acceleration from working with this system_scroll_override?
(In reply to comment #15) > (In reply to comment #12) > > First, we don't enables the acceleration in default settings. So, if the > > acceleration is enabled, we don't need to disable it. So, this should be INVA. > > If you don't do your own acceleration what is the point of preventing driver > acceleration from working with this system_scroll_override? There are no bugs for disabling the system_scroll_override when the driver level acceleration is enabled because I don't think that is needed. If the driver accelerates the scrolling speed, the override system doesn't increase the scrolling speed at that time.
(In reply to comment #16) > (In reply to comment #15) > > (In reply to comment #12) > > > First, we don't enables the acceleration in default settings. So, if the > > > acceleration is enabled, we don't need to disable it. So, this should be INVA. > > > > If you don't do your own acceleration what is the point of preventing driver > > acceleration from working with this system_scroll_override? > > There are no bugs for disabling the system_scroll_override when the driver > level acceleration is enabled because I don't think that is needed. If the > driver accelerates the scrolling speed, the override system doesn't increase > the scrolling speed at that time. having seen bug 543511, I believe I understand, the override was not intended to disable driver acceleration, it was just a bug. Will it be backported to 3.6?
(In reply to comment #17) > Will it be backported to 3.6? I'm requesting the approval.
> And also see bug 543511, the broken is a mistake, Ah, I see. Sorry for the noise here, in that case! Restoring the old status. Thank you for explaining the setup.
Status: REOPENED → RESOLVED
Closed: 15 years ago15 years ago
Resolution: --- → WONTFIX
Please reopen. I have a basic Logitech mouse. Logitech does not support acceleration in the driver for this mouse. To workaround this, I use http://www.autohotkey.com/board/topic/48426-accelerated-scrolling-script/ This workaround works fine in all applications, except Firefox. One tick on the scroll wheel in Firefox scrolls far longer than top to bottom of this report. Chrome, IE, Word, Eclipse etc all work fine. Firefox is the only problem.
(In reply to db from comment #20) > Please reopen. I have a basic Logitech mouse. Logitech does not support > acceleration in the driver for this mouse. To workaround this, I use > http://www.autohotkey.com/board/topic/48426-accelerated-scrolling-script/ > > This workaround works fine in all applications, except Firefox. One tick on > the scroll wheel in Firefox scrolls far longer than top to bottom of this > report. Chrome, IE, Word, Eclipse etc all work fine. Firefox is the only > problem. File a new bug for what you are experiencing. Thanks!
You need to log in before you can comment on or make changes to this bug.