ReXGlue SDK
Loading...
Searching...
No Matches
input_driver.h
Go to the documentation of this file.
1
11
12#pragma once
13
14#include <vector>
15
16#include <rex/driver.h>
17#include <rex/hid/pad.h>
18#include <rex/memory/host.h>
19#include <rex/result.h>
20#include <rex/types.h>
21
22namespace rex::hid {
23
25inline constexpr memory::Tag kHID{6};
26
31class IInputDriver : public IDriver {
32 public:
34 virtual u64 GetDeviceRevision() const = 0;
35
41 virtual void EnumerateDevices(std::vector<PadDevice>& out) = 0;
42
48 [[nodiscard]] virtual Result<PadState> GetDeviceState(PadDeviceID id) = 0;
49
52
59 const PadVibration& vibration) = 0;
60};
61
62} // namespace rex::hid
Definition driver.h:41
Definition input_driver.h:31
virtual Result< void > SetDeviceVibration(PadDeviceID id, const PadVibration &vibration)=0
virtual Result< PadCapabilities > GetDeviceCapabilities(PadDeviceID id)=0
virtual Result< PadState > GetDeviceState(PadDeviceID id)=0
virtual u64 GetDeviceRevision() const =0
virtual void EnumerateDevices(std::vector< PadDevice > &out)=0
constexpr memory::Tag kHID
Definition input_driver.h:25
Tag
Definition host.h:22
std::expected< T, Error > Result
Definition result.h:98
Definition pad.h:110
Definition pad.h:61
Integer types, byte order wrappers and size literals.