Next: 8.8.2 Terminal Attributes Up: 8.8 Options Previous: Output Options

## 8.8.1 Input Options

- `int keypad(win, bf)`
  If TRUE, it enables the keypad on the keyboard of the user's terminal when waiting for input. Ncurses will then return a key code defined in .h as KEY_* for the function and arrow keys on the keypad. This is very useful for a PC keyboard because you can enable the numerical block and the cursor keys.

- `int meta(win, bf)`
  If TRUE, the key codes returned from getch() are 8-bit-clean (the highest bit will not be stripped).
- `int cbreak()`
  `int nocbreak()`
  `int crmode()`
  `int nocrmode()`
  cbreak() and nocbreak() will turn the terminal CBREAK mode on or off. When CBREAK is on, input from a read will be immediately available to the program, when off the input will be buffered until newline occurs. (Note: crmode() and nocrmode() are for upward compatibility, don't use them.)
- `int raw()`
  `int noraw()`
  Turn RAW mode on or off. RAW is the same as CBREAK, except that in RAW mode no special character processing will be done.
- `int echo()`
  `int noecho()`
  Set echo() to echo input typed by the user and noecho() to be silent about it.
- `int halfdelay(t)`
  As cbreak() with a delay of `t` seconds.
- `int nodelay(win, bf)`
  Terminal will be set to no blocking mode. cetch() will return ERR if no input is ready. If set to FALSE, getch() will wait until a key is pressed.
- `int timeout(t)`
  `int wtimeout(win, t)`
  It is recommended to use these functions instead of halfdelay(t) and nodelay(win,bf). The result of getch() depends on the value of `t`. If `t` is positive, the read is blocked for `t` milliseconds, if `t` is zero, no blocking is done, and when `t` is negative the program blocks until input is available.
- `int notimeout(win, bf)`
  If `bf` is TRUE, getch() will use a special timer (of one second length) to interpret and input sequence beginning with keys as ESCAPE etc.
- `int typeahead(fd)`
  If `fd` is -1 no typeahead check will be done, else ncurses will use the file descriptor `fd` instead of for these checks.
- `int intrflush(win, bf)`
  When enabled with `bf` TRUE an interrupt key pressed on the terminal (quit, break ...) will flush all output in the tty driver queue.
- `void noqiflush()`
  `void qiflush()`
  (Note: not implemented yet.)

Next: 8.8.2 Terminal Attributes Up: 8.8 Options Previous: Output Options