diff --git a/src/openseadragon.js b/src/openseadragon.js index de88f717..fd3fe809 100644 --- a/src/openseadragon.js +++ b/src/openseadragon.js @@ -266,6 +266,9 @@ * @property {Number} [pixelsPerWheelLine=40] * For pixel-resolution scrolling devices, the number of pixels equal to one scroll line. * + * @property {Number} [pixelsPerArrowPress=40] + * The number of pixels viewport moves when an arrow key is pressed. + * * @property {Number} [visibilityRatio=0.5] * The percentage ( as a number from 0 to 1 ) of the source image which * must be kept within the viewport. If the image is dragged beyond that @@ -1088,6 +1091,7 @@ function OpenSeadragon( options ){ smoothTileEdgesMinZoom: 1.1, //-> higher than maxZoomPixelRatio disables it iOSDevice: isIOSDevice(), pixelsPerWheelLine: 40, + pixelsPerArrowPress: 40, autoResize: true, preserveImageSizeOnResize: false, // requires autoResize=true minScrollDeltaTime: 50, diff --git a/src/viewer.js b/src/viewer.js index 78872afc..51b22756 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -2483,7 +2483,7 @@ function onCanvasKeyDown( event ) { if ( event.shift ) { this.viewport.zoomBy(1.1); } else { - this.viewport.panBy(this.viewport.deltaPointsFromPixels(new $.Point(0, -40))); + this.viewport.panBy(this.viewport.deltaPointsFromPixels(new $.Point(0, -this.pixelsPerArrowPress))); } this.viewport.applyConstraints(); return false; @@ -2491,16 +2491,16 @@ function onCanvasKeyDown( event ) { if ( event.shift ) { this.viewport.zoomBy(0.9); } else { - this.viewport.panBy(this.viewport.deltaPointsFromPixels(new $.Point(0, 40))); + this.viewport.panBy(this.viewport.deltaPointsFromPixels(new $.Point(0, this.pixelsPerArrowPress))); } this.viewport.applyConstraints(); return false; case 37://left arrow - this.viewport.panBy(this.viewport.deltaPointsFromPixels(new $.Point(-40, 0))); + this.viewport.panBy(this.viewport.deltaPointsFromPixels(new $.Point(-this.pixelsPerArrowPress, 0))); this.viewport.applyConstraints(); return false; case 39://right arrow - this.viewport.panBy(this.viewport.deltaPointsFromPixels(new $.Point(40, 0))); + this.viewport.panBy(this.viewport.deltaPointsFromPixels(new $.Point(this.pixelsPerArrowPress, 0))); this.viewport.applyConstraints(); return false; default: