Package jline

Class WindowsTerminal

java.lang.Object
jline.Terminal
jline.WindowsTerminal
All Implemented Interfaces:
ConsoleOperations

public class WindowsTerminal extends Terminal

Terminal implementation for Microsoft Windows. Terminal initialization in initializeTerminal() is accomplished by extracting the jline_version.dll, saving it to the system temporary directoy (determined by the setting of the java.io.tmpdir System property), loading the library, and then calling the Win32 APIs SetConsoleMode and GetConsoleMode to disable character echoing.

By default, the readCharacter(java.io.InputStream) method will attempt to test to see if the specified InputStream is System.in or a wrapper around FileDescriptor.in, and if so, will bypass the character reading to directly invoke the readc() method in the JNI library. This is so the class can read special keys (like arrow keys) which are otherwise inaccessible via the System.in stream. Using JNI reading can be bypassed by setting the jline.WindowsTerminal.directConsole system property to false.

Author:
Marc Prud'hommeaux
  • Field Details

    • SPECIAL_KEY_INDICATOR

      public static final int SPECIAL_KEY_INDICATOR
      On windows terminals, this character indicates that a 'special' key has been pressed. This means that a key such as an arrow key, or delete, or home, etc. will be indicated by the next character.
      See Also:
    • NUMPAD_KEY_INDICATOR

      public static final int NUMPAD_KEY_INDICATOR
      On windows terminals, this character indicates that a special key on the number pad has been pressed.
      See Also:
    • LEFT_ARROW_KEY

      public static final int LEFT_ARROW_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR, this character indicates an left arrow key press.
      See Also:
    • RIGHT_ARROW_KEY

      public static final int RIGHT_ARROW_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR this character indicates an right arrow key press.
      See Also:
    • UP_ARROW_KEY

      public static final int UP_ARROW_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR this character indicates an up arrow key press.
      See Also:
    • DOWN_ARROW_KEY

      public static final int DOWN_ARROW_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR this character indicates an down arrow key press.
      See Also:
    • DELETE_KEY

      public static final int DELETE_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR this character indicates that the delete key was pressed.
      See Also:
    • HOME_KEY

      public static final int HOME_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR this character indicates that the home key was pressed.
      See Also:
    • END_KEY

      public static final char END_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR this character indicates that the end key was pressed.
      See Also:
    • PAGE_UP_KEY

      public static final char PAGE_UP_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR this character indicates that the page up key was pressed.
      See Also:
    • PAGE_DOWN_KEY

      public static final char PAGE_DOWN_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR this character indicates that the page down key was pressed.
      See Also:
    • INSERT_KEY

      public static final char INSERT_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR this character indicates that the insert key was pressed.
      See Also:
    • ESCAPE_KEY

      public static final char ESCAPE_KEY
      When following the SPECIAL_KEY_INDICATOR or NUMPAD_KEY_INDICATOR, this character indicates that the escape key was pressed.
      See Also:
  • Constructor Details

  • Method Details