enum evdev_device_tags {
EVDEV_TAG_EXTERNAL_MOUSE = (1 << 0),
EVDEV_TAG_INTERNAL_TOUCHPAD = (1 << 1),
+ EVDEV_TAG_TRACKPOINT = (1 << 2),
};
struct mt_slot {
enum evdev_device_tags tags;
int is_mt;
+ int suspended;
struct {
struct motion_filter *filter;
void (*device_removed)(struct evdev_device *device,
struct evdev_device *removed_device);
+ /* A device was suspended */
+ void (*device_suspended)(struct evdev_device *device,
+ struct evdev_device *suspended_device);
+
+ /* A device was resumed */
+ void (*device_resumed)(struct evdev_device *device,
+ struct evdev_device *resumed_device);
+
/* Tag device with one of EVDEV_TAG */
void (*tag_device)(struct evdev_device *device,
struct udev_device *udev_device);
evdev_mt_touchpad_create(struct evdev_device *device);
void
-evdev_device_proces_event(struct libinput_event *event);
-
-void
evdev_device_led_update(struct evdev_device *device, enum libinput_led leds);
int
evdev_device_resume(struct evdev_device *device);
void
+evdev_notify_suspended_device(struct evdev_device *device);
+
+void
+evdev_notify_resumed_device(struct evdev_device *device);
+
+void
evdev_keyboard_notify_key(struct evdev_device *device,
uint32_t time,
int key,