public abstract class AbstractWindowsTerminal extends AbstractTerminal
Terminal.MouseTracking, Terminal.Signal, Terminal.SignalHandler| Modifier and Type | Field and Description |
|---|---|
protected Attributes |
attributes |
protected ShutdownHooks.Task |
closer |
protected static int |
ENABLE_ECHO_INPUT |
protected static int |
ENABLE_INSERT_MODE |
protected static int |
ENABLE_LINE_INPUT |
protected static int |
ENABLE_MOUSE_INPUT |
protected static int |
ENABLE_PROCESSED_INPUT |
protected static int |
ENABLE_QUICK_EDIT_MODE |
protected static int |
ENABLE_WINDOW_INPUT |
protected InputStream |
input |
protected Map<Terminal.Signal,Object> |
nativeHandlers |
protected int |
originalConsoleMode |
protected OutputStream |
output |
protected Thread |
pump |
protected NonBlockingReader |
reader |
protected Writer |
slaveInputPipe |
protected Terminal.MouseTracking |
tracking |
static String |
TYPE_WINDOWS |
protected PrintWriter |
writer |
| Constructor and Description |
|---|
AbstractWindowsTerminal(Writer writer,
String name,
Charset encoding,
int codepage,
boolean nativeSignals,
Terminal.SignalHandler signalHandler) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
protected int |
ctrl(char key) |
Attributes |
getAttributes() |
protected abstract int |
getConsoleMode() |
protected abstract int |
getConsoleOutputCP() |
protected String |
getEscapeSequence(short keyCode,
int keyState) |
protected String |
getRawSequence(InfoCmp.Capability cap) |
protected String |
getSequence(InfoCmp.Capability cap) |
Terminal.SignalHandler |
handle(Terminal.Signal signal,
Terminal.SignalHandler handler) |
InputStream |
input() |
OutputStream |
output() |
protected abstract boolean |
processConsoleInput()
Read a single input event from the input buffer and process it.
|
void |
processInputChar(char c) |
protected void |
processKeyEvent(boolean isKeyDown,
short virtualKeyCode,
char ch,
int controlKeyState) |
protected void |
pump() |
NonBlockingReader |
reader() |
void |
setAttributes(Attributes attr) |
protected abstract void |
setConsoleMode(int mode) |
void |
setSize(Size size) |
boolean |
trackMouse(Terminal.MouseTracking tracking)
Change the mouse tracking mouse.
|
protected void |
updateConsoleMode() |
PrintWriter |
writer() |
echo, echo, echoSignal, encoding, enterRawMode, flush, getBooleanCapability, getCursorPosition, getKind, getName, getNumericCapability, getStringCapability, getType, hasMouseSupport, parseInfoCmp, puts, raise, readMouseEvent, readMouseEventpublic static final String TYPE_WINDOWS
protected static final int ENABLE_PROCESSED_INPUT
protected static final int ENABLE_LINE_INPUT
protected static final int ENABLE_ECHO_INPUT
protected static final int ENABLE_WINDOW_INPUT
protected static final int ENABLE_MOUSE_INPUT
protected static final int ENABLE_INSERT_MODE
protected static final int ENABLE_QUICK_EDIT_MODE
protected final Writer slaveInputPipe
protected final InputStream input
protected final OutputStream output
protected final NonBlockingReader reader
protected final PrintWriter writer
protected final Map<Terminal.Signal,Object> nativeHandlers
protected final ShutdownHooks.Task closer
protected final Attributes attributes
protected final Thread pump
protected final int originalConsoleMode
protected Terminal.MouseTracking tracking
public AbstractWindowsTerminal(Writer writer, String name, Charset encoding, int codepage, boolean nativeSignals, Terminal.SignalHandler signalHandler) throws IOException
IOExceptionpublic Terminal.SignalHandler handle(Terminal.Signal signal, Terminal.SignalHandler handler)
handle in interface Terminalhandle in class AbstractTerminalpublic NonBlockingReader reader()
public PrintWriter writer()
public InputStream input()
public OutputStream output()
public Attributes getAttributes()
public void setAttributes(Attributes attr)
protected void updateConsoleMode()
protected int ctrl(char key)
public void setSize(Size size)
public void close()
throws IOException
IOExceptionprotected void processKeyEvent(boolean isKeyDown,
short virtualKeyCode,
char ch,
int controlKeyState)
throws IOException
IOExceptionprotected String getEscapeSequence(short keyCode, int keyState)
protected String getRawSequence(InfoCmp.Capability cap)
protected String getSequence(InfoCmp.Capability cap)
protected void pump()
public void processInputChar(char c)
throws IOException
IOExceptionpublic boolean trackMouse(Terminal.MouseTracking tracking)
TerminalInfoCmp.Capability.key_mouse to the input stream.
When this character sequence is detected, the Terminal.readMouseEvent() method can be
called to actually read the corresponding mouse event.trackMouse in interface TerminaltrackMouse in class AbstractTerminaltracking - the mouse tracking modetrue if mouse tracking is supportedprotected abstract int getConsoleOutputCP()
protected abstract int getConsoleMode()
protected abstract void setConsoleMode(int mode)
protected abstract boolean processConsoleInput()
throws IOException
IOExceptionCopyright © 2020. All rights reserved.