UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IInputInterface.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "Containers/Array.h"
7#include "Math/Color.h"
8#include "UObject/NameTypes.h"
9
10
11// General identifiers for potential force feedback channels. These will be mapped according to the
12// platform specific implementation.
13// For example, Platform A only listens to the XXX_LARGE channels and ignores the rest, while Platform B could
14// map the XXX_LARGE to the handle motors and XXX_SMALL to the trigger motors. And others can map LEFT_SMALL to
15// its single motor.
23
24
26{
27 float LeftLarge;
28 float LeftSmall;
31
33 : LeftLarge(0.f)
34 , LeftSmall(0.f)
35 , RightLarge(0.f)
36 , RightSmall(0.f)
37 { }
38};
39
68
70{
71 float Frequency;
72 float Amplitude;
73
75
77 : Frequency(0.f)
78 , Amplitude(0.f)
80 {
81 }
82
84 {
85 // can't use FMath::Clamp here due to header files dependencies
86 Frequency = (InFrequency < 0.f) ? 0.f : ((InFrequency > 1.f) ? 1.f : InFrequency);
87 Amplitude = (InAmplitude < 0.f) ? 0.f : ((InAmplitude > 1.f) ? 1.f : InAmplitude);
89 }
90};
91
98{
99 None = 0x00,
100 Left = 0x01,
101 Right = 0x02,
102 All = Left | Right
103};
105
106
112{
113 None = 0x00,
114 Left = 0x01,
115 Right = 0x02
116};
118
120{
122 : Name(InName)
123 {}
124
126};
127
145
148{
152
158
159 static FName PropertyName() { return FName("InputDeviceLightColor"); }
160
162 bool bEnable = true;
163
166};
167
178
190
204
226
242
258
280
304
309{
310public:
311
313 virtual ~IInputInterface() { };
314
323 virtual void SetForceFeedbackChannelValue(int32 ControllerId, FForceFeedbackChannelType ChannelType, float Value) = 0;
324
332 virtual void SetForceFeedbackChannelValues(int32 ControllerId, const FForceFeedbackValues &Values) = 0;
333
342 virtual void SetHapticFeedbackValues(int32 ControllerId, int32 Hand, const FHapticFeedbackValues& Values) {}
343
351 virtual void SetDeviceProperty(int32 ControllerId, const FInputDeviceProperty* Property) {};
352
353 /*
354 * Sets the light color for the given controller. Ignored if controller does not support a color.
355 */
356 virtual void SetLightColor(int32 ControllerId, FColor Color) = 0;
357
358 /*
359 * Resets the light color for the given controller. Ignored if controller does not support a color.
360 */
361 virtual void ResetLightColor(int32 ControllerId) = 0;
362};
#define NULL
Definition oodle2base.h:134
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
EInputDeviceAnalogStickMask
Definition IInputInterface.h:112
FForceFeedbackChannelType
Definition IInputInterface.h:17
EInputDeviceTriggerMask
Definition IInputInterface.h:98
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NameTypes.h:617
Definition IInputInterface.h:309
virtual void ResetLightColor(int32 ControllerId)=0
virtual void SetDeviceProperty(int32 ControllerId, const FInputDeviceProperty *Property)
Definition IInputInterface.h:351
virtual void SetForceFeedbackChannelValues(int32 ControllerId, const FForceFeedbackValues &Values)=0
virtual void SetHapticFeedbackValues(int32 ControllerId, int32 Hand, const FHapticFeedbackValues &Values)
Definition IInputInterface.h:342
virtual void SetForceFeedbackChannelValue(int32 ControllerId, FForceFeedbackChannelType ChannelType, float Value)=0
virtual void SetLightColor(int32 ControllerId, FColor Color)=0
virtual ~IInputInterface()
Definition IInputInterface.h:313
@ false
Definition radaudio_common.h:23
Definition Color.h:486
static CORE_API const FColor White
Definition Color.h:749
Definition IInputInterface.h:26
FForceFeedbackValues()
Definition IInputInterface.h:32
float RightSmall
Definition IInputInterface.h:30
float LeftLarge
Definition IInputInterface.h:27
float RightLarge
Definition IInputInterface.h:29
float LeftSmall
Definition IInputInterface.h:28
Definition IInputInterface.h:41
int SamplesSent
Definition IInputInterface.h:45
bool NeedsUpdate() const
Definition IInputInterface.h:63
float ScaleFactor
Definition IInputInterface.h:48
int BufferLength
Definition IInputInterface.h:44
const uint8 * RawData
Definition IInputInterface.h:42
int SamplingRate
Definition IInputInterface.h:47
uint32 CurrentPtr
Definition IInputInterface.h:43
FHapticFeedbackBuffer()
Definition IInputInterface.h:52
bool bFinishedPlaying
Definition IInputInterface.h:46
bool bUseStereo
Definition IInputInterface.h:49
uint32 CurrentSampleIndex[2]
Definition IInputInterface.h:50
Definition IInputInterface.h:70
float Amplitude
Definition IInputInterface.h:72
FHapticFeedbackValues()
Definition IInputInterface.h:76
FHapticFeedbackBuffer * HapticBuffer
Definition IInputInterface.h:74
float Frequency
Definition IInputInterface.h:71
FHapticFeedbackValues(const float InFrequency, const float InAmplitude)
Definition IInputInterface.h:83
Definition IInputInterface.h:266
FInputDeviceAnalogStickDeadZoneProperty(EInputDeviceAnalogStickMask InAffectedStick, float InDeadZone)
Definition IInputInterface.h:271
FInputDeviceAnalogStickDeadZoneProperty()
Definition IInputInterface.h:267
static FName PropertyName()
Definition IInputInterface.h:276
float DeadZone
Definition IInputInterface.h:278
Definition IInputInterface.h:245
FInputDeviceAnalogStickProperty(FName InName)
Definition IInputInterface.h:246
FInputDeviceAnalogStickProperty(FName InName, EInputDeviceAnalogStickMask InAffectedStick)
Definition IInputInterface.h:250
EInputDeviceAnalogStickMask AffectedStick
Definition IInputInterface.h:256
Definition IInputInterface.h:130
static FName PropertyName()
Definition IInputInterface.h:140
bool bEnable
Definition IInputInterface.h:143
FInputDeviceGyroAutoCalibrationProperty()
Definition IInputInterface.h:131
FInputDeviceGyroAutoCalibrationProperty(bool bInEnable)
Definition IInputInterface.h:135
Definition IInputInterface.h:148
bool bEnable
Definition IInputInterface.h:162
static FName PropertyName()
Definition IInputInterface.h:159
FInputDeviceLightColorProperty(bool bInEnable, FColor InColor)
Definition IInputInterface.h:153
FInputDeviceLightColorProperty()
Definition IInputInterface.h:149
FColor Color
Definition IInputInterface.h:165
Definition IInputInterface.h:120
FInputDeviceProperty(FName InName)
Definition IInputInterface.h:121
FName Name
Definition IInputInterface.h:125
float DeadZone
Definition IInputInterface.h:302
FInputDeviceTriggerDynamicReleaseDeadZoneProperty()
Definition IInputInterface.h:289
static FName PropertyName()
Definition IInputInterface.h:300
FInputDeviceTriggerDynamicReleaseDeadZoneProperty(EInputDeviceTriggerMask InAffectedTriggers, float InDeadZone)
Definition IInputInterface.h:293
Definition IInputInterface.h:193
int32 Position
Definition IInputInterface.h:200
int32 Strengh
Definition IInputInterface.h:202
FInputDeviceTriggerFeedbackProperty()
Definition IInputInterface.h:194
static FName PropertyName()
Definition IInputInterface.h:198
Definition IInputInterface.h:170
EInputDeviceTriggerMask AffectedTriggers
Definition IInputInterface.h:176
FInputDeviceTriggerProperty(FName InName)
Definition IInputInterface.h:171
Definition IInputInterface.h:181
FInputDeviceTriggerResetProperty()
Definition IInputInterface.h:182
static FName PropertyName()
Definition IInputInterface.h:188
Definition IInputInterface.h:207
int32 StartPosition
Definition IInputInterface.h:215
int32 EndPosition
Definition IInputInterface.h:221
FInputDeviceTriggerResistanceProperty()
Definition IInputInterface.h:208
int32 StartStrengh
Definition IInputInterface.h:218
static FName PropertyName()
Definition IInputInterface.h:212
int32 EndStrengh
Definition IInputInterface.h:224
Definition IInputInterface.h:229
int32 VibrationAmplitude
Definition IInputInterface.h:240
FInputDeviceTriggerVibrationProperty()
Definition IInputInterface.h:230
static FName PropertyName()
Definition IInputInterface.h:234
int32 VibrationFrequency
Definition IInputInterface.h:238
int32 TriggerPosition
Definition IInputInterface.h:236