Index: /applications/editors/josm/plugins/surveyor/src/at/dallermassl/josm/plugin/surveyor/SurveyorShowAction.java
===================================================================
--- /applications/editors/josm/plugins/surveyor/src/at/dallermassl/josm/plugin/surveyor/SurveyorShowAction.java	(revision 3346)
+++ /applications/editors/josm/plugins/surveyor/src/at/dallermassl/josm/plugin/surveyor/SurveyorShowAction.java	(revision 3347)
@@ -7,4 +7,5 @@
 
 import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
 import java.io.BufferedReader;
 import java.io.FileInputStream;
@@ -17,6 +18,9 @@
 
 import javax.swing.AbstractAction;
+import javax.swing.ActionMap;
+import javax.swing.InputMap;
 import javax.swing.JFrame;
 import javax.swing.JOptionPane;
+import javax.swing.KeyStroke;
 
 import livegps.LiveGpsPlugin;
@@ -31,4 +35,5 @@
  */
 public class SurveyorShowAction extends AbstractAction {
+    private static final long serialVersionUID = 2184570223633094734L;
     private static final String DEFAULT_SOURCE = "resource://surveyor.xml";
     private JFrame surveyorFrame;
@@ -67,4 +72,35 @@
             // add component as gps event listener:
             gpsPlugin.addPropertyChangeListener(comp);
+            
+            // add some hotkeys to the component:
+            ActionMap actionMap = comp.getActionMap();
+            InputMap inputMap = comp.getInputMap();
+            // zoomout:
+            actionMap.put("zoomout", new AbstractAction() {
+                public void actionPerformed(ActionEvent e) {
+                    if(Main.map != null && Main.map.mapView != null) {
+                        Main.map.mapView.zoomTo(Main.map.mapView.getCenter(), Main.map.mapView.getScale()*2);
+                    }
+                }
+            });
+            inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, 0), "zoomout");
+            // zoomin:
+            actionMap.put("zoomin", new AbstractAction() {
+                public void actionPerformed(ActionEvent e) {
+                    if(Main.map != null && Main.map.mapView != null) {
+                        Main.map.mapView.zoomTo(Main.map.mapView.getCenter(), Main.map.mapView.getScale()/2);
+                    }
+                }
+            });
+            inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN, 0), "zoomin");
+            // autocenter:
+            actionMap.put("autocenter", new AbstractAction() {
+                public void actionPerformed(ActionEvent e) {
+                    // toggle autocenter
+                    gpsPlugin.setAutoCenter(!gpsPlugin.isAutoCenter());
+                }
+            });
+            inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_HOME, 0), "autocenter");
+           
             surveyorFrame.add(comp);
             surveyorFrame.pack();
