Skip to content

Implemented mouse input

Michael Aaron Murphy requested to merge IGI-111:master into master

Created by: IGI-111

After some tinkering i managed to make that missing feature work.

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.

I moved the event parsing into its own module/file as well.

This still needs to be extensively tested, but it works empirically in as many terminals as i could get my hands on.

Merge request reports