diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-06-18 15:33:43 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-06-18 15:33:43 +0200 |
| commit | c6262346b45b6c84fd1a009f21465d3af1b63593 (patch) | |
| tree | 5e42bdd85b4cf0a4eb0d7994320569732d663d07 /ttwhy | |
| parent | 4a365d974b17f71914909df8fe532edc929f3cad (diff) | |
| download | ttwhy-c6262346b45b6c84fd1a009f21465d3af1b63593.tar.xz ttwhy-c6262346b45b6c84fd1a009f21465d3af1b63593.zip | |
lib: prepare for state machine
Diffstat (limited to 'ttwhy')
| -rw-r--r-- | ttwhy/event.cppm | 48 | ||||
| -rw-r--r-- | ttwhy/lib.cppm | 1 |
2 files changed, 49 insertions, 0 deletions
diff --git a/ttwhy/event.cppm b/ttwhy/event.cppm new file mode 100644 index 0000000..3a81bff --- /dev/null +++ b/ttwhy/event.cppm @@ -0,0 +1,48 @@ +module; + +#include <variant> + +export module ttwhy:event; + +namespace ttwhy +{ + export enum class control_key + { + del, + enter, + escape, + tab, + backspace, + }; + + export enum class navigation_key + { + up, + down, + left, + right, + home, + end, + delete_key, + insert_key, + page_up, + page_down, + }; + + export struct character_event + { + char value; + }; + + export struct control_event + { + control_key key; + }; + + export struct navigation_event + { + navigation_key key; + }; + + export using input_event = std::variant<character_event, control_event, navigation_event>; +} // namespace ttwhy diff --git a/ttwhy/lib.cppm b/ttwhy/lib.cppm index 14e0d5c..b7766bd 100644 --- a/ttwhy/lib.cppm +++ b/ttwhy/lib.cppm @@ -1,4 +1,5 @@ export module ttwhy; +export import :event; export import :io; export import :scoped_attributes; |
