1
0
mirror of https://github.com/cathery/sys-con.git synced 2024-11-19 05:09:49 +00:00
sys-con/source/ControllerSwitch/SwitchControllerHandler.h
2020-01-12 05:01:44 +03:00

27 lines
787 B
C++

#pragma once
#include "switch.h"
#include "IController.h"
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(); }
};