diff --git a/PlayWall/assets/de/tobias/playpad/assets/lang/ui_de.properties b/PlayWall/assets/de/tobias/playpad/assets/lang/ui_de.properties
index 7611aa26bed4fc75ce0d40a04170b8e6263e973b..743131ffeb32c10365d8f37d3c50d3da483ecdd4 100644
--- a/PlayWall/assets/de/tobias/playpad/assets/lang/ui_de.properties
+++ b/PlayWall/assets/de/tobias/playpad/assets/lang/ui_de.properties
@@ -84,6 +84,7 @@ settings.keys.label.headline=Tastenkombinationen
 settings.keys.label.name=Name:
 settings.keys.label.shortcut=Kurzbefehl:
 settings.keys.button.change=Neu
+settings.keys.button.delete=Verbindung aufheben
 settings.keys.table.name=Name
 settings.keys.table.shortcut=Kurzbefehl
 settings.keys.textfieldsearch=Suchen...
diff --git a/PlayWall/assets/de/tobias/playpad/assets/view/option/global/keysTab.fxml b/PlayWall/assets/de/tobias/playpad/assets/view/option/global/keysTab.fxml
index 5c068743d7c8ad9398c6d8c470e8fa42fdf169a1..212bd54968ca3e43d5ead3b8b70c621bcf57ea6d 100644
--- a/PlayWall/assets/de/tobias/playpad/assets/view/option/global/keysTab.fxml
+++ b/PlayWall/assets/de/tobias/playpad/assets/view/option/global/keysTab.fxml
@@ -27,6 +27,7 @@
             <Label alignment="CENTER_RIGHT" prefWidth="150.0" text="%settings.keys.label.shortcut" />
             <Label fx:id="shortcutLabel" prefWidth="100.0" />
             <Button fx:id="newShortcutButton" mnemonicParsing="false" onAction="#newShortcutButtonHandler" text="%settings.keys.button.change" />
+            <Button fx:id="deleteButton" mnemonicParsing="false" onAction="#deleteHandler" text="%settings.keys.button.delete" />
          </children>
       </HBox>
    </children>
diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/option/global/KeysTabViewController.java b/PlayWall/src/de/tobias/playpad/viewcontroller/option/global/KeysTabViewController.java
index 1f2cc618cfeb416e6722dd3b54b70e56a8c29a78..c6132c91e319ce4ea2d54fcbb48d80a0d5fa2db2 100644
--- a/PlayWall/src/de/tobias/playpad/viewcontroller/option/global/KeysTabViewController.java
+++ b/PlayWall/src/de/tobias/playpad/viewcontroller/option/global/KeysTabViewController.java
@@ -24,6 +24,7 @@ import javafx.scene.control.Button;
 import javafx.scene.control.ButtonType;
 import javafx.scene.control.Label;
 import javafx.scene.control.TableColumn;
+import javafx.scene.control.TableRow;
 import javafx.scene.control.TableView;
 import javafx.scene.control.TextField;
 import javafx.scene.input.KeyCode;
@@ -40,6 +41,7 @@ public class KeysTabViewController extends GlobalSettingsTabViewController {
 	@FXML private Label nameLabel;
 	@FXML private Label shortcutLabel;
 	@FXML private Button newShortcutButton;
+	@FXML private Button deleteButton;
 
 	private Key currentKey;
 	private ObservableList<Key> keys = FXCollections.observableArrayList();
@@ -65,6 +67,20 @@ public class KeysTabViewController extends GlobalSettingsTabViewController {
 			setDetailView(c);
 		});
 		searchTextField.textProperty().addListener((a, b, c) -> search());
