Controller.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include "input/Controller.h"
  2. Controller::Controller(Buttons& bs)
  3. : a(GLFW_KEY_A, "A"), b(GLFW_KEY_S, "B"), x(GLFW_KEY_X, "X"),
  4. y(GLFW_KEY_Z, "Y"), l(GLFW_KEY_Q, "L"), r(GLFW_KEY_W, "R"),
  5. start(GLFW_KEY_E, "Start"), select(GLFW_KEY_D, "Select"),
  6. left(GLFW_KEY_LEFT, "Left"), right(GLFW_KEY_RIGHT, "Right"),
  7. up(GLFW_KEY_UP, "Up"), down(GLFW_KEY_DOWN, "Down") {
  8. bs.add(a);
  9. bs.add(b);
  10. bs.add(x);
  11. bs.add(y);
  12. bs.add(l);
  13. bs.add(r);
  14. bs.add(start);
  15. bs.add(select);
  16. bs.add(left);
  17. bs.add(right);
  18. bs.add(up);
  19. bs.add(down);
  20. bs.mapGamepadButton(a, GLFW_GAMEPAD_BUTTON_A);
  21. bs.mapGamepadButton(b, GLFW_GAMEPAD_BUTTON_B);
  22. bs.mapGamepadButton(x, GLFW_GAMEPAD_BUTTON_X);
  23. bs.mapGamepadButton(y, GLFW_GAMEPAD_BUTTON_Y);
  24. bs.mapGamepadButton(l, GLFW_GAMEPAD_BUTTON_LEFT_BUMPER);
  25. bs.mapGamepadButton(r, GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER);
  26. bs.mapGamepadButton(select, GLFW_GAMEPAD_BUTTON_BACK);
  27. bs.mapGamepadButton(start, GLFW_GAMEPAD_BUTTON_START);
  28. bs.mapGamepadButton(select, GLFW_GAMEPAD_BUTTON_LEFT_THUMB);
  29. bs.mapGamepadButton(start, GLFW_GAMEPAD_BUTTON_RIGHT_THUMB);
  30. bs.mapGamepadButton(up, GLFW_GAMEPAD_BUTTON_DPAD_UP);
  31. bs.mapGamepadButton(right, GLFW_GAMEPAD_BUTTON_DPAD_RIGHT);
  32. bs.mapGamepadButton(down, GLFW_GAMEPAD_BUTTON_DPAD_DOWN);
  33. bs.mapGamepadButton(left, GLFW_GAMEPAD_BUTTON_DPAD_LEFT);
  34. bs.mapGamepadAxis(left, -0.5f, GLFW_GAMEPAD_AXIS_LEFT_X);
  35. bs.mapGamepadAxis(right, 0.5f, GLFW_GAMEPAD_AXIS_LEFT_X);
  36. bs.mapGamepadAxis(left, -0.5f, GLFW_GAMEPAD_AXIS_RIGHT_X);
  37. bs.mapGamepadAxis(right, 0.5f, GLFW_GAMEPAD_AXIS_RIGHT_X);
  38. bs.mapGamepadAxis(up, -0.5f, GLFW_GAMEPAD_AXIS_LEFT_Y);
  39. bs.mapGamepadAxis(down, 0.5f, GLFW_GAMEPAD_AXIS_LEFT_Y);
  40. bs.mapGamepadAxis(up, -0.5f, GLFW_GAMEPAD_AXIS_RIGHT_Y);
  41. bs.mapGamepadAxis(down, 0.5f, GLFW_GAMEPAD_AXIS_RIGHT_Y);
  42. bs.mapGamepadAxis(l, 0.1f, GLFW_GAMEPAD_AXIS_LEFT_TRIGGER);
  43. bs.mapGamepadAxis(r, 0.1f, GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER);
  44. }