JAL-2975 Shift-arrow keys to rotate PCA incrementally
[jalview.git] / src / jalview / gui / RotatableCanvas.java
index da48dd6..86fe483 100755 (executable)
@@ -475,14 +475,37 @@ public class RotatableCanvas extends JPanel implements MouseListener,
   public void keyPressed(KeyEvent evt)
   {
     int keyCode = evt.getKeyCode();
+    boolean shiftDown = evt.isShiftDown();
 
     if (keyCode == KeyEvent.VK_UP)
     {
-      zoom(ZOOM_IN);
+      if (shiftDown)
+      {
+        rotate(0f, -1f);
+      }
+      else
+      {
+        zoom(ZOOM_IN);
+      }
     }
     else if (keyCode == KeyEvent.VK_DOWN)
     {
-      zoom(ZOOM_OUT);
+      if (shiftDown)
+      {
+        rotate(0f, 1f);
+      }
+      else
+      {
+        zoom(ZOOM_OUT);
+      }
+    }
+    else if (shiftDown && keyCode == KeyEvent.VK_LEFT)
+    {
+      rotate(1f, 0f);
+    }
+    else if (shiftDown && keyCode == KeyEvent.VK_RIGHT)
+    {
+      rotate(-1f, 0f);
     }
     else if (evt.getKeyChar() == 's')
     {