3#ifndef GAME_CLIENT_COMPONENTS_BINDS_H
4#define GAME_CLIENT_COMPONENTS_BINDS_H
17 inline constexpr int32_t
NONE = 0;
18 inline constexpr int32_t
CTRL = 1;
19 inline constexpr int32_t
ALT = 2;
20 inline constexpr int32_t
SHIFT = 3;
21 inline constexpr int32_t
GUI = 4;
22 inline constexpr int32_t
COUNT = 5;
61 int Sizeof()
const override {
return sizeof(*this); }
67 int Sizeof()
const override {
return sizeof(*this); }
75 void Bind(
int KeyId,
const char *pStr,
bool FreeOnly =
false,
int ModifierCombination =
KeyModifier::NONE);
78 const char *
Get(
int KeyId,
int ModifierCombination)
const;
80 void GetKey(
const char *pBindStr,
char *pBuf,
size_t BufSize)
const;
84 void GetKeyBindName(
int Key,
int ModifierMask,
char *pBuf,
size_t BufSize)
const;
constexpr CBindSlot EMPTY_BIND_SLOT
Definition binds.h:42
constexpr bool operator==(const CBindSlot &Other) const
Definition binds.h:38
constexpr bool operator!=(const CBindSlot &Other) const
Definition binds.h:39
int m_Key
Definition binds.h:29
constexpr CBindSlot(int Key, int ModifierMask)
Definition binds.h:32
int m_ModifierMask
Definition binds.h:30
int Sizeof() const override
Definition binds.h:67
bool OnInput(const IInput::CEvent &Event) override
Definition binds.cpp:18
CBinds * m_pBinds
Definition binds.h:66
CBindSlot GetBindSlot(const char *pBindString) const
Definition binds.cpp:405
bool m_MouseOnAction
Definition binds.h:71
~CBinds() override
Definition binds.cpp:40
void Bind(int KeyId, const char *pStr, bool FreeOnly=false, int ModifierCombination=KeyModifier::NONE)
Definition binds.cpp:45
static void ConfigSaveCallback(IConfigManager *pConfigManager, void *pUserData)
Definition binds.cpp:478
bool OnInput(const IInput::CEvent &Event) override
Definition binds.cpp:116
static int GetModifierMask(IInput *pInput)
Definition binds.cpp:71
static const char * GetModifierName(int Modifier)
Definition binds.cpp:432
void OnConsoleInit() override
Definition binds.cpp:312
static void ConUnbindAll(IConsole::IResult *pResult, void *pUserData)
Definition binds.cpp:399
int Sizeof() const override
Definition binds.h:61
void SetDefaults()
Definition binds.cpp:265
static void ConBind(IConsole::IResult *pResult, void *pUserData)
Definition binds.cpp:324
const char * Get(int KeyId, int ModifierCombination) const
Definition binds.cpp:233
void GetKeyBindName(int Key, int ModifierMask, char *pBuf, size_t BufSize) const
Definition binds.cpp:449
char * m_aapKeyBindings[KeyModifier::COMBINATION_COUNT][KEY_LAST]
Definition binds.h:94
void UnbindAll()
Definition binds.cpp:221
void GetKey(const char *pBindStr, char *pBuf, size_t BufSize) const
Definition binds.cpp:245
char * GetKeyBindCommand(int ModifierCombination, int Key) const
Definition binds.cpp:463
static int GetModifierMaskOfKey(int Key)
Definition binds.cpp:95
CBindsSpecial m_SpecialBinds
Definition binds.h:73
void SetDDRaceBinds(bool FreeOnly)
Definition binds.cpp:498
static void ConBinds(IConsole::IResult *pResult, void *pUserData)
Definition binds.cpp:345
static void ConUnbind(IConsole::IResult *pResult, void *pUserData)
Definition binds.cpp:384
CBinds()
Definition binds.cpp:34
std::vector< CBindSlot > m_vActiveBinds
Definition binds.h:95
Definition component.h:165
@ KEY_LAST
Definition keys.h:336
@ KEY_UNKNOWN
Definition keys.h:14
constexpr int32_t GUI
Definition binds.h:21
constexpr int32_t NONE
Definition binds.h:17
constexpr int32_t CTRL
Definition binds.h:18
constexpr int32_t COUNT
Definition binds.h:22
constexpr int32_t SHIFT
Definition binds.h:20
constexpr int32_t ALT
Definition binds.h:19
constexpr int32_t COMBINATION_COUNT
Definition binds.h:23