mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-10-18 00:17:56 +00:00
hid: Implement GameCube Controller Vibrations
Implements both SendVibrationGcErmCommand and GetActualVibrationGcErmCommand, and modifies GetVibrationDeviceInfo to account for additional controllers.
This commit is contained in:
parent
0dcc8c39c6
commit
c841dcc8cb
2 changed files with 130 additions and 3 deletions
|
@ -136,6 +136,8 @@ private:
|
|||
void PermitVibration(Kernel::HLERequestContext& ctx);
|
||||
void IsVibrationPermitted(Kernel::HLERequestContext& ctx);
|
||||
void SendVibrationValues(Kernel::HLERequestContext& ctx);
|
||||
void SendVibrationGcErmCommand(Kernel::HLERequestContext& ctx);
|
||||
void GetActualVibrationGcErmCommand(Kernel::HLERequestContext& ctx);
|
||||
void BeginPermitVibrationSession(Kernel::HLERequestContext& ctx);
|
||||
void EndPermitVibrationSession(Kernel::HLERequestContext& ctx);
|
||||
void IsVibrationDeviceMounted(Kernel::HLERequestContext& ctx);
|
||||
|
@ -154,7 +156,9 @@ private:
|
|||
void GetNpadCommunicationMode(Kernel::HLERequestContext& ctx);
|
||||
|
||||
enum class VibrationDeviceType : u32 {
|
||||
Unknown = 0,
|
||||
LinearResonantActuator = 1,
|
||||
GcErm = 2,
|
||||
};
|
||||
|
||||
enum class VibrationDevicePosition : u32 {
|
||||
|
@ -163,6 +167,12 @@ private:
|
|||
Right = 2,
|
||||
};
|
||||
|
||||
enum class VibrationGcErmCommand : u64 {
|
||||
Stop = 0,
|
||||
Start = 1,
|
||||
StopHard = 2,
|
||||
};
|
||||
|
||||
struct VibrationDeviceInfo {
|
||||
VibrationDeviceType type{};
|
||||
VibrationDevicePosition position{};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue