Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/CopyAllKeyValueAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/CopyAllKeyValueAction.java	(revision 17006)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/CopyAllKeyValueAction.java	(revision 17007)
@@ -33,7 +33,15 @@
         putValue(NAME, tr("Copy all Keys/Values"));
         putValue(SHORT_DESCRIPTION, tr("Copy the key and value of all the tags to clipboard"));
+    }
+
+    /**
+     * Registers this action shortcut
+     * @return this instance, for easy chaining
+     */
+    CopyAllKeyValueAction registerShortcut() {
         Shortcut sc = Shortcut.registerShortcut("system:copytags", tr("Edit: {0}", tr("Copy Tags")), KeyEvent.CHAR_UNDEFINED, Shortcut.NONE);
         MainApplication.registerActionShortcut(this, sc);
         sc.setAccelerator(this);
+        return this;
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 17006)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 17007)
@@ -205,5 +205,5 @@
             tagTable, editHelper::getDataKey, OsmDataManager.getInstance()::getInProgressISelection);
     private final CopyAllKeyValueAction copyAllKeyValueAction = new CopyAllKeyValueAction(
-            tagTable, editHelper::getDataKey, OsmDataManager.getInstance()::getInProgressISelection);
+            tagTable, editHelper::getDataKey, OsmDataManager.getInstance()::getInProgressISelection).registerShortcut();
     private final SearchAction searchActionSame = new SearchAction(true);
     private final SearchAction searchActionAny = new SearchAction(false);
