aboutsummaryrefslogtreecommitdiff
path: root/ttwhy/event.cppm
blob: 3a81bffa8d87d6dd69330e528230aad35943ad49 (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
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