Index: /experimental/distortionNG/DistortionManipulator.cpp
===================================================================
--- /experimental/distortionNG/DistortionManipulator.cpp	(revision 346)
+++ /experimental/distortionNG/DistortionManipulator.cpp	(revision 346)
@@ -0,0 +1,73 @@
+/* osgVisual test. distortionNG, experimental.
+*
+*  Permission is hereby granted, free of charge, to any person obtaining a copy
+*  of this software and associated documentation files (the "Software"), to deal
+*  in the Software without restriction, including without limitation the rights
+*  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+*  copies of the Software, and to permit persons to whom the Software is
+*  furnished to do so, subject to the following conditions:
+*
+*  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+*  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+*  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+*  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+*  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+*  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+*  THE SOFTWARE.
+*/
+
+#include "DistortionManipulator.h"
+
+using namespace osg;
+using namespace osgViewer;
+
+
+DistortionManipulator::DistortionManipulator()
+{
+}
+
+DistortionManipulator::~DistortionManipulator()
+{
+}
+
+void DistortionManipulator::getUsage(osg::ApplicationUsage& usage) const
+{
+    usage.addKeyboardMouseBinding("Keypad 7","Show distortion mesh / intensity map / none.");
+	usage.addKeyboardMouseBinding("Keypad 8","Save distortion set.");	// via plugin
+	usage.addKeyboardMouseBinding("Keypad 4","Toggles Setup Mode between DISABLED, MANUAL & DELEGATED.");
+ 	usage.addKeyboardMouseBinding("Keypad 5","MANUAL Mode: Toggle between blending & distortion setup.");
+	usage.addKeyboardMouseBinding("Keypad 6","MANUAL Mode: Toggle if distortion drags affect mesh or rtt texture coordinates.");	// Defaults to Mesh
+	usage.addKeyboardMouseBinding("Keypad 1","Reset distortion.");
+	usage.addKeyboardMouseBinding("Keypad 2","Reset intensity blending.");
+}
+
+bool DistortionManipulator::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa, osg::Object*, osg::NodeVisitor* nv)
+{
+switch(ea.getEventType())
+    {
+        case(osgGA::GUIEventAdapter::MOVE):
+        case(osgGA::GUIEventAdapter::DRAG):
+		{
+			osg::notify(osg::ALWAYS)<<"DRAG!"<<std::endl;
+			break;
+		}
+        case(osgGA::GUIEventAdapter::PUSH):
+        case(osgGA::GUIEventAdapter::RELEASE):
+        case(osgGA::GUIEventAdapter::KEYDOWN):
+        case(osgGA::GUIEventAdapter::KEYUP):
+		case(osgGA::GUIEventAdapter::FRAME):
+		{
+			osg::notify(osg::ALWAYS)<<"FRAME!"<<std::endl;
+			break;
+		}
+        case (osgGA::GUIEventAdapter::RESIZE):	// todo: adapt distortion mesh to new screen size
+		{
+			osg::notify(osg::ALWAYS)<<"RESIZE!"<<std::endl;
+			break;
+		}
+
+        default:
+            return false;
+    }
+    return false;
+}
Index: /experimental/distortionNG/DistortionManipulator.h
===================================================================
--- /experimental/distortionNG/DistortionManipulator.h	(revision 346)
+++ /experimental/distortionNG/DistortionManipulator.h	(revision 346)
@@ -0,0 +1,40 @@
+/* osgVisual test. distortionNG, experimental.
+*
+*  Permission is hereby granted, free of charge, to any person obtaining a copy
+*  of this software and associated documentation files (the "Software"), to deal
+*  in the Software without restriction, including without limitation the rights
+*  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+*  copies of the Software, and to permit persons to whom the Software is
+*  furnished to do so, subject to the following conditions:
+*
+*  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+*  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+*  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+*  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+*  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+*  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+*  THE SOFTWARE.
+*/
+
+#ifndef OSGGA_DISTORTION_MANIPULATOR
+#define OSGGA_DISTORTION_MANIPULATOR 1
+
+#include<osgGA/GUIEventHandler>
+
+
+namespace osgViewer {
+
+class DistortionManipulator : public osgGA::GUIEventHandler
+{
+public:
+	DistortionManipulator();
+	virtual ~DistortionManipulator();
+
+	virtual void getUsage(osg::ApplicationUsage& usage) const;
+    virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter& aa, osg::Object*, osg::NodeVisitor* nv);
+};
+
+
+}
+
+#endif /* OSGGA_DISTORTION_MANIPULATOR */
Index: /experimental/distortionNG/distortionNG.vcproj
===================================================================
--- /experimental/distortionNG/distortionNG.vcproj	(revision 345)
+++ /experimental/distortionNG/distortionNG.vcproj	(revision 346)
@@ -334,4 +334,8 @@
 			>
 			<File
