aboutsummaryrefslogtreecommitdiffstats
path: root/dome_key_map.h
blob: dd61a38f75a7f976b5869a413c84988abe6eee6a (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
/* Test */

/* Generated with cbindgen:0.6.2 */

#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>

typedef enum {
  ActionKind_Map,
  ActionKind_Command,
  ActionKind_Mode,
} ActionKind;

typedef enum {
  HeadphoneButton_Play,
  HeadphoneButton_Up,
  HeadphoneButton_Down,
} HeadphoneButton;

typedef enum {
  MapKind_Map,
  MapKind_Command,
} MapKind;

typedef struct State State;

typedef struct {
  const HeadphoneButton *buttons;
  size_t length;
} Trigger;

typedef struct {
  const char *action;
  const ActionKind *kind;
  const Trigger *in_mode;
} CKeyActionResult;

const CKeyActionResult *c_run_key_action(State *state, Trigger trigger, const Trigger *mode);

void logger_init(void);

void state_free(State *ptr);

void state_load_map_group(State *ptr);

State *state_new(void);