From d05b9343f69a0841043963088e0003368e205bd9 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 22 Sep 2026 22:47:33 +0200 Subject: lib: restructure into vertical slices --- ttwhy/scanners/terminal_events.cppm | 100 ------------------------------------ 1 file changed, 100 deletions(-) delete mode 100644 ttwhy/scanners/terminal_events.cppm (limited to 'ttwhy/scanners/terminal_events.cppm') diff --git a/ttwhy/scanners/terminal_events.cppm b/ttwhy/scanners/terminal_events.cppm deleted file mode 100644 index 3e4c849..0000000 --- a/ttwhy/scanners/terminal_events.cppm +++ /dev/null @@ -1,100 +0,0 @@ -module; - -#include -#include -#include - -export module ttwhy.scanners:terminal_events; - -export namespace ttwhy::scanners -{ - enum struct control_key : std::uint8_t - { - enter, - escape, - tab, - backspace, - }; - - enum struct navigation_key : std::uint8_t - { - up, - down, - left, - right, - home, - end, - delete_key, - insert_key, - page_up, - page_down, - }; - - enum struct modifier : std::uint8_t - { - none = 0, - shift = 1, - alt = 2, - ctrl = 4, - meta = 8, - }; - - enum struct modifier_set : std::uint8_t - { - }; - - constexpr auto operator|(modifier lhs, modifier rhs) -> modifier_set - { - return static_cast(std::to_underlying(lhs) | std::to_underlying(rhs)); - } - - constexpr auto operator|(modifier_set lhs, modifier rhs) -> modifier_set - { - return static_cast(std::to_underlying(lhs) | std::to_underlying(rhs)); - } - - constexpr auto operator&(modifier lhs, modifier rhs) -> modifier_set - { - return static_cast(std::to_underlying(lhs) & std::to_underlying(rhs)); - } - - constexpr auto operator&(modifier_set lhs, modifier rhs) -> modifier_set - { - return static_cast(std::to_underlying(lhs) & std::to_underlying(rhs)); - } - - template... Modifier> - constexpr auto has_all(modifier_set mask, Modifier... flag) -> bool - { - return (true && ... && (mask & flag)); - } - - template... Modifier> - constexpr auto has_any(modifier_set mask, Modifier... flag) -> bool - { - return (false || ... || (mask & flag)); - } - - struct character_event - { - char value{}; - }; - - struct control_event - { - control_key key{}; - }; - - struct navigation_event - { - navigation_key key{}; - modifier_set modifiers{}; - }; - - struct ctrl_chord_event - { - char key{}; - }; - - using input_event = std::variant; -} // namespace ttwhy::scanners -- cgit v1.2.3