24 unsigned char Current();
34 TERMINAL_NAME_VERSION,
36 TERMINAL_CAPABILITIES,
40 struct CursorPosition {
45 struct TerminalNameVersion {
50 struct TerminalEmulator {
55 struct TerminalCapabilities {
56 std::vector<int> capabilities;
63 CursorPosition cursor{};
67 std::string terminal_name;
68 std::string terminal_version_string;
69 std::vector<int> terminal_capabilities;
75 void Send(Output output);
82 Output ParseMouse(
bool altered,
bool pressed, std::vector<int> arguments);
83 Output ParseCursorPosition(std::vector<int> arguments);
84 Output ParseDeviceAttributes(
bool altered_greater,
85 bool altered_question,
86 std::vector<int> arguments);
88 std::function<void(
Event)> out_;