diff --git a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/lwfxef/controller/base/.ratings b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/lwfxef/controller/base/.ratings
index 35d4a47b22d51108206b17a0c5fd46a6d06a71d1..798154d110a99284d25310518bcd99884153e67b 100644
--- a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/lwfxef/controller/base/.ratings
+++ b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/lwfxef/controller/base/.ratings
@@ -3,7 +3,7 @@ ClickControllerBase.java 8e5861ed5f9318008ad0fdd5497ed320cd5bd647 GREEN
 ContentAnchorageMoveControllerBase.java c18e7915ce23e124757f5b736086ecc46694800a GREEN
 ControllerBase.java 0ab6cf1b36cf3618a70c1666fd8747c59e90dbc6 GREEN
 DefaultDiagramController.java 0e083b89a08f63967102a384d66ebc1d64d203af GREEN
-DelegatingContentAnchorageController.java 2e3b1b4e14402a3503233f816b21ef3e4aa09edc GREEN
+DelegatingContentAnchorageController.java 1889628a346a2183082ffe213978f9d15a949494 GREEN
 DragControllerBase.java b15ff874304f679fe494d85f57cc8cbe4d0d1d15 GREEN
 DraggingUtils.java 95117e2ea4c36b6c6a31f8088bb95b484e0e6612 GREEN
 LinkControllerBase.java c2232100230997f1ba7f2686a2f0626f85d223ed GREEN
diff --git a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/lwfxef/controller/base/DelegatingContentAnchorageController.java b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/lwfxef/controller/base/DelegatingContentAnchorageController.java
index 2e3b1b4e14402a3503233f816b21ef3e4aa09edc..1889628a346a2183082ffe213978f9d15a949494 100644
--- a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/lwfxef/controller/base/DelegatingContentAnchorageController.java
+++ b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/lwfxef/controller/base/DelegatingContentAnchorageController.java
@@ -12,14 +12,20 @@ package org.fortiss.tooling.common.ui.javafx.lwfxef.controller.base;
 import static org.fortiss.tooling.common.ui.javafx.lwfxef.EDragGesture.MOVE;
 
 import org.fortiss.tooling.common.ui.javafx.lwfxef.DiagramCoordinate;
+import org.fortiss.tooling.common.ui.javafx.lwfxef.DiagramViewer;
 import org.fortiss.tooling.common.ui.javafx.lwfxef.EDragGesture;
+import org.fortiss.tooling.common.ui.javafx.lwfxef.change.Change;
 import org.fortiss.tooling.common.ui.javafx.lwfxef.controller.IController;
 import org.fortiss.tooling.common.ui.javafx.lwfxef.controller.IDragController;
+import org.fortiss.tooling.common.ui.javafx.lwfxef.controller.IKeyPressController;
 import org.fortiss.tooling.common.ui.javafx.lwfxef.mvc.IContentAnchorageMVCBundle;
 import org.fortiss.tooling.common.ui.javafx.lwfxef.mvc.IContentMVCBundle;
+import org.fortiss.tooling.common.ui.javafx.lwfxef.mvc.IMVCBundle;
 
 import javafx.scene.Cursor;
 import javafx.scene.Node;
+import javafx.scene.input.KeyCode;
+import javafx.scene.input.KeyEvent;
 
 /**
  * Default {@link IController} implementation for moving anchorage visuals attached to a parent
@@ -56,6 +62,46 @@ public class DelegatingContentAnchorageController extends ControllerBase {
 		return super.getDragController(gesture, node, diagramLocation);
 	}
 
+	/** {@inheritDoc} */
+	@Override
+	public IKeyPressController getKeyPressController(Node node,
+			DiagramCoordinate lastMouseLocation) {
+		return defaultKeyPressControllerWithMove;
+	}
+
+	/**
+	 * The default implementation for key press controller allowing move with cursor keys and delete
+	 * with the delete key.
+	 */
+	private final IKeyPressController defaultKeyPressControllerWithMove =
+			new IKeyPressController() {
+				@Override
+				public Change keyEvent(KeyEvent event, IMVCBundle bundle, Node source,
+						DiagramCoordinate mouseLocation) {
+					DiagramViewer viewer = getViewer();
+					KeyCode code = event.getCode();
+					if(code == KeyCode.DELETE) {
+						return new Change() {
+							@Override
+							public void applyChange() {
+								delete();
+							}
+						};
+					}
+					if(code == KeyCode.A && event.isControlDown()) {
+						viewer.selectAll();
+						return null;
+					}
+					if(allowMove()) {
+						if(code == KeyCode.UP || code == KeyCode.DOWN || code == KeyCode.LEFT ||
+								code == KeyCode.RIGHT) {
+							return keyMove(code);
+						}
+					}
+					return null;
+				}
+			};
+
 	/** {@inheritDoc} */
 	@Override
 	public Cursor getCurrentCursor(Node node, DiagramCoordinate diagramLocation) {
@@ -70,4 +116,15 @@ public class DelegatingContentAnchorageController extends ControllerBase {
 	protected boolean allowMove() {
 		return true;
 	}
+
+	/**
+	 * Performs the keyboard move by returning a corresponding {@link Change}.
+	 * 
+	 * @param code
+	 *            the arrow key code
+	 * @return the {@link Change}, which executes the move operation.
+	 */
+	protected Change keyMove(KeyCode code) {
+		return null;
+	}
 }