From 12931612eabb56ab76dd63c8c7cb5a9584bb38cc Mon Sep 17 00:00:00 2001 From: Gregers Gram Rygg Date: Tue, 22 May 2012 17:43:52 +0200 Subject: [PATCH] Don't affect digital mouse wheels (a.k.a. step-scroll) --- lib/OpenLayers/Handler/MouseWheel.js | 7 ++++++- tests/Handler/MouseWheel.html | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/OpenLayers/Handler/MouseWheel.js b/lib/OpenLayers/Handler/MouseWheel.js index 0228c0b74c..7cfc40cfce 100644 --- a/lib/OpenLayers/Handler/MouseWheel.js +++ b/lib/OpenLayers/Handler/MouseWheel.js @@ -176,7 +176,12 @@ OpenLayers.Handler.MouseWheel = OpenLayers.Class(OpenLayers.Handler, { e = window.event; } if (e.wheelDelta) { - delta = e.wheelDelta/this.analogWheelPrecision; + delta = e.wheelDelta; + if (delta % 120 === 0) { + delta = delta / 120; + } else { + delta = delta / this.analogWheelPrecision; + } if (window.opera && window.opera.version() < 9.2) { delta = -delta; } diff --git a/tests/Handler/MouseWheel.html b/tests/Handler/MouseWheel.html index 1d2a6b7eb5..d41c2cd18c 100644 --- a/tests/Handler/MouseWheel.html +++ b/tests/Handler/MouseWheel.html @@ -107,7 +107,7 @@ var activated = handler.activate(); - var delta = 360; + var delta = 120; if (window.opera && window.opera.version() < 9.2) delta = -delta; handler.onWheelEvent({'target':map.layers[0].div, wheelDelta: delta}); handler.onWheelEvent({'target':map.layers[0].div, wheelDelta: delta});