Index: trunk/src/org/openstreetmap/josm/actions/CopyCoordinatesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CopyCoordinatesAction.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/actions/CopyCoordinatesAction.java	(revision 4958)
@@ -17,5 +17,6 @@
         super(tr("Copy Coordinates"), null,
                 tr("Copy coordinates of selected nodes to clipboard."),
-                Shortcut.registerShortcut("copy:coordinates", tr("Edit: {0}", tr("Copy Coordinates")), KeyEvent.VK_C, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT),
+                Shortcut.registerShortcut("copy:coordinates", tr("Edit: {0}", tr("Copy Coordinates")),
+                KeyEvent.VK_C, Shortcut.GROUP_MENU+Shortcut.GROUPS_ALT1),
                 false);
         putValue("toolbar", "copy/coordinates");
Index: trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 4958)
@@ -43,5 +43,6 @@
     public CreateCircleAction() {
         super(tr("Create Circle"), "createcircle", tr("Create a circle from three selected nodes."),
-                Shortcut.registerShortcut("tools:createcircle", tr("Tool: {0}", tr("Create Circle")), KeyEvent.VK_O, Shortcut.GROUP_EDIT, Shortcut.SHIFT_DEFAULT), true);
+            Shortcut.registerShortcut("tools:createcircle", tr("Tool: {0}", tr("Create Circle")),
+            KeyEvent.VK_O, Shortcut.GROUP_EDIT+Shortcut.GROUPS_ALT1), true);
         putValue("help", ht("/Action/CreateCircle"));
     }
Index: trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java	(revision 4958)
@@ -48,6 +48,6 @@
     public CreateMultipolygonAction() {
         super(tr("Create multipolygon"), "multipoly_create", tr("Create multipolygon."),
-                Shortcut.registerShortcut("tools:multipoly", tr("Tool: {0}", tr("Create multipolygon")),
-                        KeyEvent.VK_A, Shortcut.GROUP_DIRECT, KeyEvent.ALT_DOWN_MASK | KeyEvent.CTRL_DOWN_MASK ), true);
+            Shortcut.registerShortcut("tools:multipoly", tr("Tool: {0}", tr("Create multipolygon")),
+            KeyEvent.VK_A, Shortcut.GROUP_MENU+Shortcut.GROUPS_ALT2), true);
     }
     /**
Index: trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 4958)
@@ -306,6 +306,7 @@
     // Adds the menu entry, Shortcuts, etc.
     public JoinAreasAction() {
-        super(tr("Join overlapping Areas"), "joinareas", tr("Joins areas that overlap each other"), Shortcut.registerShortcut("tools:joinareas", tr("Tool: {0}", tr("Join overlapping Areas")),
-                KeyEvent.VK_J, Shortcut.GROUP_EDIT, Shortcut.SHIFT_DEFAULT), true);
+        super(tr("Join overlapping Areas"), "joinareas", tr("Joins areas that overlap each other"),
+        Shortcut.registerShortcut("tools:joinareas", tr("Tool: {0}", tr("Join overlapping Areas")),
+            KeyEvent.VK_J, Shortcut.GROUP_EDIT+Shortcut.GROUPS_ALT1), true);
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/PurgeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/PurgeAction.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/actions/PurgeAction.java	(revision 4958)
@@ -60,6 +60,7 @@
         /* translator note: other expressions for "purge" might be "forget", "clean", "obliterate", "prune" */
         super(tr("Purge..."), "purge",  tr("Forget objects but do not delete them on server when uploading."),
-                Shortcut.registerShortcut("system:purge", tr("Edit: {0}", tr("Purge")), KeyEvent.VK_P, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT)
-                , true);
+                Shortcut.registerShortcut("system:purge", tr("Edit: {0}", tr("Purge")),
+                KeyEvent.VK_P, Shortcut.GROUP_MENU+Shortcut.GROUPS_ALT1),
+                true);
         putValue("help", HelpUtil.ht("/Action/Purge"));
     }
