summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game.cpp19
-rw-r--r--src/gui/setup_input.cpp2
-rw-r--r--src/gui/viewport.cpp3
-rw-r--r--src/inputmanager.cpp30
-rw-r--r--src/keyboarddata.h632
-rw-r--r--src/keydata.h7
6 files changed, 503 insertions, 190 deletions
diff --git a/src/game.cpp b/src/game.cpp
index 7e514c3fd..b05cd6d28 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -805,7 +805,7 @@ void Game::handleMoveAndAttack()
Being *target = nullptr;
bool newTarget = !inputManager.isActionActive(
- Input::KEY_TARGET);
+ Input::KEY_STOP_ATTACK);
// A set target has highest priority
if (!player_node->getTarget())
{
@@ -829,7 +829,7 @@ void Game::handleMoveAndAttack()
inputManager.isActionActive(Input::KEY_TARGET_CLOSEST) ||
inputManager.isActionActive(Input::KEY_TARGET_NPC) ||
(joystick && joystick->buttonPressed(3))) &&
- !inputManager.isActionActive(Input::KEY_TARGET) &&
+ !inputManager.isActionActive(Input::KEY_STOP_ATTACK) &&
!inputManager.isActionActive(Input::KEY_UNTARGET))
{
ActorSprite::Type currentTarget = ActorSprite::UNKNOWN;
@@ -867,23 +867,10 @@ void Game::handleMoveAndAttack()
if (!inputManager.isActionActive(Input::KEY_ATTACK)
&& !inputManager.isActionActive(Input::KEY_EMOTE))
{
- if (inputManager.isActionActive(Input::KEY_TARGET)
- || (joystick && joystick->buttonPressed(4)))
- {
+ if (inputManager.isActionActive(Input::KEY_STOP_ATTACK))
player_node->stopAttack();
- }
else if (inputManager.isActionActive(Input::KEY_UNTARGET))
- {
player_node->untarget();
- }
- }
-
- if (joystick)
- {
- if (joystick->buttonPressed(1))
- player_node->pickUpItems();
- else if (joystick->buttonPressed(2))
- player_node->toggleSit();
}
}
}
diff --git a/src/gui/setup_input.cpp b/src/gui/setup_input.cpp
index cdcae13c4..f4d2f51e1 100644
--- a/src/gui/setup_input.cpp
+++ b/src/gui/setup_input.cpp
@@ -104,7 +104,7 @@ static SetupActionData const setupActionData[] =
},
{
N_("Stop Attack"),
- Input::KEY_TARGET
+ Input::KEY_STOP_ATTACK
},
{
N_("Untarget"),
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp
index 59b7377f4..3b58e03a9 100644
--- a/src/gui/viewport.cpp
+++ b/src/gui/viewport.cpp
@@ -511,7 +511,8 @@ void Viewport::mousePressed(gcn::MouseEvent &event)
if (player_node != mHoverBeing)
{
player_node->attack(mHoverBeing,
- !inputManager.isActionActive(Input::KEY_TARGET));
+ !inputManager.isActionActive(
+ Input::KEY_STOP_ATTACK));
return;
}
}
diff --git a/src/inputmanager.cpp b/src/inputmanager.cpp
index 181ba6490..12993c0cb 100644
--- a/src/inputmanager.cpp
+++ b/src/inputmanager.cpp
@@ -94,8 +94,10 @@ void InputManager::retrieve()
if (*keyData[i].configField)
{
KeyFunction &kf = mKey[i];
- std::string keyStr = config.getValue(keyData[i].configField,
- toString(keyData[i].defaultValue));
+ std::string keyStr = config.getValue(keyData[i].configField, "");
+ if (keyStr.empty())
+ continue;
+
StringVect keys;
splitToStringVector(keys, keyStr, ',');
StringVectCIter it = keys.begin();
@@ -185,13 +187,16 @@ void InputManager::makeDefault()
{
for (int i = 0; i < Input::KEY_TOTAL; i++)
{
+ KeyFunction &key = mKey[i];
for (size_t i2 = 1; i2 < KeyFunctionSize; i2 ++)
{
- mKey[i].values[i2].type = INPUT_UNKNOWN;
- mKey[i].values[i2].value = -1;
+ key.values[i2].type = INPUT_UNKNOWN;
+ key.values[i2].value = -1;
}
- mKey[i].values[0].type = INPUT_KEYBOARD;
- mKey[i].values[0].value = keyData[i].defaultValue;
+ key.values[0].type = keyData[i].defaultType1;
+ key.values[0].value = keyData[i].defaultValue1;
+ key.values[1].type = keyData[i].defaultType2;
+ key.values[1].value = keyData[i].defaultValue2;
}
}
@@ -280,7 +285,7 @@ std::string InputManager::getKeyStringLong(int index) const
else if (key.type == INPUT_JOYSTICK)
{
// TRANSLATORS: this is long joystick button name
- str = strprintf(_("Button%d"), key.value + 1);
+ str = strprintf(_("JButton%d"), key.value + 1);
}
if (!str.empty())
{
@@ -319,7 +324,7 @@ std::string InputManager::getKeyValueString(int index) const
else if (key.type == INPUT_JOYSTICK)
{
// TRANSLATORS: this is short joystick button name
- str = strprintf(_("But%d"), key.value + 1);
+ str = strprintf(_("JB%d"), key.value + 1);
}
if (!str.empty())
{
@@ -526,7 +531,7 @@ int InputManager::getInputConditionMask()
if (!player_node || !player_node->getDisableGameModifiers())
mask += COND_EMODS;
- if (!isActionActive(Input::KEY_TARGET)
+ if (!isActionActive(Input::KEY_STOP_ATTACK)
&& !isActionActive(Input::KEY_UNTARGET))
{
mask += COND_NOTARGET;
@@ -566,8 +571,9 @@ void InputManager::updateKeyActionMap(KeyToActionMap &actionMap, int type)
KeyFunction &key = mKey[i];
for (size_t i2 = 0; i2 < KeyFunctionSize; i2 ++)
{
- if (key.values[i2].type == type)
- actionMap[key.values[i2].value].push_back(i);
+ const KeyItem &ki = key.values[i2];
+ if (ki.type == type && ki.value != -1)
+ actionMap[ki.value].push_back(i);
}
}
}
@@ -578,7 +584,7 @@ void InputManager::updateKeyActionMap(KeyToActionMap &actionMap, int type)
for (; it != it_end; ++ it)
{
KeysVector *keys = &it->second;
- if (keys->size() > 1)
+ if (keys && keys->size() > 1)
sort(keys->begin(), keys->end(), keySorter);
}
}
diff --git a/src/keyboarddata.h b/src/keyboarddata.h
index 0b7a0932e..5ea1daba3 100644
--- a/src/keyboarddata.h
+++ b/src/keyboarddata.h
@@ -35,792 +35,1108 @@
// keyData must be in same order as enum keyAction.
static KeyData const keyData[Input::KEY_TOTAL] = {
- {"keyMoveUp", SDLK_UP,
+ {"keyMoveUp",
+ INPUT_KEYBOARD, SDLK_UP,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::moveUp,
Input::KEY_NO_VALUE, 50,
COND_GAME2},
- {"keyMoveDown", SDLK_DOWN,
+ {"keyMoveDown",
+ INPUT_KEYBOARD, SDLK_DOWN,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::moveDown,
Input::KEY_NO_VALUE, 50,
COND_GAME2},
- {"keyMoveLeft", SDLK_LEFT,
+ {"keyMoveLeft",
+ INPUT_KEYBOARD, SDLK_LEFT,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::moveLeft,
Input::KEY_NO_VALUE, 50,
COND_GAME},
- {"keyMoveRight", SDLK_RIGHT,
+ {"keyMoveRight",
+ INPUT_KEYBOARD, SDLK_RIGHT,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::moveRight,
Input::KEY_NO_VALUE, 50,
COND_GAME},
- {"keyAttack", SDLK_LCTRL,
+ {"keyAttack",
+ INPUT_KEYBOARD, SDLK_LCTRL,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyTargetAttack", SDLK_x,
+ {"keyTargetAttack",
+ INPUT_KEYBOARD, SDLK_x,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyMoveToTarget", SDLK_v,
+ {"keyMoveToTarget",
+ INPUT_KEYBOARD, SDLK_v,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::moveToTarget,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyChangeMoveToTarget", SDLK_PERIOD,
+ {"keyChangeMoveToTarget",
+ INPUT_KEYBOARD, SDLK_PERIOD,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeMoveToTarget,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyMoveToHome", SDLK_d,
+ {"keyMoveToHome",
+ INPUT_KEYBOARD, SDLK_d,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::moveToHome,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keySetHome", SDLK_KP5,
+ {"keySetHome",
+ INPUT_KEYBOARD, SDLK_KP5,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::setHome,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyMoveToPoint", SDLK_RSHIFT,
+ {"keyMoveToPoint",
+ INPUT_KEYBOARD, SDLK_RSHIFT,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyTalk", SDLK_t,
+ {"keyTalk",
+ INPUT_KEYBOARD, SDLK_t,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::talk,
Input::KEY_NO_VALUE, 50,
COND_GAME},
- {"keyTarget", SDLK_LSHIFT,
+ {"keyTarget",
+ INPUT_KEYBOARD, SDLK_LSHIFT,
+ INPUT_JOYSTICK, 4,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_GAME},
- {"keyUnTarget", Input::KEY_NO_VALUE,
+ {"keyUnTarget",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyTargetClosest", SDLK_a,
+ {"keyTargetClosest",
+ INPUT_KEYBOARD, SDLK_a,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyTargetNPC", SDLK_n,
+ {"keyTargetNPC",
+ INPUT_KEYBOARD, SDLK_n,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyTargetPlayer", SDLK_q,
+ {"keyTargetPlayer",
+ INPUT_KEYBOARD, SDLK_q,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyPickup", SDLK_z,
+ {"keyPickup",
+ INPUT_KEYBOARD, SDLK_z,
+ INPUT_JOYSTICK, 1,
Input::GRP_DEFAULT,
&ActionManager::pickup,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyChangePickupType", SDLK_o,
+ {"keyChangePickupType",
+ INPUT_KEYBOARD, SDLK_o,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changePickupType,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyHideWindows", SDLK_h,
+ {"keyHideWindows",
+ INPUT_KEYBOARD, SDLK_h,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::hideWindows,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyBeingSit", SDLK_s,
+ {"keyBeingSit",
+ INPUT_KEYBOARD, SDLK_s,
+ INPUT_JOYSTICK, 2,
Input::GRP_DEFAULT,
&ActionManager::sit,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyScreenshot", SDLK_p,
+ {"keyScreenshot",
+ INPUT_KEYBOARD, SDLK_p,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::screenshot,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyTrade", SDLK_r,
+ {"keyTrade",
+ INPUT_KEYBOARD, SDLK_r,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeTrade,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyPathfind", SDLK_f,
+ {"keyPathfind",
+ INPUT_KEYBOARD, SDLK_f,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeMapMode,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET | COND_EMODS},
- {"keyOK", SDLK_SPACE,
+ {"keyOK",
+ INPUT_KEYBOARD, SDLK_SPACE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::ok,
Input::KEY_NO_VALUE, 50,
COND_NOMODAL | COND_NOAWAY | COND_NONPCINPUT},
- {"keyQuit", SDLK_ESCAPE,
+ {"keyQuit",
+ INPUT_KEYBOARD, SDLK_ESCAPE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::quit,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyShortcutsKey", SDLK_MENU,
+ {"keyShortcutsKey",
+ INPUT_KEYBOARD, SDLK_MENU,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyShortcut1", SDLK_1,
+ {"keyShortcut1",
+ INPUT_KEYBOARD, SDLK_1,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut2", SDLK_2,
+ {"keyShortcut2",
+ INPUT_KEYBOARD, SDLK_2,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut3", SDLK_3,
+ {"keyShortcut3",
+ INPUT_KEYBOARD, SDLK_3,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut4", SDLK_4,
+ {"keyShortcut4",
+ INPUT_KEYBOARD, SDLK_4,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut5", SDLK_5,
+ {"keyShortcut5",
+ INPUT_KEYBOARD, SDLK_5,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut6", SDLK_6,
+ {"keyShortcut6",
+ INPUT_KEYBOARD, SDLK_6,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut7", SDLK_7,
+ {"keyShortcut7",
+ INPUT_KEYBOARD, SDLK_7,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut8", SDLK_8,
+ {"keyShortcut8",
+ INPUT_KEYBOARD, SDLK_8,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut9", SDLK_9,
+ {"keyShortcut9",
+ INPUT_KEYBOARD, SDLK_9,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut10", SDLK_0,
+ {"keyShortcut10",
+ INPUT_KEYBOARD, SDLK_0,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut11", SDLK_MINUS,
+ {"keyShortcut11",
+ INPUT_KEYBOARD, SDLK_MINUS,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut12", SDLK_EQUALS,
+ {"keyShortcut12",
+ INPUT_KEYBOARD, SDLK_EQUALS,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut13", SDLK_BACKSPACE,
+ {"keyShortcut13",
+ INPUT_KEYBOARD, SDLK_BACKSPACE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut14", SDLK_INSERT,
+ {"keyShortcut14",
+ INPUT_KEYBOARD, SDLK_INSERT,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut15", SDLK_HOME,
+ {"keyShortcut15",
+ INPUT_KEYBOARD, SDLK_HOME,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut16", Input::KEY_NO_VALUE,
+ {"keyShortcut16",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut17", Input::KEY_NO_VALUE,
+ {"keyShortcut17",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut18", Input::KEY_NO_VALUE,
+ {"keyShortcut18",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut19", Input::KEY_NO_VALUE,
+ {"keyShortcut19",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyShortcut20", Input::KEY_NO_VALUE,
+ {"keyShortcut20",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::shortcut,
Input::KEY_NO_VALUE, 50,
COND_SHORTCUT},
- {"keyWindowHelp", SDLK_F1,
+ {"keyWindowHelp",
+ INPUT_KEYBOARD, SDLK_F1,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::helpWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowStatus", SDLK_F2,
+ {"keyWindowStatus",
+ INPUT_KEYBOARD, SDLK_F2,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::statusWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowInventory", SDLK_F3,
+ {"keyWindowInventory",
+ INPUT_KEYBOARD, SDLK_F3,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::inventoryWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowEquipment", SDLK_F4,
+ {"keyWindowEquipment",
+ INPUT_KEYBOARD, SDLK_F4,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::equipmentWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowSkill", SDLK_F5,
+ {"keyWindowSkill",
+ INPUT_KEYBOARD, SDLK_F5,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::skillDialogShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowMinimap", SDLK_F6,
+ {"keyWindowMinimap",
+ INPUT_KEYBOARD, SDLK_F6,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::minimapWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowChat", SDLK_F7,
+ {"keyWindowChat",
+ INPUT_KEYBOARD, SDLK_F7,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::chatWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowShortcut", SDLK_F8,
+ {"keyWindowShortcut",
+ INPUT_KEYBOARD, SDLK_F8,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::shortcutWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowSetup", SDLK_F9,
+ {"keyWindowSetup",
+ INPUT_KEYBOARD, SDLK_F9,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::setupWindowShow,
Input::KEY_NO_VALUE, 50,
COND_NOTARGET | COND_NOINPUT | COND_ENABLED},
- {"keyWindowDebug", SDLK_F10,
+ {"keyWindowDebug",
+ INPUT_KEYBOARD, SDLK_F10,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::debugWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowSocial", SDLK_F11,
+ {"keyWindowSocial",
+ INPUT_KEYBOARD, SDLK_F11,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::socialWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowEmoteBar", SDLK_F12,
+ {"keyWindowEmoteBar",
+ INPUT_KEYBOARD, SDLK_F12,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::emoteShortcutWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowOutfit", SDLK_BACKQUOTE,
+ {"keyWindowOutfit",
+ INPUT_KEYBOARD, SDLK_BACKQUOTE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::outfitWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowShop", -1,
+ {"keyWindowShop",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::shopWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowDrop", SDLK_w,
+ {"keyWindowDrop",
+ INPUT_KEYBOARD, SDLK_w,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::dropShortcutWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowKills", SDLK_e,
+ {"keyWindowKills",
+ INPUT_KEYBOARD, SDLK_e,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::killStatsWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowSpells", SDLK_j,
+ {"keyWindowSpells",
+ INPUT_KEYBOARD, SDLK_j,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::spellShortcutWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowBotChecker", SDLK_LEFTBRACKET,
+ {"keyWindowBotChecker",
+ INPUT_KEYBOARD, SDLK_LEFTBRACKET,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::botcheckerWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowOnline", Input::KEY_NO_VALUE,
+ {"keyWindowOnline",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::whoIsOnlineWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keyWindowDidYouKnow", Input::KEY_NO_VALUE,
+ {"keyWindowDidYouKnow",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::didYouKnowWindowShow,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_NOTARGET},
- {"keySocialPrevTab", Input::KEY_NO_VALUE,
+ {"keySocialPrevTab",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::prevSocialTab,
Input::KEY_NO_VALUE, 50,
COND_NOINPUT},
- {"keySocialNextTab", Input::KEY_NO_VALUE,
+ {"keySocialNextTab",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::nextSocialTab,
Input::KEY_NO_VALUE, 50,
COND_NOINPUT},
- {"keySmilie", SDLK_LALT,
+ {"keySmilie",
+ INPUT_KEYBOARD, SDLK_LALT,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyEmoteShortcut1", SDLK_1,
+ {"keyEmoteShortcut1",
+ INPUT_KEYBOARD, SDLK_1,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut2", SDLK_2,
+ {"keyEmoteShortcut2",
+ INPUT_KEYBOARD, SDLK_2,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut3", SDLK_3,
+ {"keyEmoteShortcut3",
+ INPUT_KEYBOARD, SDLK_3,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut4", SDLK_4,
+ {"keyEmoteShortcut4",
+ INPUT_KEYBOARD, SDLK_4,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut5", SDLK_5,
+ {"keyEmoteShortcut5",
+ INPUT_KEYBOARD, SDLK_5,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut6", SDLK_6,
+ {"keyEmoteShortcut6",
+ INPUT_KEYBOARD, SDLK_6,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut7", SDLK_7,
+ {"keyEmoteShortcut7",
+ INPUT_KEYBOARD, SDLK_7,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut8", SDLK_8,
+ {"keyEmoteShortcut8",
+ INPUT_KEYBOARD, SDLK_8,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut9", SDLK_9,
+ {"keyEmoteShortcut9",
+ INPUT_KEYBOARD, SDLK_9,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut10", SDLK_0,
+ {"keyEmoteShortcut10",
+ INPUT_KEYBOARD, SDLK_0,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut11", SDLK_MINUS,
+ {"keyEmoteShortcut11",
+ INPUT_KEYBOARD, SDLK_MINUS,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut12", SDLK_EQUALS,
+ {"keyEmoteShortcut12",
+ INPUT_KEYBOARD, SDLK_EQUALS,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut13", SDLK_BACKSPACE,
+ {"keyEmoteShortcut13",
+ INPUT_KEYBOARD, SDLK_BACKSPACE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut14", SDLK_INSERT,
+ {"keyEmoteShortcut14",
+ INPUT_KEYBOARD, SDLK_INSERT,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut15", SDLK_HOME,
+ {"keyEmoteShortcut15",
+ INPUT_KEYBOARD, SDLK_HOME,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut16", SDLK_q,
+ {"keyEmoteShortcut16",
+ INPUT_KEYBOARD, SDLK_q,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut17", SDLK_w,
+ {"keyEmoteShortcut17",
+ INPUT_KEYBOARD, SDLK_w,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut18", SDLK_e,
+ {"keyEmoteShortcut18",
+ INPUT_KEYBOARD, SDLK_e,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut19", SDLK_r,
+ {"keyEmoteShortcut19",
+ INPUT_KEYBOARD, SDLK_r,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut20", SDLK_t,
+ {"keyEmoteShortcut20",
+ INPUT_KEYBOARD, SDLK_t,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut21", SDLK_y,
+ {"keyEmoteShortcut21",
+ INPUT_KEYBOARD, SDLK_y,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut22", SDLK_u,
+ {"keyEmoteShortcut22",
+ INPUT_KEYBOARD, SDLK_u,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut23", SDLK_i,
+ {"keyEmoteShortcut23",
+ INPUT_KEYBOARD, SDLK_i,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut24", SDLK_o,
+ {"keyEmoteShortcut24",
+ INPUT_KEYBOARD, SDLK_o,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut25", SDLK_p,
+ {"keyEmoteShortcut25",
+ INPUT_KEYBOARD, SDLK_p,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut26", SDLK_LEFTBRACKET,
+ {"keyEmoteShortcut26",
+ INPUT_KEYBOARD, SDLK_LEFTBRACKET,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut27", SDLK_RIGHTBRACKET,
+ {"keyEmoteShortcut27",
+ INPUT_KEYBOARD, SDLK_RIGHTBRACKET,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut28", SDLK_BACKSLASH,
+ {"keyEmoteShortcut28",
+ INPUT_KEYBOARD, SDLK_BACKSLASH,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut29", SDLK_a,
+ {"keyEmoteShortcut29",
+ INPUT_KEYBOARD, SDLK_a,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut30", SDLK_s,
+ {"keyEmoteShortcut30",
+ INPUT_KEYBOARD, SDLK_s,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut31", SDLK_d,
+ {"keyEmoteShortcut31",
+ INPUT_KEYBOARD, SDLK_d,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut32", SDLK_f,
+ {"keyEmoteShortcut32",
+ INPUT_KEYBOARD, SDLK_f,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut33", SDLK_g,
+ {"keyEmoteShortcut33",
+ INPUT_KEYBOARD, SDLK_g,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut34", SDLK_h,
+ {"keyEmoteShortcut34",
+ INPUT_KEYBOARD, SDLK_h,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut35", SDLK_j,
+ {"keyEmoteShortcut35",
+ INPUT_KEYBOARD, SDLK_j,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut36", SDLK_k,
+ {"keyEmoteShortcut36",
+ INPUT_KEYBOARD, SDLK_k,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut37", SDLK_l,
+ {"keyEmoteShortcut37",
+ INPUT_KEYBOARD, SDLK_l,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut38", SDLK_SEMICOLON,
+ {"keyEmoteShortcut38",
+ INPUT_KEYBOARD, SDLK_SEMICOLON,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut39", SDLK_QUOTE,
+ {"keyEmoteShortcut39",
+ INPUT_KEYBOARD, SDLK_QUOTE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut40", SDLK_z,
+ {"keyEmoteShortcut40",
+ INPUT_KEYBOARD, SDLK_z,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut41", SDLK_x,
+ {"keyEmoteShortcut41",
+ INPUT_KEYBOARD, SDLK_x,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut42", SDLK_c,
+ {"keyEmoteShortcut42",
+ INPUT_KEYBOARD, SDLK_c,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut43", SDLK_v,
+ {"keyEmoteShortcut43",
+ INPUT_KEYBOARD, SDLK_v,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut44", SDLK_b,
+ {"keyEmoteShortcut44",
+ INPUT_KEYBOARD, SDLK_b,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut45", SDLK_n,
+ {"keyEmoteShortcut45",
+ INPUT_KEYBOARD, SDLK_n,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut46", SDLK_m,
+ {"keyEmoteShortcut46",
+ INPUT_KEYBOARD, SDLK_m,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut47", SDLK_COMMA,
+ {"keyEmoteShortcut47",
+ INPUT_KEYBOARD, SDLK_COMMA,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyEmoteShortcut48", SDLK_PERIOD,
+ {"keyEmoteShortcut48",
+ INPUT_KEYBOARD, SDLK_PERIOD,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_EMOTION,
&ActionManager::emote,
Input::KEY_NO_VALUE, 100,
COND_GAME},
- {"keyWearOutfit", SDLK_RCTRL,
+ {"keyWearOutfit",
+ INPUT_KEYBOARD, SDLK_RCTRL,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyCopyOutfit", SDLK_RALT,
+ {"keyCopyOutfit",
+ INPUT_KEYBOARD, SDLK_RALT,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyCopyEquipedOutfit", SDLK_RIGHTBRACKET,
+ {"keyCopyEquipedOutfit",
+ INPUT_KEYBOARD, SDLK_RIGHTBRACKET,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::copyEquippedToOutfit,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyChat", SDLK_RETURN,
+ {"keyChat",
+ INPUT_KEYBOARD, SDLK_RETURN,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_CHAT,
&ActionManager::toggleChat,
Input::KEY_NO_VALUE, 50,
COND_NOINPUT | COND_NOAWAY | COND_NOMODAL},
- {"keyChatScrollUp", SDLK_PAGEUP,
+ {"keyChatScrollUp",
+ INPUT_KEYBOARD, SDLK_PAGEUP,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::scrollChatUp,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyChatScrollDown", SDLK_PAGEDOWN,
+ {"keyChatScrollDown",
+ INPUT_KEYBOARD, SDLK_PAGEDOWN,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::scrollChatDown,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyChatPrevTab", SDLK_KP7,
+ {"keyChatPrevTab",
+ INPUT_KEYBOARD, SDLK_KP7,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::prevChatTab,
Input::KEY_NO_VALUE, 50,
COND_NOINPUT},
- {"keyChatNextTab", SDLK_KP9,
+ {"keyChatNextTab",
+ INPUT_KEYBOARD, SDLK_KP9,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::nextChatTab,
Input::KEY_NO_VALUE, 50,
COND_NOINPUT},
- {"keyChatCloseTab", Input::KEY_NO_VALUE,
+ {"keyChatCloseTab",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT | Input::GRP_GUI,
&ActionManager::closeChatTab,
Input::KEY_NO_VALUE, 50,
COND_NOINPUT},
- {"keyChatPrevHistory", SDLK_KP7,
+ {"keyChatPrevHistory",
+ INPUT_KEYBOARD, SDLK_KP7,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_CHAT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyChatNextHistory", SDLK_KP9,
+ {"keyChatNextHistory",
+ INPUT_KEYBOARD, SDLK_KP9,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_CHAT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyAutoCompleteChat", SDLK_TAB,
+ {"keyAutoCompleteChat",
+ INPUT_KEYBOARD, SDLK_TAB,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_CHAT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyDeActivateChat", SDLK_ESCAPE,
+ {"keyDeActivateChat",
+ INPUT_KEYBOARD, SDLK_ESCAPE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_CHAT,
nullptr,
Input::KEY_NO_VALUE, 50,
COND_DEFAULT},
- {"keyIgnoreInput1", SDLK_LSUPER,
+ {"keyIgnoreInput1",
+ INPUT_KEYBOARD, SDLK_LSUPER,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::ignoreInput,
Input::KEY_NO_VALUE, 500,
COND_DEFAULT},
- {"keyIgnoreInput2", SDLK_RSUPER,
+ {"keyIgnoreInput2",
+ INPUT_KEYBOARD, SDLK_RSUPER,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::ignoreInput,
Input::KEY_NO_VALUE, 500,
COND_DEFAULT},
- {"keyDirectUp", SDLK_l,
+ {"keyDirectUp",
+ INPUT_KEYBOARD, SDLK_l,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::directUp,
Input::KEY_NO_VALUE, 50,
COND_GAME},
- {"keyDirectDown", SDLK_SEMICOLON,
+ {"keyDirectDown",
+ INPUT_KEYBOARD, SDLK_SEMICOLON,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::directDown,
Input::KEY_NO_VALUE, 50,
COND_GAME},
- {"keyDirectLeft", SDLK_k,
+ {"keyDirectLeft",
+ INPUT_KEYBOARD, SDLK_k,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::directLeft,
Input::KEY_NO_VALUE, 50,
COND_GAME},
- {"keyDirectRight", SDLK_QUOTE,
+ {"keyDirectRight",
+ INPUT_KEYBOARD, SDLK_QUOTE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::directRight,
Input::KEY_NO_VALUE, 50,
COND_GAME},
- {"keyCrazyMoves", SDLK_SLASH,
+ {"keyCrazyMoves",
+ INPUT_KEYBOARD, SDLK_SLASH,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::crazyMoves,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyChangeCrazyMoveType", SDLK_BACKSLASH,
+ {"keyChangeCrazyMoveType",
+ INPUT_KEYBOARD, SDLK_BACKSLASH,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeCrazyMove,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyQuickDrop", SDLK_y,
+ {"keyQuickDrop",
+ INPUT_KEYBOARD, SDLK_y,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::dropItem0,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyQuickDropN", SDLK_u,
+ {"keyQuickDropN",
+ INPUT_KEYBOARD, SDLK_u,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::dropItem,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keySwitchQuickDrop", SDLK_i,
+ {"keySwitchQuickDrop",
+ INPUT_KEYBOARD, SDLK_i,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::switchQuickDrop,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyMagicInma1", SDLK_c,
+ {"keyMagicInma1",
+ INPUT_KEYBOARD, SDLK_c,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::heal,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyMagicItenplz", SDLK_m,
+ {"keyMagicItenplz",
+ INPUT_KEYBOARD, SDLK_m,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::itenplz,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyMagicAttack", SDLK_b,
+ {"keyMagicAttack",
+ INPUT_KEYBOARD, SDLK_b,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::magicAttack,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keySwitchMagicAttack", SDLK_COMMA,
+ {"keySwitchMagicAttack",
+ INPUT_KEYBOARD, SDLK_COMMA,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeMagicAttack,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keySwitchPvpAttack", Input::KEY_NO_VALUE,
+ {"keySwitchPvpAttack",
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changePvpMode,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyInvertDirection", SDLK_KP0,
+ {"keyInvertDirection",
+ INPUT_KEYBOARD, SDLK_KP0,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeMoveType,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyChangeAttackWeaponType", SDLK_g,
+ {"keyChangeAttackWeaponType",
+ INPUT_KEYBOARD, SDLK_g,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeAttackWeaponType,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyChangeAttackType", SDLK_END,
+ {"keyChangeAttackType",
+ INPUT_KEYBOARD, SDLK_END,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeAttackType,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyChangeFollowMode", SDLK_KP1,
+ {"keyChangeFollowMode",
+ INPUT_KEYBOARD, SDLK_KP1,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeFollowMode,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyChangeImitationMode", SDLK_KP4,
+ {"keyChangeImitationMode",
+ INPUT_KEYBOARD, SDLK_KP4,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeImitationMode,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyDisableGameModifiers", SDLK_KP8,
+ {"keyDisableGameModifiers",
+ INPUT_KEYBOARD, SDLK_KP8,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeGameModifier,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyChangeAudio", SDLK_KP3,
+ {"keyChangeAudio",
+ INPUT_KEYBOARD, SDLK_KP3,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::changeAudio,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyAway", SDLK_KP2,
+ {"keyAway",
+ INPUT_KEYBOARD, SDLK_KP2,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::away,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED},
- {"keyRightClick", SDLK_TAB,
+ {"keyRightClick",
+ INPUT_KEYBOARD, SDLK_TAB,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::mouseClick,
Input::KEY_NO_VALUE, 50,
COND_NOINPUT | COND_NOAWAY | COND_NOMODAL},
- {"keyCameraMode", SDLK_KP_PLUS,
+ {"keyCameraMode",
+ INPUT_KEYBOARD, SDLK_KP_PLUS,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_DEFAULT,
&ActionManager::camera,
Input::KEY_NO_VALUE, 50,
COND_GAME | COND_VALIDSPEED | COND_EMODS},
- {"keyMod", SDLK_LSHIFT,
+ {"keyMod",
+ INPUT_KEYBOARD, SDLK_LSHIFT,
+ INPUT_UNKNOWN, Input::KEY_NO_VALUE,
Input::GRP_GUI,
nullptr,
Input::KEY_NO_VALUE, 50,
diff --git a/src/keydata.h b/src/keydata.h
index 993bae74e..5351b715f 100644
--- a/src/keydata.h
+++ b/src/keydata.h
@@ -32,7 +32,10 @@ typedef bool (*ActionFuncPtr) (InputEvent &event);
struct KeyData
{
const char *configField;
- int defaultValue;
+ int defaultType1;
+ int defaultValue1;
+ int defaultType2;
+ int defaultValue2;
int grp;
ActionFuncPtr action;
int modKeyIndex;
@@ -73,7 +76,7 @@ namespace Input
KEY_SET_HOME,
KEY_MOVE_TO_POINT,
KEY_TALK,
- KEY_TARGET,
+ KEY_STOP_ATTACK,
KEY_UNTARGET,
KEY_TARGET_CLOSEST,
KEY_TARGET_NPC,