|
|
Line 5: |
Line 5: |
|
| |
|
| After implementing {{bug|462809}}, it became clear that we needed to be able to detect if the user already had an acceleration model {{bug|509651}} however, since that isn't in scope for 3.6, we are holding that bug and further investigation for 3.7 and moving forward with simply copying Chrome's behavior {{bug|513817}} for 3.6. | | After implementing {{bug|462809}}, it became clear that we needed to be able to detect if the user already had an acceleration model {{bug|509651}} however, since that isn't in scope for 3.6, we are holding that bug and further investigation for 3.7 and moving forward with simply copying Chrome's behavior {{bug|513817}} for 3.6. |
|
| |
| = Design: Acceleration Model for Scrolling =
| |
|
| |
| We're using a timeout function to group mousewheel clicks into separate series, where each series represents a unique scroll gesture. Within each series we increment a counter that keeps track of the number of clicks of the scroll wheel within the series, and we can use this value to determine when to start acceleration and how much acceleration to create.
| |
|
| |
| We're using three integer preferences to modify scroll wheel behavior:
| |
| * '''mousewheel.withnokey.numlines''' (default=6)
| |
| ** The number of lines the page moves with one click of the scroll wheel.
| |
| ** This pref is used to determine a scroll delta before acceleration computations are applied.
| |
| * '''mousewheel.acceleration.start''' (default=3)
| |
| ** The scroll wheel click number at which acceleration begins to take effect.
| |
| * '''mousewheel.acceleration.factor''' (default=10)
| |
| ** The multiplicative factor used to scale constant acceleration.
| |
|
| |
|
| = Bugs = | | = Bugs = |