processing.app.syntax

## Class DefaultInputHandler

- Object
- - KeyAdapter
  - - InputHandler
    - - 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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class InputHandler

      `InputHandler.backspace, InputHandler.backspace_word, InputHandler.clipboard_copy, InputHandler.clipboard_cut, InputHandler.clipboard_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.toggle_rect, InputHandler.Wrapper`

  - ### Field Summary

    - ### Fields inherited from class InputHandler

      `BACKSPACE, BACKSPACE_WORD, CLIPBOARD_COPY, CLIPBOARD_CUT, CLIPBOARD_PASTE, CONTEXT_AWARE_HOME_END, DELETE, DELETE_WORD, DOCUMENT_END, DOCUMENT_HOME, END, HOME, INSERT_BREAK, INSERT_CHAR, INSERT_TAB, NEXT_CHAR, NEXT_LINE, NEXT_PAGE, NEXT_WORD, OVERWRITE, PREV_CHAR, PREV_LINE, PREV_PAGE, PREV_WORD, REPEAT, 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

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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 InputHandler

      `executeAction, findWordEnd, findWordStart, getAction, getActionName, getActions, getMacroRecorder, getRepeatCount, getTextArea, grabNextKeyStroke, isRepeatEnabled, setMacroRecorder, setRepeatCount, setRepeatEnabled`

    - ### Methods inherited from class KeyAdapter

      `keyReleased`

    - ### Methods inherited from class Object

      `equals, 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