private String display(ControlChar c) { String value; int ch = getControlChar(c); if (c == ControlChar.VMIN || c == ControlChar.VTIME) { value = Integer.toString(ch); } else if (ch < 0) { value = "<undef>"; } else if (ch < 32) { value = "^" + (char) (ch + 'A' - 1); } else if (ch == 127) { value = "^?"; } else if (ch >= 128) { value = String.format("\\u%04x", ch); } else { value = String.valueOf((char) ch); } return c.name().toLowerCase().substring(1) + "=" + value; }
protected void echoSignal(Signal signal) { ControlChar cc = null; switch (signal) { case INT: cc = ControlChar.VINTR; break; case QUIT: cc = ControlChar.VQUIT; break; case TSTP: cc = ControlChar.VSUSP; break; } if (cc != null) { int vcc = getAttributes().getControlChar(cc); if (vcc > 0 && vcc < 32) { writer().write(new char[]{'^', (char) (vcc + '@')}, 0, 2); } } }
/** * Bind special chars defined by the terminal instead of * the default bindings */ private void bindConsoleChars(KeyMap<Binding> keyMap, Attributes attr) { if (attr != null) { rebind(keyMap, BACKWARD_DELETE_CHAR, del(), (char) attr.getControlChar(ControlChar.VERASE)); rebind(keyMap, BACKWARD_KILL_WORD, ctrl('W'), (char) attr.getControlChar(ControlChar.VWERASE)); rebind(keyMap, KILL_WHOLE_LINE, ctrl('U'), (char) attr.getControlChar(ControlChar.VKILL)); rebind(keyMap, QUOTED_INSERT, ctrl('V'), (char) attr.getControlChar(ControlChar.VLNEXT)); } }
private void setNonBlocking() { if (current == null || current.getControlChar(Attributes.ControlChar.VMIN) != 0 || current.getControlChar(Attributes.ControlChar.VTIME) != 1) { try { Attributes attr = getAttr(); attr.setControlChar(Attributes.ControlChar.VMIN, 0); attr.setControlChar(Attributes.ControlChar.VTIME, 1); setAttr(attr); } catch (IOException e) { throw new IOError(e); } } } }
public void processInputChar(char c) throws IOException { if (attributes.getLocalFlag(Attributes.LocalFlag.ISIG)) { if (c == attributes.getControlChar(Attributes.ControlChar.VINTR)) { raise(Signal.INT); return; } else if (c == attributes.getControlChar(Attributes.ControlChar.VQUIT)) { raise(Signal.QUIT); return; } else if (c == attributes.getControlChar(Attributes.ControlChar.VSUSP)) { raise(Signal.TSTP); return; } else if (c == attributes.getControlChar(Attributes.ControlChar.VSTATUS)) { raise(Signal.INFO);
int c = nbis.read(timeout, isPeek); if (attributes.getLocalFlag(Attributes.LocalFlag.ISIG)) { if (c == attributes.getControlChar(ControlChar.VINTR)) { raise(Signal.INT); continue; } else if (c == attributes.getControlChar(ControlChar.VQUIT)) { raise(Signal.QUIT); continue; } else if (c == attributes.getControlChar(ControlChar.VSUSP)) { raise(Signal.TSTP); continue; } else if (c == attributes.getControlChar(ControlChar.VSTATUS)) { raise(Signal.INFO); continue;
protected boolean doProcessInputByte(int c) throws IOException { if (attributes.getLocalFlag(LocalFlag.ISIG)) { if (c == attributes.getControlChar(ControlChar.VINTR)) { raise(Signal.INT); return false; } else if (c == attributes.getControlChar(ControlChar.VQUIT)) { raise(Signal.QUIT); return false; } else if (c == attributes.getControlChar(ControlChar.VSUSP)) { raise(Signal.TSTP); return false; } else if (c == attributes.getControlChar(ControlChar.VSTATUS)) { raise(Signal.INFO);
if (attr.getControlChar(cchar) != current.getControlChar(cchar)) { String str = ""; int v = attr.getControlChar(cchar); commands.add(cchar.name().toLowerCase().substring(1)); if (cchar == ControlChar.VMIN || cchar == ControlChar.VTIME) {
c_lflag = setFlag(t.getLocalFlag(LocalFlag.NOFLSH), NOFLSH, c_lflag); c_cc[VEOF] = (byte) t.getControlChar(ControlChar.VEOF); c_cc[VEOL] = (byte) t.getControlChar(ControlChar.VEOL); c_cc[VEOL2] = (byte) t.getControlChar(ControlChar.VEOL2); c_cc[VERASE] = (byte) t.getControlChar(ControlChar.VERASE); c_cc[VWERASE] = (byte) t.getControlChar(ControlChar.VWERASE); c_cc[VKILL] = (byte) t.getControlChar(ControlChar.VKILL); c_cc[VREPRINT] = (byte) t.getControlChar(ControlChar.VREPRINT); c_cc[VINTR] = (byte) t.getControlChar(ControlChar.VINTR); c_cc[VQUIT] = (byte) t.getControlChar(ControlChar.VQUIT); c_cc[VSUSP] = (byte) t.getControlChar(ControlChar.VSUSP); c_cc[VSTART] = (byte) t.getControlChar(ControlChar.VSTART); c_cc[VSTOP] = (byte) t.getControlChar(ControlChar.VSTOP); c_cc[VLNEXT] = (byte) t.getControlChar(ControlChar.VLNEXT); c_cc[VDISCARD] = (byte) t.getControlChar(ControlChar.VDISCARD); c_cc[VMIN] = (byte) t.getControlChar(ControlChar.VMIN); c_cc[VTIME] = (byte) t.getControlChar(ControlChar.VTIME);
c_lflag = setFlag(t.getLocalFlag(LocalFlag.NOFLSH), NOFLSH, c_lflag); c_cc[VEOF] = (byte) t.getControlChar(ControlChar.VEOF); c_cc[VEOL] = (byte) t.getControlChar(ControlChar.VEOL); c_cc[VEOL2] = (byte) t.getControlChar(ControlChar.VEOL2); c_cc[VERASE] = (byte) t.getControlChar(ControlChar.VERASE); c_cc[VWERASE] = (byte) t.getControlChar(ControlChar.VWERASE); c_cc[VKILL] = (byte) t.getControlChar(ControlChar.VKILL); c_cc[VREPRINT] = (byte) t.getControlChar(ControlChar.VREPRINT); c_cc[VINTR] = (byte) t.getControlChar(ControlChar.VINTR); c_cc[VQUIT] = (byte) t.getControlChar(ControlChar.VQUIT); c_cc[VSUSP] = (byte) t.getControlChar(ControlChar.VSUSP); c_cc[VSTART] = (byte) t.getControlChar(ControlChar.VSTART); c_cc[VSTOP] = (byte) t.getControlChar(ControlChar.VSTOP); c_cc[VLNEXT] = (byte) t.getControlChar(ControlChar.VLNEXT); c_cc[VDISCARD] = (byte) t.getControlChar(ControlChar.VDISCARD); c_cc[VMIN] = (byte) t.getControlChar(ControlChar.VMIN); c_cc[VTIME] = (byte) t.getControlChar(ControlChar.VTIME);
c_lflag = setFlag(t.getLocalFlag(LocalFlag.NOFLSH), NOFLSH, c_lflag); c_cc[VEOF] = (byte) t.getControlChar(ControlChar.VEOF); c_cc[VEOL] = (byte) t.getControlChar(ControlChar.VEOL); c_cc[VEOL2] = (byte) t.getControlChar(ControlChar.VEOL2); c_cc[VERASE] = (byte) t.getControlChar(ControlChar.VERASE); c_cc[VWERASE] = (byte) t.getControlChar(ControlChar.VWERASE); c_cc[VKILL] = (byte) t.getControlChar(ControlChar.VKILL); c_cc[VREPRINT] = (byte) t.getControlChar(ControlChar.VREPRINT); c_cc[VINTR] = (byte) t.getControlChar(ControlChar.VINTR); c_cc[VQUIT] = (byte) t.getControlChar(ControlChar.VQUIT); c_cc[VSUSP] = (byte) t.getControlChar(ControlChar.VSUSP); c_cc[VSTART] = (byte) t.getControlChar(ControlChar.VSTART); c_cc[VSTOP] = (byte) t.getControlChar(ControlChar.VSTOP); c_cc[VLNEXT] = (byte) t.getControlChar(ControlChar.VLNEXT); c_cc[VDISCARD] = (byte) t.getControlChar(ControlChar.VDISCARD); c_cc[VMIN] = (byte) t.getControlChar(ControlChar.VMIN); c_cc[VTIME] = (byte) t.getControlChar(ControlChar.VTIME);
tio.c_lflag = setFlag(t.getLocalFlag(Attributes.LocalFlag.NOFLSH), NOFLSH, tio.c_lflag); tio.c_cc[VEOF] = (byte) t.getControlChar(Attributes.ControlChar.VEOF); tio.c_cc[VEOL] = (byte) t.getControlChar(Attributes.ControlChar.VEOL); tio.c_cc[VEOL2] = (byte) t.getControlChar(Attributes.ControlChar.VEOL2); tio.c_cc[VERASE] = (byte) t.getControlChar(Attributes.ControlChar.VERASE); tio.c_cc[VWERASE] = (byte) t.getControlChar(Attributes.ControlChar.VWERASE); tio.c_cc[VKILL] = (byte) t.getControlChar(Attributes.ControlChar.VKILL); tio.c_cc[VREPRINT] = (byte) t.getControlChar(Attributes.ControlChar.VREPRINT); tio.c_cc[VINTR] = (byte) t.getControlChar(Attributes.ControlChar.VINTR); tio.c_cc[VQUIT] = (byte) t.getControlChar(Attributes.ControlChar.VQUIT); tio.c_cc[VSUSP] = (byte) t.getControlChar(Attributes.ControlChar.VSUSP); tio.c_cc[VSTART] = (byte) t.getControlChar(Attributes.ControlChar.VSTART); tio.c_cc[VSTOP] = (byte) t.getControlChar(Attributes.ControlChar.VSTOP); tio.c_cc[VLNEXT] = (byte) t.getControlChar(Attributes.ControlChar.VLNEXT); tio.c_cc[VDISCARD] = (byte) t.getControlChar(Attributes.ControlChar.VDISCARD); tio.c_cc[VMIN] = (byte) t.getControlChar(Attributes.ControlChar.VMIN); tio.c_cc[VTIME] = (byte) t.getControlChar(Attributes.ControlChar.VTIME);
c_lflag = setFlag(t.getLocalFlag(LocalFlag.NOFLSH), NOFLSH, c_lflag); c_cc[VEOF] = (byte) t.getControlChar(ControlChar.VEOF); c_cc[VEOL] = (byte) t.getControlChar(ControlChar.VEOL); c_cc[VEOL2] = (byte) t.getControlChar(ControlChar.VEOL2); c_cc[VERASE] = (byte) t.getControlChar(ControlChar.VERASE); c_cc[VWERASE] = (byte) t.getControlChar(ControlChar.VWERASE); c_cc[VKILL] = (byte) t.getControlChar(ControlChar.VKILL); c_cc[VREPRINT] = (byte) t.getControlChar(ControlChar.VREPRINT); c_cc[VINTR] = (byte) t.getControlChar(ControlChar.VINTR); c_cc[VQUIT] = (byte) t.getControlChar(ControlChar.VQUIT); c_cc[VSUSP] = (byte) t.getControlChar(ControlChar.VSUSP); c_cc[VSTART] = (byte) t.getControlChar(ControlChar.VSTART); c_cc[VSTOP] = (byte) t.getControlChar(ControlChar.VSTOP); c_cc[VLNEXT] = (byte) t.getControlChar(ControlChar.VLNEXT); c_cc[VDISCARD] = (byte) t.getControlChar(ControlChar.VDISCARD); c_cc[VMIN] = (byte) t.getControlChar(ControlChar.VMIN); c_cc[VTIME] = (byte) t.getControlChar(ControlChar.VTIME);
c_lflag = setFlag(t.getLocalFlag(LocalFlag.NOFLSH), NOFLSH, c_lflag); c_cc[VEOF] = (byte) t.getControlChar(ControlChar.VEOF); c_cc[VEOL] = (byte) t.getControlChar(ControlChar.VEOL); c_cc[VEOL2] = (byte) t.getControlChar(ControlChar.VEOL2); c_cc[VERASE] = (byte) t.getControlChar(ControlChar.VERASE); c_cc[VWERASE] = (byte) t.getControlChar(ControlChar.VWERASE); c_cc[VKILL] = (byte) t.getControlChar(ControlChar.VKILL); c_cc[VREPRINT] = (byte) t.getControlChar(ControlChar.VREPRINT); c_cc[VINTR] = (byte) t.getControlChar(ControlChar.VINTR); c_cc[VQUIT] = (byte) t.getControlChar(ControlChar.VQUIT); c_cc[VSUSP] = (byte) t.getControlChar(ControlChar.VSUSP); c_cc[VSTART] = (byte) t.getControlChar(ControlChar.VSTART); c_cc[VSTOP] = (byte) t.getControlChar(ControlChar.VSTOP); c_cc[VLNEXT] = (byte) t.getControlChar(ControlChar.VLNEXT); c_cc[VDISCARD] = (byte) t.getControlChar(ControlChar.VDISCARD); c_cc[VMIN] = (byte) t.getControlChar(ControlChar.VMIN); c_cc[VTIME] = (byte) t.getControlChar(ControlChar.VTIME);
c_lflag = setFlag(t.getLocalFlag(LocalFlag.NOFLSH), NOFLSH, c_lflag); c_cc[VEOF] = (byte) t.getControlChar(ControlChar.VEOF); c_cc[VEOL] = (byte) t.getControlChar(ControlChar.VEOL); c_cc[VEOL2] = (byte) t.getControlChar(ControlChar.VEOL2); c_cc[VERASE] = (byte) t.getControlChar(ControlChar.VERASE); c_cc[VWERASE] = (byte) t.getControlChar(ControlChar.VWERASE); c_cc[VKILL] = (byte) t.getControlChar(ControlChar.VKILL); c_cc[VREPRINT] = (byte) t.getControlChar(ControlChar.VREPRINT); c_cc[VINTR] = (byte) t.getControlChar(ControlChar.VINTR); c_cc[VQUIT] = (byte) t.getControlChar(ControlChar.VQUIT); c_cc[VSUSP] = (byte) t.getControlChar(ControlChar.VSUSP); c_cc[VSTART] = (byte) t.getControlChar(ControlChar.VSTART); c_cc[VSTOP] = (byte) t.getControlChar(ControlChar.VSTOP); c_cc[VLNEXT] = (byte) t.getControlChar(ControlChar.VLNEXT); c_cc[VDISCARD] = (byte) t.getControlChar(ControlChar.VDISCARD); c_cc[VMIN] = (byte) t.getControlChar(ControlChar.VMIN); c_cc[VTIME] = (byte) t.getControlChar(ControlChar.VTIME);
tio.c_lflag = setFlag(t.getLocalFlag(Attributes.LocalFlag.NOFLSH), NOFLSH, tio.c_lflag); tio.c_cc[VEOF] = (byte) t.getControlChar(Attributes.ControlChar.VEOF); tio.c_cc[VEOL] = (byte) t.getControlChar(Attributes.ControlChar.VEOL); tio.c_cc[VEOL2] = (byte) t.getControlChar(Attributes.ControlChar.VEOL2); tio.c_cc[VERASE] = (byte) t.getControlChar(Attributes.ControlChar.VERASE); tio.c_cc[VWERASE] = (byte) t.getControlChar(Attributes.ControlChar.VWERASE); tio.c_cc[VKILL] = (byte) t.getControlChar(Attributes.ControlChar.VKILL); tio.c_cc[VREPRINT] = (byte) t.getControlChar(Attributes.ControlChar.VREPRINT); tio.c_cc[VINTR] = (byte) t.getControlChar(Attributes.ControlChar.VINTR); tio.c_cc[VQUIT] = (byte) t.getControlChar(Attributes.ControlChar.VQUIT); tio.c_cc[VSUSP] = (byte) t.getControlChar(Attributes.ControlChar.VSUSP); tio.c_cc[VDSUSP] = (byte) t.getControlChar(Attributes.ControlChar.VDSUSP); tio.c_cc[VSTART] = (byte) t.getControlChar(Attributes.ControlChar.VSTART); tio.c_cc[VSTOP] = (byte) t.getControlChar(Attributes.ControlChar.VSTOP); tio.c_cc[VLNEXT] = (byte) t.getControlChar(Attributes.ControlChar.VLNEXT); tio.c_cc[VDISCARD] = (byte) t.getControlChar(Attributes.ControlChar.VDISCARD); tio.c_cc[VMIN] = (byte) t.getControlChar(Attributes.ControlChar.VMIN); tio.c_cc[VTIME] = (byte) t.getControlChar(Attributes.ControlChar.VTIME); tio.c_cc[VSTATUS] = (byte) t.getControlChar(Attributes.ControlChar.VSTATUS); return tio;
tio.c_lflag = setFlag(t.getLocalFlag(Attributes.LocalFlag.NOFLSH), NOFLSH, tio.c_lflag); tio.c_cc[VEOF] = (byte) t.getControlChar(Attributes.ControlChar.VEOF); tio.c_cc[VEOL] = (byte) t.getControlChar(Attributes.ControlChar.VEOL); tio.c_cc[VEOL2] = (byte) t.getControlChar(Attributes.ControlChar.VEOL2); tio.c_cc[VERASE] = (byte) t.getControlChar(Attributes.ControlChar.VERASE); tio.c_cc[VWERASE] = (byte) t.getControlChar(Attributes.ControlChar.VWERASE); tio.c_cc[VKILL] = (byte) t.getControlChar(Attributes.ControlChar.VKILL); tio.c_cc[VREPRINT] = (byte) t.getControlChar(Attributes.ControlChar.VREPRINT); tio.c_cc[VINTR] = (byte) t.getControlChar(Attributes.ControlChar.VINTR); tio.c_cc[VQUIT] = (byte) t.getControlChar(Attributes.ControlChar.VQUIT); tio.c_cc[VSUSP] = (byte) t.getControlChar(Attributes.ControlChar.VSUSP); tio.c_cc[VSTART] = (byte) t.getControlChar(Attributes.ControlChar.VSTART); tio.c_cc[VSTOP] = (byte) t.getControlChar(Attributes.ControlChar.VSTOP); tio.c_cc[VLNEXT] = (byte) t.getControlChar(Attributes.ControlChar.VLNEXT); tio.c_cc[VDISCARD] = (byte) t.getControlChar(Attributes.ControlChar.VDISCARD); tio.c_cc[VMIN] = (byte) t.getControlChar(Attributes.ControlChar.VMIN); tio.c_cc[VTIME] = (byte) t.getControlChar(Attributes.ControlChar.VTIME);
tio.c_lflag = setFlag(t.getLocalFlag(Attributes.LocalFlag.NOFLSH), NOFLSH, tio.c_lflag); tio.c_cc[VEOF] = (byte) t.getControlChar(Attributes.ControlChar.VEOF); tio.c_cc[VEOL] = (byte) t.getControlChar(Attributes.ControlChar.VEOL); tio.c_cc[VEOL2] = (byte) t.getControlChar(Attributes.ControlChar.VEOL2); tio.c_cc[VERASE] = (byte) t.getControlChar(Attributes.ControlChar.VERASE); tio.c_cc[VWERASE] = (byte) t.getControlChar(Attributes.ControlChar.VWERASE); tio.c_cc[VKILL] = (byte) t.getControlChar(Attributes.ControlChar.VKILL); tio.c_cc[VREPRINT] = (byte) t.getControlChar(Attributes.ControlChar.VREPRINT); tio.c_cc[VINTR] = (byte) t.getControlChar(Attributes.ControlChar.VINTR); tio.c_cc[VQUIT] = (byte) t.getControlChar(Attributes.ControlChar.VQUIT); tio.c_cc[VSUSP] = (byte) t.getControlChar(Attributes.ControlChar.VSUSP); tio.c_cc[VSTART] = (byte) t.getControlChar(Attributes.ControlChar.VSTART); tio.c_cc[VSTOP] = (byte) t.getControlChar(Attributes.ControlChar.VSTOP); tio.c_cc[VLNEXT] = (byte) t.getControlChar(Attributes.ControlChar.VLNEXT); tio.c_cc[VDISCARD] = (byte) t.getControlChar(Attributes.ControlChar.VDISCARD); tio.c_cc[VMIN] = (byte) t.getControlChar(Attributes.ControlChar.VMIN); tio.c_cc[VTIME] = (byte) t.getControlChar(Attributes.ControlChar.VTIME);
setFlag(t.getLocalFlag(LocalFlag.NOFLSH), NOFLSH, c_lflag); c_cc[VEOF] = (byte) t.getControlChar(ControlChar.VEOF); c_cc[VEOL] = (byte) t.getControlChar(ControlChar.VEOL); c_cc[VEOL2] = (byte) t.getControlChar(ControlChar.VEOL2); c_cc[VERASE] = (byte) t.getControlChar(ControlChar.VERASE); c_cc[VWERASE] = (byte) t.getControlChar(ControlChar.VWERASE); c_cc[VKILL] = (byte) t.getControlChar(ControlChar.VKILL); c_cc[VREPRINT] = (byte) t.getControlChar(ControlChar.VREPRINT); c_cc[VINTR] = (byte) t.getControlChar(ControlChar.VINTR); c_cc[VQUIT] = (byte) t.getControlChar(ControlChar.VQUIT); c_cc[VSUSP] = (byte) t.getControlChar(ControlChar.VSUSP); c_cc[VDSUSP] = (byte) t.getControlChar(ControlChar.VDSUSP); c_cc[VSTART] = (byte) t.getControlChar(ControlChar.VSTART); c_cc[VSTOP] = (byte) t.getControlChar(ControlChar.VSTOP); c_cc[VLNEXT] = (byte) t.getControlChar(ControlChar.VLNEXT); c_cc[VDISCARD] = (byte) t.getControlChar(ControlChar.VDISCARD); c_cc[VMIN] = (byte) t.getControlChar(ControlChar.VMIN); c_cc[VTIME] = (byte) t.getControlChar(ControlChar.VTIME); c_cc[VSTATUS] = (byte) t.getControlChar(ControlChar.VSTATUS);
setFlag(t.getLocalFlag(LocalFlag.NOFLSH), NOFLSH, c_lflag); c_cc[VEOF] = (byte) t.getControlChar(ControlChar.VEOF); c_cc[VEOL] = (byte) t.getControlChar(ControlChar.VEOL); c_cc[VEOL2] = (byte) t.getControlChar(ControlChar.VEOL2); c_cc[VERASE] = (byte) t.getControlChar(ControlChar.VERASE); c_cc[VWERASE] = (byte) t.getControlChar(ControlChar.VWERASE); c_cc[VKILL] = (byte) t.getControlChar(ControlChar.VKILL); c_cc[VREPRINT] = (byte) t.getControlChar(ControlChar.VREPRINT); c_cc[VINTR] = (byte) t.getControlChar(ControlChar.VINTR); c_cc[VQUIT] = (byte) t.getControlChar(ControlChar.VQUIT); c_cc[VSUSP] = (byte) t.getControlChar(ControlChar.VSUSP); c_cc[VDSUSP] = (byte) t.getControlChar(ControlChar.VDSUSP); c_cc[VSTART] = (byte) t.getControlChar(ControlChar.VSTART); c_cc[VSTOP] = (byte) t.getControlChar(ControlChar.VSTOP); c_cc[VLNEXT] = (byte) t.getControlChar(ControlChar.VLNEXT); c_cc[VDISCARD] = (byte) t.getControlChar(ControlChar.VDISCARD); c_cc[VMIN] = (byte) t.getControlChar(ControlChar.VMIN); c_cc[VTIME] = (byte) t.getControlChar(ControlChar.VTIME); c_cc[VSTATUS] = (byte) t.getControlChar(ControlChar.VSTATUS);