22#ifndef COMMON_KEYMAPPER_H
23#define COMMON_KEYMAPPER_H
25#include "common/scummsys.h"
27#include "backends/keymapper/keymap.h"
29#include "common/array.h"
30#include "common/config-manager.h"
31#include "common/events.h"
35const char *
const kGuiKeymapName =
"gui";
36const char *
const kGlobalKeymapName =
"global";
39class DelayedEventSource;
41class HardwareInputSet;
42class KeymapperDefaultBindings;
120 Keymap::KeymapType enabledKeymapType()
const {
return _enabledKeymapType; }
143 void reloadKeymapMappings(
Keymap *keymap);
151 enum IncomingEventType {
152 kIncomingEventIgnored,
155 kIncomingEventInstant
159 kJoyAxisPressedTreshold = Common::JOYAXIS_MAX / 2,
160 kJoyAxisUnpressedTreshold = Common::JOYAXIS_MAX / 4
164 Keymap::KeymapType _enabledKeymapType;
166 KeymapArray _keymaps;
168 bool _joystickAxisPreviouslyPressed[8];
170 Keymap::KeymapMatch getMappedActions(
const Event &event, Keymap::ActionArray &actions, Keymap::KeymapType keymapType)
const;
171 Event executeAction(
const Action *act,
const Event &incomingEvent);
173 IncomingEventType convertToIncomingEventType(
const Event &ev)
const;
175 void hardcodedEventMapping(Event ev);
176 void resetInputState();
185 _keymapper(keymapper) {
187 _previousKeymapType = keymapper->enabledKeymapType();
197 Keymap::KeymapType _previousKeymapType;
212 struct DelayedEventsEntry {
213 const uint32 timerOffset;
215 DelayedEventsEntry(
const uint32 offset,
const Event ev) : timerOffset(offset), event(ev) { }
218 Queue<DelayedEventsEntry> _delayedEvents;
219 uint32 _delayedEffectiveTime;
Definition: config-manager.h:59
Definition: keymapper.h:200
bool pollEvent(Event &event) override
void scheduleEvent(const Event &ev, uint32 delayMillis)
bool allowMapping() const override
Definition: keymapper.h:182
Definition: keymapper-defaults.h:32
Definition: keymapper.h:44
void cleanupGameKeymaps()
void disableAllGameKeymaps()
bool mapEvent(const Event &ev, List< Event > &mappedEvents) override
Keymap * getKeymap(const String &id) const
bool isEnabled() const
Definition: keymapper.h:130
void registerHardwareInputSet(HardwareInputSet *inputs, KeymapperDefaultBindings *backendDefaultBindings)
void addGameKeymap(Keymap *keymap)
void setGameKeymapState(const String &id, bool enable)
void setEnabledKeymapType(Keymap::KeymapType type)
void setEnabled(bool enabled)
Definition: keymapper.h:125
HardwareInput findHardwareInput(const Event &event)
void addGlobalKeymap(Keymap *keymap)
const KeymapArray & getKeymaps() const
Definition: keymapper.h:107
EventType
Definition: events.h:49
Definition: algorithm.h:29