The event system has been reworked to allow the detection of mouse
events as well as key presses.
Xterm, rxvt and X10 emulated escape codes are supported, they are
enabled and disabled by sending the right escape codes when creating a
RawTerminal.
To allow for byte manipulation, which was necessary to implement those
features, the backend iterator has been changed from chars() to bytes()
(with specific treatment of unicode sequences), making the whole crate
not require nightly rustc.
Key now supports Home, End, PageUp, PageDown, Delete, Insert and
Function keys. All this is done through the detection of both VT100
escape codes and more modern standard counterparts.
For instance, F2 can be both
ESC OQ
on VT100, screen, and some versions of xterm and
ESC [12~
on rxvt and other xterm versions depending on your terminal