Index: experimental/distortionNG/DistortionManipulator.cpp
===================================================================
--- experimental/distortionNG/DistortionManipulator.cpp	(revision 347)
+++ experimental/distortionNG/DistortionManipulator.cpp	(revision 348)
@@ -27,4 +27,8 @@
 DistortionManipulator::DistortionManipulator()
 {
+	activeSetupMode = DISABLED;
+	activeDistortionMode = MESH;
+	activeManualSetupMode = DISTORTION;
+	activeVisualizationMode = NONE;
 }
 
@@ -44,5 +48,5 @@
 }
 
-bool DistortionManipulator::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa, osg::Object*, osg::NodeVisitor* nv)
+bool DistortionManipulator::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa, osg::Object* obj, osg::NodeVisitor* nv)
 {
 	osgViewer::View* viewer = dynamic_cast<osgViewer::View*>(&aa);
@@ -54,5 +58,5 @@
 	switch(ea.getEventType())
     {
-        case(osgGA::GUIEventAdapter::MOVE):
+        case(osgGA::GUIEventAdapter::MOVE): break;
         case(osgGA::GUIEventAdapter::DRAG):
 		{
@@ -61,5 +65,12 @@
 		}
         case(osgGA::GUIEventAdapter::PUSH):
-        case(osgGA::GUIEventAdapter::RELEASE):
+		{
+			if(ea.getButton() == osgGA::GUIEventAdapter::LEFT_MOUSE_BUTTON)
+			{
+				osg::notify(osg::ALWAYS)<<"mouse click left!"<<std::endl;
+			}
+			break;
+		}
+        case(osgGA::GUIEventAdapter::RELEASE): break;
         case(osgGA::GUIEventAdapter::KEYDOWN):
 		{
@@ -76,25 +87,41 @@
 			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;
+				switch(activeSetupMode)
+				{
+					case DISABLED : activeSetupMode = MANUAL; break;
+					case MANUAL : activeSetupMode = DELEGATED; break;
+					case DELEGATED : activeSetupMode = DISABLED; break;
+				}
+
+				osg::notify(osg::ALWAYS)<<"KEY_KP_4 : Setup Mode now "<<activeSetupMode<<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;
+
+				activeManualSetupMode = (activeManualSetupMode==DISTORTION?BLENDING:DISTORTION);
+				osg::notify(osg::ALWAYS)<<"KEY_KP_5 : activeManualSetupMode is now "<<activeManualSetupMode<<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;
+				activeDistortionMode = (activeDistortionMode==MESH?TEXCOORDINATES:MESH);
+				osg::notify(osg::ALWAYS)<<"KEY_KP_6 : activeDistortionMode is now "<<activeDistortionMode<<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;
+				switch(activeVisualizationMode)
+				{	
+					case DISTORTION_MESH : activeVisualizationMode = INTENSITY_MAP; break;
+					case INTENSITY_MAP : activeVisualizationMode = NONE; break;
+					case NONE : activeVisualizationMode = DISTORTION_MESH; break;
+				}
+				osg::notify(osg::ALWAYS)<<"KEY_KP_7 : activeVisualizationMode is now "<<activeVisualizationMode<<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;
+				osg::notify(osg::ALWAYS)<<"KEY_KP_8 : todo: Save DistortionContainer"<<std::endl;
 				return(true);
 			}
@@ -103,5 +130,5 @@
 			return false;	// Event ignored
 		}
-        case(osgGA::GUIEventAdapter::KEYUP):
+        case(osgGA::GUIEventAdapter::KEYUP): break;
 		case(osgGA::GUIEventAdapter::FRAME):
 		{
Index: experimental/distortionNG/DistortionManipulator.h
===================================================================
--- experimental/distortionNG/DistortionManipulator.h	(revision 347)
+++ experimental/distortionNG/DistortionManipulator.h	(revision 348)
@@ -28,4 +28,24 @@
 {
 public:
+	enum SetupMode {
+		DISABLED,
+		MANUAL,
+		DELEGATED
+	};
+	enum DistortionMode {
+		MESH,
+		TEXCOORDINATES
+	};
+	enum ManualSetupMode {
+		DISTORTION,
+		BLENDING
+	};
+	enum VisualizationMode {
+		DISTORTION_MESH,
+		INTENSITY_MAP,
+		NONE
+	};
+
+
 	DistortionManipulator();
 	virtual ~DistortionManipulator();
@@ -37,4 +57,9 @@
 	void resetIntensityMap();
 	void resetDistortion();
+
+	SetupMode activeSetupMode;
+	DistortionMode activeDistortionMode;
+	ManualSetupMode activeManualSetupMode;
+	VisualizationMode activeVisualizationMode;
 };
 
Index: experimental/distortionNG/main.cpp
===================================================================
--- experimental/distortionNG/main.cpp	(revision 347)
+++ experimental/distortionNG/main.cpp	(revision 348)
@@ -165,13 +165,12 @@
  * distortionManipulator				abgeleitet von osgGA::GUIEventHandler
  *										Grundfunktionen:
- *										- Key to Show/Hide Distortion Mesh
- *										- Key to Show/Hide Intensity Map
+ *							[done]		- Key to Show Distortion Mesh / Intensity Map / none
  *										- Key to Save distortion Container  - via plugin
- *										- Key to toggle MANUAL mode between blending und distortion setup
- *										- Key to toggle distortion setup: 
+ *							[done]		- Key to toggle MANUAL mode between blending und distortion setup
+ *							[done]		- Key to toggle distortion setup: 
  *												DISABLED distortion/blending modifications are forbidden (ggfs. beim Verlassen von DISABLED ggf. auf singleThreaded wechseln und beim aktivieren von DISABLED wieder auf das alte threadingmodel. Alternativ  die data variance des meshes/Blendmap beeinflussen)
  *												MANUAL distortion/blending modification via mouse Selection and drag'n'drop
  *												DELEGATED distortion/blending modification by calling a foreign class or calling a subclassed function
- *										- Key to control if mouse drags affects mesh coordinates or rttScene texture coordinates. Default: Mesh coordinates.
+ *							[done]		- Key to control if mouse drags affects mesh coordinates or rttScene texture coordinates. Default: Mesh coordinates.
  *										- Key to reset Distortion.
  *										- Key to reset Blending.
