| Value | Meaning |
|---|---|
| raw0 | raw input returns keystrokes immediately, without line buffering |
| echo1 | do you want to automatically echo input back to the user? |
| mouse2 | capture mouse events |
| paste4 | capture paste events (note: without this, paste can come through as keystrokes) |
| size8 | window resize events |
| releasedKeys64 | key release events. Not reliable on Posix. |
| allInputEvents8 | 4 | 2 | subscribe to all input events. Note: in previous versions, this also returned release events. It no longer does, use allInputEventsWithRelease if you want them. |
| allInputEventsWithReleaseallInputEvents | releasedKeys | subscribe to all input events, including (unreliable on Posix) key release events. |
When capturing input, what events are you interested in?
Note: these flags can be OR'd together to select more than one option at a time.
Ctrl+C and other keyboard input is always captured, though it may be line buffered if you don't use raw. The rationale for that is to ensure the Terminal destructor has a chance to run, since the terminal is a shared resource and should be put back before the program terminates.