void SetChannelValues(int32 ControllerId, const FForceFeedbackValues &Values) override { if ((ControllerId >= 0) && (ControllerId < MAX_STEAM_CONTROLLERS)) { FControllerState& ControllerState = ControllerStates[ControllerId]; ControllerState.VibeValues = Values; UpdateVibration(ControllerId); } }
void SetChannelValue(int32 ControllerId, FForceFeedbackChannelType ChannelType, float Value) override { // Skip unless this is the large channels, which we consider to be the only SteamController feedback channels if ((ChannelType != FForceFeedbackChannelType::LEFT_LARGE) && (ChannelType != FForceFeedbackChannelType::RIGHT_LARGE)) { return; } if ((ControllerId >= 0) && (ControllerId < MAX_STEAM_CONTROLLERS)) { FControllerState& ControllerState = ControllerStates[ControllerId]; ControllerState.VibeValues.LeftLarge = Value; UpdateVibration(ControllerId); } }
void SetVibration(u32 value) { UpdateVibration(dev->bus_id, value); }