Index: /experimental/distortionNG/DistortionManipulator.cpp
===================================================================
--- /experimental/distortionNG/DistortionManipulator.cpp	(revision 346)
+++ /experimental/distortionNG/DistortionManipulator.cpp	(revision 347)
@@ -18,4 +18,6 @@
 
 #include "DistortionManipulator.h"
+
+#include<osgViewer/Viewer>
 
 using namespace osg;
@@ -44,5 +46,11 @@
 bool DistortionManipulator::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa, osg::Object*, osg::NodeVisitor* nv)
 {
-switch(ea.getEventType())
+	osgViewer::View* viewer = dynamic_cast<osgViewer::View*>(&aa);
+		if ( viewer )
+		{
+			//osg::notify(osg::ALWAYS)<<"viewer!"<<std::endl;
+		}
+
+	switch(ea.getEventType())
     {
         case(osgGA::GUIEventAdapter::MOVE):
@@ -55,8 +63,48 @@
         case(osgGA::GUIEventAdapter::RELEASE):
         case(osgGA::GUIEventAdapter::KEYDOWN):
+		{
+			if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_End)	// KP 1: reset distortion
+			{
+				resetDistortion();
+				return(true);
+			}
+			if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_Down)	// KP 2: reset intensity map
+			{
+				resetIntensityMap();
+				return(true);
+			}
+			if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_Left)	// KP 4: Toggles Setup Mode between DISABLED, MANUAL & DELEGATED.
+			{
+				osg::notify(osg::ALWAYS)<<"KEY_KP_4"<<std::endl;
+				return(true);
+			}
+			if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_Begin)	// KP 5: MANUAL Mode: Toggle between blending & distortion setup.
+			{
+				osg::notify(osg::ALWAYS)<<"KEY_KP_5"<<std::endl;
+				return(true);
+			}
+			if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_Right)	// KP 6: MANUAL Mode: Toggle if distortion drags affect mesh or rtt texture coordinates -> defaults to Mesh
+			{
+				osg::notify(osg::ALWAYS)<<"KEY_KP_6"<<std::endl;
+				return(true);
+			}
+			if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_Home)	// KP 7: Show distortion mesh / intensity map / none.
+			{
+				osg::notify(osg::ALWAYS)<<"KEY_KP_7"<<std::endl;
+				return(true);
+			}
+			if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_Up)	// KP 8: Save distortion set	 via plugin
+			{
+				osg::notify(osg::ALWAYS)<<"KEY_KP_8"<<std::endl;
+				return(true);
+			}
+			
+
+			return false;	// Event ignored
+		}
         case(osgGA::GUIEventAdapter::KEYUP):
 		case(osgGA::GUIEventAdapter::FRAME):
 		{
-			osg::notify(osg::ALWAYS)<<"FRAME!"<<std::endl;
+			//osg::notify(osg::ALWAYS)<<"FRAME!"<<std::endl;
 			break;
 		}
@@ -72,2 +120,12 @@
     return false;
 }
+
+void DistortionManipulator::resetIntensityMap()
+{
+	osg::notify(osg::ALWAYS)<<"ToDo: resetIntensityMap()"<<std::endl;
+}
+
+void DistortionManipulator::resetDistortion()
+{
+	osg::notify(osg::ALWAYS)<<"ToDo: resetDistortion()"<<std::endl;
+}
Index: /experimental/distortionNG/DistortionManipulator.h
===================================================================
--- /experimental/distortionNG/DistortionManipulator.h	(revision 346)
+++ /experimental/distortionNG/DistortionManipulator.h	(revision 347)
@@ -33,4 +33,8 @@
 	virtual void getUsage(osg::ApplicationUsage& usage) const;
     virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter& aa, osg::Object*, osg::NodeVisitor* nv);
+
+private:
+	void resetIntensityMap();
+	void resetDistortion();
 };
 
Index: /experimental/distortionNG/distortionNG.cpp
===================================================================
--- /experimental/distortionNG/distortionNG.cpp	(revision 346)
+++ /experimental/distortionNG/distortionNG.cpp	(revision 347)
@@ -126,18 +126,2 @@
 	_highlighter->dirtyBound(); 
 }
-
-/*
-	Grundsätzliche Gedanken Schritte:
- Die Verzerrung kann auf zwei Arten realisiert werden
-	- Verzerrung der Textur-Koordinaten aus der RTT-Szene
-    - Verzerrung des Meshes im Verzerrungs-Rendern
- * 
- Die IntensityMap kann folgendermaßen angewendet werden:
- * Extrahierung der Coloran den Mesh-Nodes und anwendung als Color im Mesh node. Vorteil : Einfach. Nachteil: Helligkeiten werden zwischen Mesh-Nodes interpoliert: nur grobe Intensity Steuerung möglich
- * Anwendung der Intensity-Textur pro Pixel: Verwenden eines Sharders um die Frament-Color mit der Farbe der Intensity-color zu multiplizieren
- * 
- -> Evtl. sollte die Funktion der Intensitysteuerung aus den OSG-Distortion-Funktionen ausgeklammert und als eigene OSG-Schnittstelle/Funktion angestrebt werden.
-
-
-
-*/
Index: /experimental/distortionNG/main.cpp
===================================================================
--- /experimental/distortionNG/main.cpp	(revision 346)
+++ /experimental/distortionNG/main.cpp	(revision 347)
@@ -50,5 +50,4 @@
 
 	viewer.setUpViewForManualDistortion(0, intMap);
-	//viewer.setUpViewForPanoramicSphericalDisplay(1, 0, 0, intMap);
     
 	// set up the camera manipulators.
