19 #ifndef MIR_INPUT_KEY_REPEAT_DISPATCHER_H_ 20 #define MIR_INPUT_KEY_REPEAT_DISPATCHER_H_ 29 #include <unordered_map> 49 std::shared_ptr<time::AlarmFactory>
const& factory,
50 std::shared_ptr<cookie::Authority>
const& cookie_authority,
52 std::chrono::milliseconds repeat_timeout,
53 std::chrono::milliseconds repeat_delay,
54 bool disable_repeat_on_touchscreen);
57 bool dispatch(
MirEvent const& event)
override;
58 void start()
override;
61 void set_input_device_hub(std::shared_ptr<InputDeviceHub>
const& hub);
66 std::mutex repeat_state_mutex;
68 std::shared_ptr<InputDispatcher>
const next_dispatcher;
69 std::shared_ptr<time::AlarmFactory>
const alarm_factory;
70 std::shared_ptr<cookie::Authority>
const cookie_authority;
71 bool const repeat_enabled;
72 std::chrono::milliseconds repeat_timeout;
73 std::chrono::milliseconds repeat_delay;
74 bool const disable_repeat_on_touchscreen;
79 std::unordered_map<int, std::shared_ptr<mir::time::Alarm>> repeat_alarms_by_scancode;
81 std::unordered_map<MirInputDeviceId, KeyboardState> repeat_state_by_device;
82 KeyboardState& ensure_state_for_device_locked(std::lock_guard<std::mutex>
const&,
MirInputDeviceId id);
90 #endif // MIR_INPUT_KEY_REPEAT_DISPATCHER_H_ All things Mir.
Definition: atomic_callback.h:25
Definition: keyboard_event.h:28
std::promise< bool > stop
Definition: in.cpp:28