25 #include "util/Compiler.h" 36 #define MAX_COMMAND_KEYS 3 39 std::array<int, MAX_COMMAND_KEYS>
keys;
47 return std::find(keys.begin(), keys.end(), key) != keys.end();
52 return std::distance(keys.begin(),
53 std::find(keys.begin(), keys.end(), 0));
56 void SetKey(
const std::array<int, MAX_COMMAND_KEYS> &_keys) {
76 const char *GetKeyNames(
Command command,
bool all)
const;
79 const std::array<int, MAX_COMMAND_KEYS> &
keys) {
80 auto &b = key_bindings[size_t(command)];
88 bool Check(
char *buf,
size_t size)
const;
98 #define KEYDEF_WRITE_HEADER 0x01 99 #define KEYDEF_WRITE_ALL 0x02 100 #define KEYDEF_COMMENT_ALL 0x04 Command
Definition: Command.hxx:29
std::array< KeyBinding, size_t(Command::NONE)> key_bindings
Definition: Bindings.hxx:70
Definition: Bindings.hxx:38
Definition: Bindings.hxx:69
void SetKey(Command command, const std::array< int, MAX_COMMAND_KEYS > &keys)
Definition: Bindings.hxx:78
Definition: Command.hxx:133
void WriteToFile(FILE *f, const command_definition_t &cmd, bool comment) const
void SetKey(const std::array< int, MAX_COMMAND_KEYS > &_keys)
Definition: Bindings.hxx:56
std::array< int, MAX_COMMAND_KEYS > keys
Definition: Bindings.hxx:39
gcc_pure bool HasKey(int key) const
Definition: Bindings.hxx:46
gcc_pure size_t GetKeyCount() const
Definition: Bindings.hxx:51
bool modified
Definition: Bindings.hxx:42