X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fcontrol%2Fjoystickkeyboardcontroller.hpp;h=f989ea6f64a543418e2ab78697fa3f27feb7ae8d;hb=b029182b66e1f36e8eb7a1d8d23d26d475dec45f;hp=40f1afa412754e03113d95208c2a8b38fa80ba82;hpb=e4ea12b3a6d6d73650fcd7faf668997f73a9819d;p=supertux.git diff --git a/src/control/joystickkeyboardcontroller.hpp b/src/control/joystickkeyboardcontroller.hpp index 40f1afa41..f989ea6f6 100644 --- a/src/control/joystickkeyboardcontroller.hpp +++ b/src/control/joystickkeyboardcontroller.hpp @@ -21,11 +21,17 @@ #define __JOYSTICKKEYBOARDCONTROLLER_H__ #include "controller.hpp" -#include "lisp/lisp.hpp" -#include "lisp/writer.hpp" + +namespace lisp { +class Writer; +class Lisp; +} + #include + #include #include +#include class Menu; @@ -45,14 +51,18 @@ public: Menu* get_key_options_menu(); Menu* get_joystick_options_menu(); + void updateAvailableJoysticks(); private: void process_key_event(const SDL_Event& event); void process_hat_event(const SDL_JoyHatEvent& jhat); void process_axis_event(const SDL_JoyAxisEvent& jaxis); + void process_button_event(const SDL_JoyButtonEvent& jbutton); void process_console_key_event(const SDL_Event& event); void process_menu_key_event(const SDL_Event& event); + void print_joystick_mappings(); + typedef std::map KeyMap; KeyMap keymap; @@ -78,20 +88,25 @@ private: int max_joyaxis; int max_joyhats; - + Uint8 hat_state; + bool jump_with_up_joy; // Joystick up jumps + bool jump_with_up_kbd; // Keyboard up jumps + SDLKey reversemap_key(Control c); int reversemap_joybutton(Control c); int reversemap_joyaxis(Control c); int reversemap_joyhat(Control c); - void unbind_control(Control c); + void unbind_joystick_control(Control c); + + void bind_joybutton(int button, Control c); + void bind_joyaxis(int axis, Control c); + void bind_joyhat(int dir, Control c); + void bind_key(SDLKey key, Control c); - void reset_joybutton(int button, Control c); - void reset_joyaxis(int axis, Control c); - void reset_joyhat(int dir, Control c); - void reset_key(SDLKey key, Control c); + void set_joy_controls(Control id, bool value); int wait_for_key; int wait_for_joystick;