aboutsummaryrefslogtreecommitdiffstats
path: root/dome_key_map.h
blob: 633e9b30a2cf23238bcf70eb3ce40294ee2f7a80 (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
/* 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(Trigger trigger, const Trigger *mode);

void state_free(State *ptr);

State *state_new(void);