t7x/src/client/steam/interfaces/controller.hpp

33 lines
1.6 KiB
C++
Raw Normal View History

2022-05-21 06:04:08 -04:00
#pragma once
namespace steam
{
2022-05-23 11:57:45 -04:00
using ControllerHandle_t = uint64_t;
2022-05-21 06:04:08 -04:00
class controller
{
public:
~controller() = default;
virtual bool Init();
virtual bool Shutdown();
virtual void RunFrame();
virtual int GetConnectedControllers(ControllerHandle_t* handlesOut);
virtual bool ShowBindingPanel(ControllerHandle_t controllerHandle);
virtual uint64_t GetActionSetHandle(const char* pszActionSetName);
virtual void ActivateActionSet(ControllerHandle_t controllerHandle, uint64_t actionSetHandle);
virtual uint64_t GetCurrentActionSet(ControllerHandle_t controllerHandle);
virtual uint64_t GetDigitalActionHandle(const char* pszActionName);
virtual uint64_t GetDigitalActionData(ControllerHandle_t controllerHandle, uint64_t digitalActionHandle);
2022-05-23 11:57:45 -04:00
virtual int GetDigitalActionOrigins(ControllerHandle_t controllerHandle, uint64_t actionSetHandle,
uint64_t digitalActionHandle, uint64_t* originsOut);
2022-05-21 06:04:08 -04:00
virtual uint64_t GetAnalogActionHandle(const char* pszActionName);
virtual uint64_t GetAnalogActionData(ControllerHandle_t controllerHandle, uint64_t analogActionHandle);
2022-05-23 11:57:45 -04:00
virtual int GetAnalogActionOrigins(ControllerHandle_t controllerHandle, uint64_t actionSetHandle,
uint64_t analogActionHandle, uint64_t* originsOut);
2022-05-21 06:04:08 -04:00
virtual void StopAnalogActionMomentum(ControllerHandle_t controllerHandle, uint64_t eAction);
2022-05-23 11:57:45 -04:00
virtual void TriggerHapticPulse(ControllerHandle_t controllerHandle, uint64_t eTargetPad,
unsigned short usDurationMicroSec);
2022-05-21 06:04:08 -04:00
};
}