## mars.venus.editors.jeditsyntax
Class DefaultInputHandler

    java.lang.Object
      java.awt.event.KeyAdapter
          mars.venus.editors.jeditsyntax.InputHandler
              mars.venus.editors.jeditsyntax.DefaultInputHandler

All Implemented Interfaces:
  KeyListener, EventListener

    public class DefaultInputHandler

extends InputHandler

The default input handler. It maps sequences of keystrokes into actions and inserts key typed events into the text area.

Author:
  Slava Pestov

Nested Class Summary

Nested classes/interfaces inherited from class mars.venus.editors.jeditsyntax.InputHandler

`InputHandler.backspace, InputHandler.backspace_word, InputHandler.clip_copy, InputHandler.clip_cut, InputHandler.clip_paste, InputHandler.delete, InputHandler.delete_word, InputHandler.document_end, InputHandler.document_home, InputHandler.end, InputHandler.home, InputHandler.insert_break, InputHandler.insert_char, InputHandler.insert_tab, InputHandler.MacroRecorder, InputHandler.next_char, InputHandler.next_line, InputHandler.next_page, InputHandler.next_word, InputHandler.NonRecordable, InputHandler.NonRepeatable, InputHandler.overwrite, InputHandler.prev_char, InputHandler.prev_line, InputHandler.prev_page, InputHandler.prev_word, InputHandler.repeat, InputHandler.select_all, InputHandler.toggle_rect, InputHandler.Wrapper`

Field Summary

Fields inherited from class mars.venus.editors.jeditsyntax.InputHandler

`BACKSPACE, BACKSPACE_WORD, CLIP_COPY, CLIP_CUT, CLIP_PASTE, DELETE, DELETE_WORD, DOCUMENT_END, DOCUMENT_HOME, END, grabAction, HOME, INSERT_BREAK, INSERT_CHAR, INSERT_TAB, NEXT_CHAR, NEXT_LINE, NEXT_PAGE, NEXT_WORD, OVERWRITE, PREV_CHAR, PREV_LINE, PREV_PAGE, PREV_WORD, recorder, repeat, REPEAT, repeatCount, SELECT_ALL, SELECT_DOC_END, SELECT_DOC_HOME, SELECT_END, SELECT_HOME, SELECT_NEXT_CHAR, SELECT_NEXT_LINE, SELECT_NEXT_PAGE, SELECT_NEXT_WORD, SELECT_PREV_CHAR, SELECT_PREV_LINE, SELECT_PREV_PAGE, SELECT_PREV_WORD, SMART_HOME_END_PROPERTY, TOGGLE_RECT`

Constructor Summary
`DefaultInputHandler()` Creates a new input handler with no key bindings defined.

Method Summary
`void` `addDefaultKeyBindings()` Sets up the default key bindings.
`void` `addKeyBinding(String keyBinding, ActionListener action)` Adds a key binding to this input handler.
`InputHandler` `copy()` Returns a copy of this input handler that shares the same key bindings.
`void` `keyPressed(KeyEvent evt)` Handle a key pressed event.
`void` `keyTyped(KeyEvent evt)` Handle a key typed event.
`static KeyStroke` `parseKeyStroke(String keyStroke)` Converts a string to a keystroke.
`void` `removeAllKeyBindings()` Removes all key bindings from this input handler.
`void` `removeKeyBinding(String keyBinding)` Removes a key binding from this input handler.

Methods inherited from class mars.venus.editors.jeditsyntax.InputHandler
`executeAction, getAction, getActionName, getActions, getMacroRecorder, getRepeatCount, getTextArea, grabNextKeyStroke, handleGrabAction, isRepeatEnabled, setMacroRecorder, setRepeatCount, setRepeatEnabled`

Methods inherited from class java.awt.event.KeyAdapter
`keyReleased`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DefaultInputHandler

    public DefaultInputHandler()

  Creates a new input handler with no key bindings defined.

Method Detail

### addDefaultKeyBindings

    public void addDefaultKeyBindings()

  Sets up the default key bindings.

  Specified by:
    `addDefaultKeyBindings` in class `InputHandler`

### addKeyBinding

    public void addKeyBinding(String keyBinding,
                              ActionListener action)

  Adds a key binding to this input handler. The key binding is a list of white space separated key strokes of the form [modifiers+]key where modifier is C for Control, A for Alt, or S for Shift, and key is either a character (a-z) or a field name in the KeyEvent class prefixed with VK_ (e.g., BACK_SPACE)

  Specified by:
    `addKeyBinding` in class `InputHandler`
  Parameters:
    `keyBinding` - The key binding
    `action` - The action

### removeKeyBinding

    public void removeKeyBinding(String keyBinding)

  Removes a key binding from this input handler. This is not yet implemented.

  Specified by:
    `removeKeyBinding` in class `InputHandler`
  Parameters:
    `keyBinding` - The key binding

### removeAllKeyBindings

    public void removeAllKeyBindings()

  Removes all key bindings from this input handler.

  Specified by:
    `removeAllKeyBindings` in class `InputHandler`

### copy

    public InputHandler copy()

  Returns a copy of this input handler that shares the same key bindings. Setting key bindings in the copy will also set them in the original.

  Specified by:
    `copy` in class `InputHandler`

### keyPressed

    public void keyPressed(KeyEvent evt)

  Handle a key pressed event. This will look up the binding for the key stroke and execute it.

  Specified by:
    `keyPressed` in interface `KeyListener`
  Overrides:
    `keyPressed` in class `KeyAdapter`

### keyTyped

    public void keyTyped(KeyEvent evt)

  Handle a key typed event. This inserts the key into the text area.

  Specified by:
    `keyTyped` in interface `KeyListener`
  Overrides:
    `keyTyped` in class `KeyAdapter`

### parseKeyStroke

    public static KeyStroke parseKeyStroke(String keyStroke)

  Converts a string to a keystroke. The string should be of the form modifiers+shortcut where modifiers is any combination of A for Alt, C for Control, S for Shift or M for Meta, and shortcut is either a single character, or a keycode name from the `KeyEvent` class, without the `VK_` prefix.

  Parameters:
    `keyStroke` - A string description of the key stroke