summaryrefslogtreecommitdiff
path: root/rcm-server-keymap.h
blob: 03badb1f2fef37f48b3a12cca415f3ec6b33ba80 (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
#ifndef foorcmserverkeymaphfoo
#define foorcmserverkeymaphfoo

struct keycode {
	char *protocol;
	uint64_t scancode;
	char *keycode;
};

struct keymap {
	char *id;
	char *name;
	char *description;
	uint16_t rows;
	uint16_t cols;
	struct list_head list;
	struct keycode **layout;
	unsigned keycode_count;
	struct keycode keycodes[];
};

struct keymap *find_keymap_by_id(struct device *dev, const char *id);

int keymaps_load(struct device *device);

void keymap_free(struct keymap *keymap);

#endif