1
0
mirror of https://github.com/cathery/sys-con.git synced 2024-12-27 06:15:19 +00:00
sys-con/SwitchUSB/include/SwitchControllerHandler.h
2019-10-31 21:00:42 +03:00

28 lines
805 B
C++

#pragma once
#include "switch.h"
#include "IController.h"
#include <thread>
class SwitchControllerHandler
{
private:
std::unique_ptr<IController> m_controller;
public:
//Initialize the class with specified controller
SwitchControllerHandler(std::unique_ptr<IController> &&controller);
~SwitchControllerHandler();
//Initialize controller and open a separate thread for input
Result Initialize();
//Clean up everything associated with the controller, reset device, close threads, etc
void Exit();
void ConvertAxisToSwitchAxis(float x, float y, float deadzone, s32 *x_out, s32 *y_out);
Result SetControllerVibration(float strong_mag, float weak_mag);
//Get the raw controller pointer
inline IController *GetController() { return m_controller.get(); }
};