Index: trunk/src/org/openstreetmap/josm/actions/mapmode/AddNoteAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/AddNoteAction.java	(revision 8209)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/AddNoteAction.java	(revision 8210)
@@ -4,7 +4,9 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.awt.event.KeyEvent;
 import java.awt.event.MouseEvent;
 
 import javax.swing.JOptionPane;
+import javax.swing.SwingUtilities;
 
 import org.openstreetmap.josm.Main;
@@ -15,4 +17,5 @@
 import org.openstreetmap.josm.gui.Notification;
 import org.openstreetmap.josm.gui.dialogs.NotesDialog;
+import org.openstreetmap.josm.gui.util.KeyPressReleaseListener;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -22,5 +25,5 @@
  * prompts the user for text and adds a note to the note layer
  */
-public class AddNoteAction extends MapMode {
+public class AddNoteAction extends MapMode implements KeyPressReleaseListener {
 
     private NoteData noteData;
@@ -48,4 +51,5 @@
         super.enterMode();
         Main.map.mapView.addMouseListener(this);
+        Main.map.keyDetector.addKeyListener(this);
     }
 
@@ -54,8 +58,13 @@
         super.exitMode();
         Main.map.mapView.removeMouseListener(this);
+        Main.map.keyDetector.removeKeyListener(this);
     }
 
     @Override
     public void mouseClicked(MouseEvent e) {
+        if (!SwingUtilities.isLeftMouseButton(e)) {
+            // allow to pan without distraction
+            return;
+        }
         Main.map.selectMapMode(Main.map.mapModeSelect);
         LatLon latlon = Main.map.mapView.getLatLon(e.getPoint().x, e.getPoint().y);
@@ -77,3 +86,14 @@
         }
     }
+
+    @Override
+    public void doKeyPressed(KeyEvent e) {
+        if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
+            Main.map.selectMapMode(Main.map.mapModeSelect);
+        }
+    }
+
+    @Override
+    public void doKeyReleased(KeyEvent e) {
+    }
 }
