19 #ifndef MIR_INPUT_EVDEV_PLATFORM_H_ 20 #define MIR_INPUT_EVDEV_PLATFORM_H_ 29 struct libinput_device_group;
30 struct libinput_device;
42 class MultiplexingDispatchable;
47 class InputDeviceRegistry;
51 struct MonitorDispatchable;
57 Platform(std::shared_ptr<InputDeviceRegistry>
const& registry,
58 std::shared_ptr<InputReport>
const& report,
59 std::unique_ptr<udev::Context>&& udev_context);
60 std::shared_ptr<mir::dispatch::Dispatchable> dispatchable()
override;
61 void start()
override;
65 void scan_for_devices();
66 void device_added(libinput_device* dev);
67 void device_removed(libinput_device* dev);
68 void process_input_events();
70 std::shared_ptr<LibInputDevice> create_device(
udev::Device const& dev)
const;
72 std::shared_ptr<InputReport>
const report;
73 std::shared_ptr<udev::Context>
const udev_context;
74 std::shared_ptr<InputDeviceRegistry>
const input_device_registry;
75 std::shared_ptr<dispatch::MultiplexingDispatchable>
const platform_dispatchable;
76 std::shared_ptr<::libinput> lib;
77 std::shared_ptr<dispatch::ReadableFd> libinput_dispatchable;
79 std::vector<std::shared_ptr<LibInputDevice>> devices;
80 auto find_device(libinput_device_group
const* group) -> decltype(devices)::iterator;
All things Mir.
Definition: atomic_callback.h:25
std::promise< bool > stop
Definition: in.cpp:28