Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 4904)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 4905)
@@ -31,18 +31,5 @@
 import java.util.Set;
 
-import javax.swing.AbstractAction;
-import javax.swing.BorderFactory;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JSplitPane;
-import javax.swing.JTabbedPane;
-import javax.swing.JToolBar;
-import javax.swing.KeyStroke;
-import javax.swing.SwingUtilities;
+import javax.swing.*;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
@@ -472,4 +459,5 @@
         memberTableModel.getSelectionModel().addListSelectionListener(moveUpAction);
         tb.add(moveUpAction);
+        memberTable.getActionMap().put("moveUp", moveUpAction);
 
         // -- move down action
@@ -477,5 +465,6 @@
         memberTableModel.getSelectionModel().addListSelectionListener(moveDownAction);
         tb.add(moveDownAction);
-
+        memberTable.getActionMap().put("moveDown", moveDownAction);
+        
         tb.addSeparator();
 
@@ -484,10 +473,11 @@
         memberTableModel.getSelectionModel().addListSelectionListener(editAction);
         tb.add(editAction);
-
+        
         // -- delete action
         RemoveAction removeSelectedAction = new RemoveAction();
         memberTable.getSelectionModel().addListSelectionListener(removeSelectedAction);
         tb.add(removeSelectedAction);
-
+        memberTable.getActionMap().put("removeSelected", removeSelectedAction);
+        
         tb.addSeparator();
         // -- sort action
@@ -507,4 +497,5 @@
         memberTable.getModel().addTableModelListener(downloadIncompleteMembersAction);
         tb.add(downloadIncompleteMembersAction);
+        memberTable.getActionMap().put("downloadIncomplete", downloadIncompleteMembersAction);
 
         // -- download selected action
@@ -514,4 +505,10 @@
         tb.add(downloadSelectedIncompleteMembersAction);
 
+        InputMap inputMap = memberTable.getInputMap(MemberTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
+        inputMap.put((KeyStroke) removeSelectedAction.getValue(AbstractAction.ACCELERATOR_KEY),"removeSelected");
+        inputMap.put((KeyStroke) moveUpAction.getValue(AbstractAction.ACCELERATOR_KEY),"moveUp");
+        inputMap.put((KeyStroke) moveDownAction.getValue(AbstractAction.ACCELERATOR_KEY),"moveDown");
+        inputMap.put((KeyStroke) downloadIncompleteMembersAction.getValue(AbstractAction.ACCELERATOR_KEY),"downloadIncomplete");
+        
         return tb;
     }
@@ -892,7 +889,4 @@
             putValue(SMALL_ICON, ImageProvider.get("dialogs/relation", "deletemembers"));
             // putValue(NAME, tr("Remove Selected"));
-            Shortcut.registerShortcut("relationeditor:removeselected", tr("Relation Editor: Remove Selected"),
-                    KeyEvent.VK_S, Shortcut.GROUP_MNEMONIC);
-
             updateEnabledState();
         }
@@ -983,6 +977,5 @@
             putValue(SMALL_ICON, ImageProvider.get("dialogs", "sort"));
             putValue(NAME, tr("Sort"));
-            Shortcut.registerShortcut("relationeditor:sort", tr("Relation Editor: Sort"), KeyEvent.VK_T,
-                    Shortcut.GROUP_MNEMONIC);
+            //    Shortcut.registerShortcut("relationeditor:sort", tr("Relation Editor: Sort"), KeyEvent.VK_HOME, Shortcut.GROUP_MNEMONIC)
             updateEnabledState();
         }
@@ -1006,6 +999,5 @@
             putValue(SMALL_ICON, ImageProvider.get("dialogs/relation", "reverse"));
             putValue(NAME, tr("Reverse"));
-            Shortcut.registerShortcut("relationeditor:reverse", tr("Relation Editor: Reverse"), KeyEvent.VK_R,
-                    Shortcut.GROUP_MNEMONIC);
+            //   Shortcut.registerShortcut("relationeditor:reverse", tr("Relation Editor: Reverse"), KeyEvent.VK_END, Shortcut.GROUP_MNEMONIC)
             updateEnabledState();
         }
@@ -1029,6 +1021,8 @@
             putValue(SMALL_ICON, ImageProvider.get("dialogs", "moveup"));
             // putValue(NAME, tr("Move Up"));
-            Shortcut.registerShortcut("relationeditor:moveup", tr("Relation Editor: Move Up"), KeyEvent.VK_N,
-                    Shortcut.GROUP_MNEMONIC);
+            putValue(ACCELERATOR_KEY,
+                Shortcut.registerShortcut("relationeditor:moveup", tr("Relation Editor: Move Up"), KeyEvent.VK_UP, Shortcut.GROUP_MNEMONIC)
+                    .getKeyStroke()
+            );
             setEnabled(false);
         }
@@ -1048,6 +1042,8 @@
             putValue(SMALL_ICON, ImageProvider.get("dialogs", "movedown"));
             // putValue(NAME, tr("Move Down"));
-            Shortcut.registerShortcut("relationeditor:moveup", tr("Relation Editor: Move Down"), KeyEvent.VK_J,
-                    Shortcut.GROUP_MNEMONIC);
+            putValue(ACCELERATOR_KEY,
+                Shortcut.registerShortcut("relationeditor:movedown", tr("Relation Editor: Move Down"), KeyEvent.VK_DOWN, Shortcut.GROUP_MNEMONIC)
+                    .getKeyStroke()
+            );
             setEnabled(false);
         }
@@ -1066,7 +1062,8 @@
             putValue(SHORT_DESCRIPTION, tr("Remove the currently selected members from this relation"));
             putValue(SMALL_ICON, ImageProvider.get("dialogs", "remove"));
-            // putValue(NAME, tr("Remove"));
-            Shortcut.registerShortcut("relationeditor:remove", tr("Relation Editor: Remove"), KeyEvent.VK_J,
-                    Shortcut.GROUP_MNEMONIC);
+            putValue(NAME, tr("Remove"));
+            putValue(ACCELERATOR_KEY,
+                 Shortcut.registerShortcut("relationeditor:remove", tr("Relation Editor: Remove"), KeyEvent.VK_DELETE,
+                    Shortcut.GROUP_MNEMONIC).getKeyStroke());
             setEnabled(false);
         }
@@ -1402,6 +1399,9 @@
             putValue(SMALL_ICON, ImageProvider.get("dialogs/relation", "downloadincomplete"));
             putValue(NAME, tr("Download Members"));
-            Shortcut.registerShortcut("relationeditor:downloadincomplete", tr("Relation Editor: Download Members"),
-                    KeyEvent.VK_K, Shortcut.GROUP_MNEMONIC);
+            putValue(ACCELERATOR_KEY,
+                Shortcut.registerShortcut("relationeditor:downloadincomplete", tr("Relation Editor: Download Members"), KeyEvent.VK_HOME, Shortcut.GROUP_MNEMONIC)
+                    .getKeyStroke()
+            );
+                
             updateEnabledState();
         }
@@ -1432,6 +1432,5 @@
             putValue(SMALL_ICON, ImageProvider.get("dialogs/relation", "downloadincompleteselected"));
             putValue(NAME, tr("Download Members"));
-            Shortcut.registerShortcut("relationeditor:downloadincomplete", tr("Relation Editor: Download Members"),
-                    KeyEvent.VK_K, Shortcut.GROUP_MNEMONIC);
+        //  Shortcut.registerShortcut("relationeditor:downloadincomplete", tr("Relation Editor: Download Members"), KeyEvent.VK_K, Shortcut.GROUP_MNEMONIC);
             updateEnabledState();
         }
