void CKeyBindings::LoadDefaults() { SetFakeMetaKey("space"); for (const auto& b: defaultBindings) { Bind(b.key, b.action); } }
void CKeyBindings::LoadDefaults() { SetFakeMetaKey("space"); const int count = sizeof(defaultBindings) / sizeof(defaultBindings[0]); for (int i = 0; i < count; ++i) { Bind(defaultBindings[i].key, defaultBindings[i].action); } }
bool CKeyBindings::Command(const string& line) { const vector<string> words = SimpleParser::Tokenize(line, 2); if (words.size() <= 0) { return false; } const string command = StringToLower(words[0]); if (command == "keydebug") { if (words.size() == 1) { debug = (debug <= 0) ? 1 : 0; } else if (words.size() >= 2) { debug = atoi(words[1].c_str()); } } else if ((command == "fakemeta") && (words.size() > 1)) { if (!SetFakeMetaKey(words[1])) { return false; } } else if ((command == "keyset") && (words.size() > 2)) { if (!AddNamedKeySet(words[1], words[2])) { return false; } } else if ((command == "keysym") && (words.size() > 2)) { if (!AddKeySymbol(words[1], words[2])) { return false; } } else if ((command == "bind") && (words.size() > 2)) { if (!Bind(words[1], words[2])) { return false; } } else if ((command == "unbind") && (words.size() > 2)) { if (!UnBind(words[1], words[2])) { return false; } } else if ((command == "unbindaction") && (words.size() > 1)) { if (!UnBindAction(words[1])) { return false; } } else if ((command == "unbindkeyset") && (words.size() > 1)) { if (!UnBindKeyset(words[1])) { return false; } } else if (command == "unbindall") { bindings.clear(); keyCodes->Reset(); namedKeySets.clear(); typeBindings.clear(); Bind("enter", "chat"); // bare minimum } else { return false; } if (userCommand) { Sanitize(); } return false; }
bool CKeyBindings::ExecuteCommand(const std::string& line) { const std::vector<std::string> words = CSimpleParser::Tokenize(line, 2); if (words.empty()) { return false; } const std::string command = StringToLower(words[0]); if (command == "keydebug") { if (words.size() == 1) { // toggle debugEnabled = !debugEnabled; } else if (words.size() >= 2) { // set debugEnabled = atoi(words[1].c_str()); } } else if ((command == "fakemeta") && (words.size() > 1)) { if (!SetFakeMetaKey(words[1])) { return false; } } else if ((command == "keysym") && (words.size() > 2)) { if (!AddKeySymbol(words[1], words[2])) { return false; } } else if ((command == "bind") && (words.size() > 2)) { if (!Bind(words[1], words[2])) { return false; } } else if ((command == "unbind") && (words.size() > 2)) { if (!UnBind(words[1], words[2])) { return false; } } else if ((command == "unbindaction") && (words.size() > 1)) { if (!UnBindAction(words[1])) { return false; } } else if ((command == "unbindkeyset") && (words.size() > 1)) { if (!UnBindKeyset(words[1])) { return false; } } else if (command == "unbindall") { bindings.clear(); keyCodes->Reset(); Bind("enter", "chat"); // bare minimum } else { return false; } if (buildHotkeyMap) { BuildHotkeyMap(); } return false; }
bool CKeyBindings::ExecuteCommand(const string& line) { const vector<string> words = CSimpleParser::Tokenize(line, 2); if (words.empty()) { return false; } const string command = StringToLower(words[0]); if (command == "keydebug") { const int curLogLevel = log_filter_section_getMinLevel(LOG_SECTION_KEY_BINDINGS); bool debug = (curLogLevel == LOG_LEVEL_DEBUG); if (words.size() == 1) { // toggle debug = !debug; } else if (words.size() >= 2) { // set debug = atoi(words[1].c_str()); } if (debug && !LOG_IS_ENABLED_STATIC(L_DEBUG)) { LOG_L(L_WARNING, "You have to run a DEBUG build to be able to log L_DEBUG messages"); } log_filter_section_setMinLevel(LOG_SECTION_KEY_BINDINGS, (debug ? LOG_LEVEL_DEBUG : LOG_LEVEL_INFO)); } else if ((command == "fakemeta") && (words.size() > 1)) { if (!SetFakeMetaKey(words[1])) { return false; } } else if ((command == "keyset") && (words.size() > 2)) { if (!AddNamedKeySet(words[1], words[2])) { return false; } } else if ((command == "keysym") && (words.size() > 2)) { if (!AddKeySymbol(words[1], words[2])) { return false; } } else if ((command == "bind") && (words.size() > 2)) { if (!Bind(words[1], words[2])) { return false; } } else if ((command == "unbind") && (words.size() > 2)) { if (!UnBind(words[1], words[2])) { return false; } } else if ((command == "unbindaction") && (words.size() > 1)) { if (!UnBindAction(words[1])) { return false; } } else if ((command == "unbindkeyset") && (words.size() > 1)) { if (!UnBindKeyset(words[1])) { return false; } } else if (command == "unbindall") { bindings.clear(); keyCodes->Reset(); namedKeySets.clear(); typeBindings.clear(); Bind("enter", "chat"); // bare minimum } else { return false; } if (userCommand) { Sanitize(); } return false; }