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

struct keycode {
	unsigned protocol;
	uint64_t scancode;
	struct linux_input_keycode *lik;
};

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);

int keymap_write(struct keymap *keymap);

void keymap_free(struct keymap *keymap);

#endif