+				RelativePath=".\DistortionManipulator.cpp"
+				>
+			</File>
+			<File
 				RelativePath=".\distortionNG.cpp"
 				>
@@ -356,4 +360,8 @@
 			>
 			<File
+				RelativePath=".\DistortionManipulator.h"
+				>
+			</File>
+			<File
 				RelativePath=".\distortionNG.h"
 				>
Index: /experimental/distortionNG/extViewer.cpp
===================================================================
--- /experimental/distortionNG/extViewer.cpp	(revision 345)
+++ /experimental/distortionNG/extViewer.cpp	(revision 346)
@@ -1,2 +1,20 @@
+/* osgVisual test. distortionNG, experimental.
+*
+*  Permission is hereby granted, free of charge, to any person obtaining a copy
+*  of this software and associated documentation files (the "Software"), to deal
+*  in the Software without restriction, including without limitation the rights
+*  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+*  copies of the Software, and to permit persons to whom the Software is
+*  furnished to do so, subject to the following conditions:
+*
+*  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+*  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+*  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+*  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+*  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+*  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+*  THE SOFTWARE.
+*/
+
 #include "extViewer.h"
 #include "distortionNG.h"
@@ -14,4 +32,6 @@
 #include <osgUtil/SmoothingVisitor>
 
+#include "DistortionManipulator.h"
+
 extViewer::extViewer() : Viewer()
 {
@@ -20,5 +40,5 @@
 extViewer::extViewer(osg::ArgumentParser& arguments) : Viewer(arguments)
 {
-	// Add help for command-line options read here
+	// Add help for command-line options here
     arguments.getApplicationUsage()->addCommandLineOption("--distort","load distortion file and set up geometrical distortion for viewer. This includes blending");
     arguments.getApplicationUsage()->addCommandLineOption("--blend","Set up viewer vor simple blending CullDrawThreadPerContext threading model for viewer.");
@@ -327,4 +347,7 @@
 		camera->setCullingMode( mode & (~osg::CullSettings::SMALL_FEATURE_CULLING) );
 
+		// Add the distortionHandler
+		addEventHandler(new osgViewer::DistortionManipulator);
+
 
         camera->setName("Dist Cam");
Index: /experimental/distortionNG/extViewer.h
===================================================================
--- /experimental/distortionNG/extViewer.h	(revision 345)
+++ /experimental/distortionNG/extViewer.h	(revision 346)
@@ -1,3 +1,23 @@
 #pragma once
+
+/* osgVisual test. distortionNG, experimental.
+*
+*  Permission is hereby granted, free of charge, to any person obtaining a copy
+*  of this software and associated documentation files (the "Software"), to deal
+*  in the Software without restriction, including without limitation the rights
+*  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+*  copies of the Software, and to permit persons to whom the Software is
+*  furnished to do so, subject to the following conditions:
+*
+*  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+*  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+*  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+*  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+*  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+*  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+*  THE SOFTWARE.
+*/
+
+
 #include<osgViewer/Viewer>
 
