Index: /issm/trunk-jpl/src/m/plot/webgl.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/webgl.js	(revision 20554)
+++ /issm/trunk-jpl/src/m/plot/webgl.js	(revision 20555)
@@ -43,5 +43,5 @@
 	canvas.rotationDefault = options.getfieldvalue('view',[0,90]); //0 azimuth - up is north, 90 elevation - looking straight down
 	canvas.rotation = canvas.rotationDefault;
-	canvas.controlsensitivity = 1;
+	canvas.controlsensitivity = options.getfieldvalue('controlsensitivity',1);
 	canvas.twod = options.getfieldvalue('2d','off') == 'on';
 	canvas.moviePlay = true;
@@ -331,6 +331,6 @@
 	}
 	if (ev.srcEvent.shiftKey || ev.pointers.length == 2) {
-		var deltaX = (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2;
-		var deltaY = (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2;
+		var deltaX = (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2 * canvas.controlsensitivity;
+		var deltaY = (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2 * canvas.controlsensitivity;
 		
 		canvas.translation[0] += Math.cos(radians(canvas.rotation[0])) * deltaX - Math.sin(radians(canvas.rotation[0])) * deltaY;
@@ -338,6 +338,6 @@
 	}
 	else {
-		canvas.rotation[0] += degrees((canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2);
-		canvas.rotation[1] += degrees((canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2);
+		canvas.rotation[0] += degrees((canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2 * canvas.controlsensitivity);
+		canvas.rotation[1] += degrees((canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2 * canvas.controlsensitivity);
 		
 		if (canvas.rotation[0] > 360) {canvas.rotation[0] -= 360};
@@ -352,5 +352,5 @@
 	canvas.lastDeltaY = ev.deltaY;
 	
-	if (displaylog) console.log(canvas.rotation);
+	if (displaylog) console.log(canvas.translation);
 } //}}}
 function onPinch(ev,canvas,displaylog) { //{{{
@@ -366,5 +366,5 @@
 function onZoom(ev,canvas,displaylog) { //{{{
 	ev.preventDefault();
-	var delta = clamp(clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1) / (1000  * canvas.zoomFactor), -0.1, 0.1);
+	var delta = clamp(clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1) * canvas.controlsensitivity * canvas.zoomFactor / 20, -1.0, 1.0);
 	canvas.zoomFactor = clamp(canvas.zoomFactor + delta, canvas.zoomBounds[0], canvas.zoomBounds[1]);
 	
