aboutsummaryrefslogtreecommitdiff
path: root/ttwhy/scanners/events.cppm
blob: 3e2f4f02481d1bc1098ed815d868e4500734c32e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
module;

#include <variant>

export module ttwhy.scanners:events;

namespace ttwhy::scanners
{
  export enum class control_key
  {
    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::scanners