Index: /trunk/src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 8719)
+++ /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 8720)
@@ -849,8 +849,10 @@
             }
         };
+        Shortcut searchFieldShortcut = Shortcut.registerShortcut("menu:search-field", tr("Search menu items"), KeyEvent.VK_R, Shortcut.MNEMONIC);
+        searchFieldShortcut.setFocusAccelerator(searchField);
         searchField.setEditable(true);
         searchField.setMaximumSize(new Dimension(200, helpMenu.getPreferredSize().height));
         searchField.setHint(tr("Search menu items"));
-        searchField.setToolTipText(tr("Search menu items"));
+        searchField.setToolTipText(Main.platform.makeTooltip(tr("Search menu items"), searchFieldShortcut));
         searchField.addKeyListener(new SearchFieldKeyListener());
         searchField.getDocument().addDocumentListener(new SearchFieldTextListener(this, searchField));
Index: /trunk/src/org/openstreetmap/josm/tools/Shortcut.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 8719)
+++ /trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 8720)
@@ -17,4 +17,5 @@
 import javax.swing.JMenu;
 import javax.swing.KeyStroke;
+import javax.swing.text.JTextComponent;
 
 import org.openstreetmap.josm.Main;
@@ -215,4 +216,12 @@
     }
     /**
+     * Sets the mnemonic key on a text component.
+     */
+    public void setFocusAccelerator(JTextComponent component) {
+        if (assignedModifier == getGroupModifier(MNEMONIC)  && getKeyStroke() != null && KeyEvent.getKeyText(assignedKey).length() == 1) {
+            component.setFocusAccelerator(KeyEvent.getKeyText(assignedKey).charAt(0));
+        }
+    }
+    /**
      * use this to set a actions's accelerator
      */
