#ifndef HOLESOME_INPUT_CONFIG_H #define HOLESOME_INPUT_CONFIG_H #include #include #include "game/input/input_device_group.h" #include "game/input/button_config.hpp" #include "game/input/game_action_config.hpp" #include "game/input/gamepad_buttons.hpp" #define JOYSTICK_DEADZONE 0.1f // Keys const std::map KEY_CONFIGS = { {sf::Keyboard::Up, ButtonConfig(InputDeviceGroup::KEYBOARD_ARROWS, HardDirection::UP)}, {sf::Keyboard::Down, ButtonConfig(InputDeviceGroup::KEYBOARD_ARROWS, HardDirection::DOWN)}, {sf::Keyboard::Left, ButtonConfig(InputDeviceGroup::KEYBOARD_ARROWS, HardDirection::LEFT)}, {sf::Keyboard::Right, ButtonConfig(InputDeviceGroup::KEYBOARD_ARROWS, HardDirection::RIGHT)}, {sf::Keyboard::Space, ButtonConfig(InputDeviceGroup::KEYBOARD_ARROWS, {GameAction::CONFIRM})}, {sf::Keyboard::W, ButtonConfig(InputDeviceGroup::KEYBOARD_WASD, HardDirection::UP)}, {sf::Keyboard::S, ButtonConfig(InputDeviceGroup::KEYBOARD_WASD, HardDirection::DOWN)}, {sf::Keyboard::A, ButtonConfig(InputDeviceGroup::KEYBOARD_WASD, HardDirection::LEFT)}, {sf::Keyboard::D, ButtonConfig(InputDeviceGroup::KEYBOARD_WASD, HardDirection::RIGHT)}, {sf::Keyboard::Q, ButtonConfig(InputDeviceGroup::KEYBOARD_WASD, {GameAction::CONFIRM})}, {sf::Keyboard::E, ButtonConfig(InputDeviceGroup::KEYBOARD_WASD, {GameAction::CONFIRM})}, {sf::Keyboard::I, ButtonConfig(InputDeviceGroup::KEYBOARD_IJKL, HardDirection::UP)}, {sf::Keyboard::K, ButtonConfig(InputDeviceGroup::KEYBOARD_IJKL, HardDirection::DOWN)}, {sf::Keyboard::J, ButtonConfig(InputDeviceGroup::KEYBOARD_IJKL, HardDirection::LEFT)}, {sf::Keyboard::L, ButtonConfig(InputDeviceGroup::KEYBOARD_IJKL, HardDirection::RIGHT)}, {sf::Keyboard::U, ButtonConfig(InputDeviceGroup::KEYBOARD_IJKL, {GameAction::CONFIRM})}, {sf::Keyboard::O, ButtonConfig(InputDeviceGroup::KEYBOARD_IJKL, {GameAction::CONFIRM})} }; // Gamepad buttons const std::map GAMEPAD_BUTTON_CONFIGS = { {GamepadButton::EAST, ButtonConfig(InputDeviceGroup::GAMEPAD, {GameAction::CONFIRM})}, {GamepadButton::SOUTH, ButtonConfig(InputDeviceGroup::GAMEPAD, {GameAction::CONFIRM})} }; // Actions const std::map GAME_ACTION_CONFIGS = { {GameAction::CONFIRM, GameActionConfig(InteractionMode::PRESS)} }; const std::map DEVICE_GROUP_NAMES = { {InputDeviceGroup::KEYBOARD_WASD, "WASD"}, {InputDeviceGroup::KEYBOARD_IJKL, "IJKL"}, {InputDeviceGroup::KEYBOARD_ARROWS, "Arrow keys"}, {InputDeviceGroup::GAMEPAD, "Gamepad"} }; const std::map DEVICE_GROUP_CONFIRM = { {InputDeviceGroup::KEYBOARD_WASD, "Q or E"}, {InputDeviceGroup::KEYBOARD_IJKL, "U or O"}, {InputDeviceGroup::KEYBOARD_ARROWS, "Space"}, {InputDeviceGroup::GAMEPAD, "A or B"} }; #endif //HOLESOME_INPUT_CONFIG_H