#ifndef __RECOMP_INPUT_H__ #define __RECOMP_INPUT_H__ #include #include #include #include #include namespace recomp { struct InputField { uint32_t device_type; int32_t input_id; }; void poll_inputs(); float get_input_analog(const InputField& field); float get_input_analog(const std::span fields); bool get_input_digital(const InputField& field); bool get_input_digital(const std::span fields); struct DefaultN64Mappings { std::vector a; std::vector b; std::vector l; std::vector r; std::vector z; std::vector start; std::vector c_left; std::vector c_right; std::vector c_up; std::vector c_down; std::vector dpad_left; std::vector dpad_right; std::vector dpad_up; std::vector dpad_down; std::vector analog_left; std::vector analog_right; std::vector analog_up; std::vector analog_down; }; extern const DefaultN64Mappings default_n64_mappings; void get_n64_input(uint16_t* buttons_out, float* x_out, float* y_out); void handle_events(); } #endif