input: añadidas asignaciones por defecto para teclado y mando

This commit is contained in:
2023-05-23 18:24:17 +02:00
parent 82b2b8bf57
commit 51518f3bd8
3 changed files with 43 additions and 7 deletions

View File

@@ -93,11 +93,15 @@ int main(int argc, char *argv[])
Input *input = new Input(asset->get("gamecontrollerdb.txt"));
input->setVerbose(options->console);
input->discoverGameController();
input->bindKey(INPUT_UP, SDL_SCANCODE_UP);
input->bindKey(INPUT_DOWN, SDL_SCANCODE_DOWN);
input->bindKey(INPUT_LEFT, SDL_SCANCODE_LEFT);
input->bindKey(INPUT_RIGHT, SDL_SCANCODE_RIGHT);
string controllerName = "htfvhfhk";
//input->bindKey(INPUT_UP, SDL_SCANCODE_UP);
//input->bindKey(INPUT_DOWN, SDL_SCANCODE_DOWN);
//input->bindKey(INPUT_LEFT, SDL_SCANCODE_LEFT);
//input->bindKey(INPUT_RIGHT, SDL_SCANCODE_RIGHT);
//input->bindGameControllerButton(INPUT_UP, SDL_CONTROLLER_BUTTON_DPAD_UP);
//input->bindGameControllerButton(INPUT_DOWN, SDL_CONTROLLER_BUTTON_DPAD_DOWN);
//input->bindGameControllerButton(INPUT_LEFT, SDL_CONTROLLER_BUTTON_DPAD_LEFT);
//input->bindGameControllerButton(INPUT_RIGHT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT);
string controllerName = "";
int numControllers = input->getNumControllers();
if (numControllers > 0)
{

View File

@@ -20,6 +20,8 @@ Input::Input(string file)
verbose = true;
enabled = true;
setDefaultBindings();
}
// Actualiza el estado del objeto
@@ -236,8 +238,8 @@ bool Input::discoverGameController()
connectedControllers.push_back(pad);
const string separator(" #");
string name = SDL_GameControllerNameForIndex(i);
//name.resize(25);
//name = name + separator + to_string(i);
// name.resize(25);
// name = name + separator + to_string(i);
if (verbose)
{
cout << " -" << name << endl;
@@ -309,4 +311,30 @@ void Input::enable()
{
enabled = true;
disabledUntil = d_notDisabled;
}
// Establece unas teclas y botones del mando por defectp
void Input::setDefaultBindings()
{
// Teclado
bindKey(INPUT_UP, SDL_SCANCODE_UP);
bindKey(INPUT_DOWN, SDL_SCANCODE_DOWN);
bindKey(INPUT_LEFT, SDL_SCANCODE_LEFT);
bindKey(INPUT_RIGHT, SDL_SCANCODE_RIGHT);
bindKey(INPUT_EXIT, SDL_SCANCODE_ESCAPE);
bindKey(INPUT_ACCEPT, SDL_SCANCODE_RETURN);
// Mando
bindGameControllerButton(INPUT_UP, SDL_CONTROLLER_BUTTON_DPAD_UP);
bindGameControllerButton(INPUT_DOWN, SDL_CONTROLLER_BUTTON_DPAD_DOWN);
bindGameControllerButton(INPUT_LEFT, SDL_CONTROLLER_BUTTON_DPAD_LEFT);
bindGameControllerButton(INPUT_RIGHT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT);
bindGameControllerButton(INPUT_BUTTON_1, SDL_CONTROLLER_BUTTON_A);
bindGameControllerButton(INPUT_BUTTON_2, SDL_CONTROLLER_BUTTON_B);
bindGameControllerButton(INPUT_BUTTON_3, SDL_CONTROLLER_BUTTON_X);
bindGameControllerButton(INPUT_BUTTON_4, SDL_CONTROLLER_BUTTON_Y);
bindGameControllerButton(INPUT_BUTTON_5, SDL_CONTROLLER_BUTTON_BACK);
bindGameControllerButton(INPUT_BUTTON_6, SDL_CONTROLLER_BUTTON_START);
bindGameControllerButton(INPUT_BUTTON_7, SDL_CONTROLLER_BUTTON_LEFTSHOULDER);
bindGameControllerButton(INPUT_BUTTON_8, SDL_CONTROLLER_BUTTON_RIGHTSHOULDER);
}

View File

@@ -35,6 +35,7 @@ using namespace std;
#define INPUT_BUTTON_18 22
#define INPUT_BUTTON_19 23
#define INPUT_BUTTON_20 24
#define INPUT_PAUSE 25
#define INPUT_EXIT 26
#define INPUT_ACCEPT 27
@@ -125,6 +126,9 @@ public:
// Hablita las entradas
void enable();
// Establece unas teclas y botones del mando por defectp
void setDefaultBindings();
};
#endif