--- /dev/null
+#ifndef MT_KEYS_H
+#define MT_KEYS_H
+
+#include <ev.h>
+
+typedef struct mt_keys_dev_t {
+ char chip[16];
+ unsigned int offset;
+} mt_keys_dev_t;
+
+#define DEV "/dev/gpiochip"
+#define ADV_GPIO_PINS \
+{ \
+ {DEV "0", 27}, \
+ {DEV "0", 29}, \
+ {DEV "0", 25}, \
+ {DEV "0", 30}, \
+ {DEV "5", 31}, \
+ {DEV "2", 30}, \
+ {DEV "2", 31}, \
+ {DEV "2", 21}, \
+ {DEV "4", 2}, \
+ {DEV "2", 20}, \
+ {DEV "2", 23}, \
+ {DEV "5", 11}, \
+ {DEV "1", 2}, \
+ {DEV "5", 9}, \
+ {DEV "1", 3}, \
+ {DEV "5", 16}, \
+ {DEV "5", 7}, \
+ {DEV "1", 4}, \
+ {DEV "1", 0}, \
+ {DEV "5", 8} \
+}
+
+typedef struct ev_io_keys {
+ ev_io w;
+ int fd;
+} ev_io_keys;
+
+typedef struct mt_keys_t {
+ ev_io_keys w;
+ int fd;
+} mt_keys_t;
+
+int mt_keys_init(mt_keys_t *self, struct ev_loop *loop, int fd);
+
+void mt_keys_deinit(mt_keys_t *self);
+
+#endif