* Builds the InputMap of this canvas with a set of predefined
* <tt>Action</tt>s.
*/
protected void installKeyboardActions() {
InputMap inputMap = getInputMap(JComponent.WHEN_FOCUSED);
KeyStroke key;
key = KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0);
inputMap.put(key, SCROLL_RIGHT_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0);
inputMap.put(key, SCROLL_LEFT_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0);
inputMap.put(key, SCROLL_UP_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0);
inputMap.put(key, SCROLL_DOWN_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.SHIFT_MASK);
inputMap.put(key, FAST_SCROLL_RIGHT_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.SHIFT_MASK);
inputMap.put(key, FAST_SCROLL_LEFT_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.SHIFT_MASK);
inputMap.put(key, FAST_SCROLL_UP_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, KeyEvent.SHIFT_MASK);
inputMap.put(key, FAST_SCROLL_DOWN_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_I, KeyEvent.CTRL_MASK);
inputMap.put(key, ZOOM_IN_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK);
inputMap.put(key, ZOOM_OUT_ACTION);
key = KeyStroke.getKeyStroke(KeyEvent.VK_T, KeyEvent.CTRL_MASK);
inputMap.put(key, RESET_TRANSFORM_ACTION);
}