+
+		table.setRowFactory(tv ->
+		{
+			TableRow<Key> row = new TableRow<>();
+			row.setOnMouseClicked(event ->
+			{
+				if (event.getClickCount() == 2 && (!row.isEmpty())) {
+					setDetailView(row.getItem());
+					showNewKeyBindingDialog();
+				}
+			});
+			return row;
+		});
+
 	}
 
 	private void setDetailView(Key key) {
@@ -87,6 +103,18 @@ public class KeysTabViewController extends GlobalSettingsTabViewController {
 
 	@FXML
 	void newShortcutButtonHandler(ActionEvent event) {
+		showNewKeyBindingDialog();
+	}
+
+	@FXML
+	void deleteHandler(ActionEvent event) {
+		if (currentKey != null) {
+			GlobalSettings globalSettings = PlayPadPlugin.getImplementation().getGlobalSettings();
+			globalSettings.getKeyCollection().removeKeyBinding(currentKey);
+		}
+	}
+
+	private void showNewKeyBindingDialog() {
 		Alert alert = new Alert(AlertType.NONE);
 		alert.setContentText(Localization.getString(Strings.UI_Settings_Alert_NewKeyShortcut_Text));
 		Scene scene = alert.getDialogPane().getScene();
@@ -96,7 +124,7 @@ public class KeysTabViewController extends GlobalSettingsTabViewController {
 			if (ev.getCode().isModifierKey()) {
 				return;
 			}
-			
+
 			boolean macCondition = ev.getCode().isLetterKey() || ev.getCode().isKeypadKey() || ev.getCode().isDigitKey()
 					|| ev.getCode().isFunctionKey() || ev.getCode() == KeyCode.PERIOD || ev.getCode() == KeyCode.COMMA;
 
diff --git a/PlayWallCore/src/de/tobias/playpad/settings/keys/Key.java b/PlayWallCore/src/de/tobias/playpad/settings/keys/Key.java
index da58fd57101aaad3bffefe01a6134597289b20da..7ae9e3c5bf7f7a64ef8970e00bf2fe5efc5f8bee 100644
--- a/PlayWallCore/src/de/tobias/playpad/settings/keys/Key.java
+++ b/PlayWallCore/src/de/tobias/playpad/settings/keys/Key.java
@@ -106,7 +106,11 @@ public class Key implements Displayable {
 	@Override
 	public String toString() {
 		if (!getKeyCode().isEmpty())
-			return KeyCombination.valueOf(getKeyCode()).getDisplayText();
+			try {
+				return KeyCombination.valueOf(getKeyCode()).getDisplayText();
+			} catch (IllegalArgumentException e) {
+				return "";
+			}
 		else
 			return "";
 	}
diff --git a/PlayWallCore/src/de/tobias/playpad/settings/keys/KeyCollection.java b/PlayWallCore/src/de/tobias/playpad/settings/keys/KeyCollection.java
index a547fc2c93e395e6ca203ac50c0e39315b7681dd..f47a1e5ffbbe3a05f32c5f74627e6be5c5c5ba69 100644
--- a/PlayWallCore/src/de/tobias/playpad/settings/keys/KeyCollection.java
+++ b/PlayWallCore/src/de/tobias/playpad/settings/keys/KeyCollection.java
@@ -13,6 +13,13 @@ import org.dom4j.io.SAXReader;
 import de.tobias.playpad.xml.XMLHandler;
 import de.tobias.utils.util.OS;
 
+/**
+ * Verwaltung der Tastenkombinationen für das Menu.
+ * 
+ * @author tobias
+ *
+ * @since 5.1.0
+ */
 public class KeyCollection {
 
 	// Schlüssel: ID, Value: Key
@@ -44,6 +51,20 @@ public class KeyCollection {
 		return keys.values();
 	}
 
+	/**
+	 * Löscht eine Tastenkombination.
+	 * 
+	 * @param key
+	 *            Key
+	 */
+	public void removeKeyBinding(Key key) {
+		key.setAlt(false);
+		key.setCtrl(false);
+		key.setMeta(false);
+		key.setShift(false);
+		key.setKey("");
+	}
+
 	public boolean keysConflict(Key key) {
 		for (Key k : keys.values()) {
 			if (k.getKeyCode().equals(key.getKeyCode())) {