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

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

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

struct keymap *find_keymap_by_name(struct device *dev, const char *name);

int keymaps_load(struct device *device);

void keymap_free(struct keymap *keymap);

#endif