The set of modifier keys (e.g. Ctrl, Alt, and Shift) that were pressed at the time of an event. Represented as an opaque bitmap to allow for extension with other keys, such as a Meta or Command key.
A single event generated by a terminal. Simple text input, whether arriving via a pipe, a paste command, or typing, will be represented with KeyPress events. These events are inherently lossy and have different levels of support on different terminals. Depending on the use case, certain modifier keys may just never be recorded, key repeats will be indistinguishable from orignal presses, pastes may not be bracketed, and key releases may never be registered, among other failures.