Index: trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 4958)
@@ -24,5 +24,6 @@
     public SaveAsAction() {
         super(tr("Save As..."), "save_as", tr("Save the current data to a new file."),
-                Shortcut.registerShortcut("system:saveas", tr("File: {0}", tr("Save As...")), KeyEvent.VK_S, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT));
+            Shortcut.registerShortcut("system:saveas", tr("File: {0}", tr("Save As...")),
+            KeyEvent.VK_S, Shortcut.GROUP_MENU+Shortcut.GROUPS_ALT1));
         putValue("help", ht("/Action/SaveAs"));
     }
Index: trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java	(revision 4958)
@@ -15,22 +15,6 @@
     public UnselectAllAction() {
         super(tr("Unselect All"), "unselectall", tr("Unselect all objects."),
-                Shortcut.registerShortcut("edit:unselectall", tr("Edit: {0}", tr("Unselect All")), KeyEvent.VK_U, Shortcut.GROUP_EDIT), true);
-        // this is not really GROUP_EDIT, but users really would complain if the yhad to reconfigure because we put
-        // the correct group in
-
-        // Add extra shortcut C-S-a
-        Main.registerActionShortcut(this, Shortcut.registerShortcut("edit:unselectallfocus", tr("Edit: {0}", tr("Unselect All (Focus)")),
-                KeyEvent.VK_A, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT));
-
-
-
-        // Add extra shortcut ESCAPE
-        /*
-         * FIXME: this isn't optimal. In a better world the mapmode actions
-         * would be able to capture keyboard events and react accordingly. But
-         * for now this is a reasonable approximation.
-         */
-        Main.registerActionShortcut(this, Shortcut.registerShortcut("edit:unselectallescape", tr("Edit: {0}", tr("Unselect All (Escape)")),
-                KeyEvent.VK_ESCAPE, Shortcut.GROUP_DIRECT));
+            Shortcut.registerShortcut("edit:unselectall", tr("Edit: {0}",
+            tr("Unselect All")), KeyEvent.VK_ESCAPE, Shortcut.GROUP_DIRECT), true);
 
         putValue("help", ht("/Action/UnselectAll"));
Index: trunk/src/org/openstreetmap/josm/actions/ViewportFollowToggleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ViewportFollowToggleAction.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/actions/ViewportFollowToggleAction.java	(revision 4958)
@@ -23,5 +23,6 @@
                 "viewport-follow",
                 tr("Enable/disable automatic moving of the map view to last placed node"),
-                Shortcut.registerShortcut("menu:view:viewportfollow", tr("Toggle Viewport Following"),KeyEvent.VK_F, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT),
+                Shortcut.registerShortcut("menu:view:viewportfollow", tr("Toggle Viewport Following"),
+                KeyEvent.VK_F, Shortcut.GROUP_MENU+Shortcut.GROUPS_ALT1),
                 true /* register shortcut */
         );
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/CommandStackDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/CommandStackDialog.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/CommandStackDialog.java	(revision 4958)
@@ -73,5 +73,7 @@
     public CommandStackDialog(final MapFrame mapFrame) {
         super(tr("Command Stack"), "commandstack", tr("Open a list of all commands (undo buffer)."),
-                Shortcut.registerShortcut("subwindow:commandstack", tr("Toggle: {0}", tr("Command Stack")), KeyEvent.VK_O, Shortcut.GROUP_LAYER, Shortcut.SHIFT_DEFAULT), 100, true);
+                Shortcut.registerShortcut("subwindow:commandstack", tr("Toggle: {0}",
+                tr("Command Stack")), KeyEvent.VK_O, Shortcut.GROUP_LAYER
+                +Shortcut.GROUPS_ALT1), 100, true);
         undoTree.addMouseListener(new PopupMenuHandler());
         undoTree.setRootVisible(false);
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java	(revision 4957)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java	(revision 4958)
@@ -64,5 +64,5 @@
         super(tr("History"), "history", tr("Display the history of all selected items."),
                 Shortcut.registerShortcut("subwindow:history", tr("Toggle: {0}", tr("History")), KeyEvent.VK_H,
-                        Shortcut.GROUP_LAYER, Shortcut.SHIFT_DEFAULT), 150);
+                        Shortcut.GROUP_LAYER+Shortcut.GROUPS_ALT1), 150);
         build();
         HelpUtil.setHelpContext(this, HelpUtil.ht("/Dialog/History"));
