19 #ifndef MIR_INPUT_KEY_REPEAT_DISPATCHER_H_
20 #define MIR_INPUT_KEY_REPEAT_DISPATCHER_H_
27 #include <unordered_map>
43 std::shared_ptr<time::AlarmFactory>
const& factory,
45 std::chrono::milliseconds repeat_timeout,
46 std::chrono::milliseconds repeat_delay );
50 void start()
override;
54 std::mutex repeat_state_mutex;
56 std::shared_ptr<InputDispatcher>
const next_dispatcher;
57 std::shared_ptr<time::AlarmFactory>
const alarm_factory;
58 bool const repeat_enabled;
59 std::chrono::milliseconds repeat_timeout;
60 std::chrono::milliseconds repeat_delay;
64 std::unordered_map<int, std::shared_ptr<mir::time::Alarm>> repeat_alarms_by_scancode;
66 std::unordered_map<MirInputDeviceId, KeyboardState> repeat_state_by_device;
67 KeyboardState& ensure_state_for_device_locked(std::lock_guard<std::mutex>
const&,
MirInputDeviceId id);
75 #endif // MIR_INPUT_KEY_REPEAT_DISPATCHER_H_
All things Mir.
Definition: atomic_callback.h:25
Definition: event_private.h:178