UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PlayerInput.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3//~=============================================================================
4// PlayerInput
5// Object within PlayerController that manages player input.
6// Only spawned on client.
7//~=============================================================================
8
9#pragma once
10
11#include "CoreMinimal.h"
13#include "GestureRecognizer.h"
14#include "InputCoreTypes.h"
15#include "InputKeyEventArgs.h"
16#include "KeyState.h"
17#include "UObject/Object.h"
20
21#include "PlayerInput.generated.h"
22
24class UInputComponent;
25class ULocalPlayer;
29struct FInputKeyBinding;
30
31
33USTRUCT()
35{
37
38
39 UPROPERTY(config, EditAnywhere, Category = "Input")
40 FKey Key;
41
43 UPROPERTY(config, EditAnywhere, Category = "Input")
44 FString Command;
45
47 UPROPERTY(config, EditAnywhere, Category = "Input")
48 uint8 Control:1;
49
51 UPROPERTY(config, EditAnywhere, Category = "Input")
52 uint8 Shift:1;
53
55 UPROPERTY(config, EditAnywhere, Category = "Input")
56 uint8 Alt:1;
57
59 UPROPERTY(config, EditAnywhere, Category = "Input")
60 uint8 Cmd:1;
61
63 UPROPERTY(config, EditAnywhere, Category = "Input")
64 uint8 bIgnoreCtrl:1;
65
67 UPROPERTY(config, EditAnywhere, Category = "Input")
68 uint8 bIgnoreShift:1;
69
71 UPROPERTY(config, EditAnywhere, Category = "Input")
72 uint8 bIgnoreAlt:1;
73
75 UPROPERTY(config, EditAnywhere, Category = "Input")
76 uint8 bIgnoreCmd:1;
77
79 uint8 bDisabled : 1;
80
82 : Control(false)
83 , Shift(false)
84 , Alt(false)
85 , Cmd(false)
86 , bIgnoreCtrl(false)
87 , bIgnoreShift(false)
88 , bIgnoreAlt(false)
89 , bIgnoreCmd(false)
90 , bDisabled(false)
91 {
92 }
93};
94
96USTRUCT()
98{
100
101
102 UPROPERTY(EditAnywhere, Category="Input")
103 float DeadZone;
104
106 UPROPERTY(EditAnywhere, Category="Input")
107 float Sensitivity;
108
110 UPROPERTY(EditAnywhere, Category="Input")
111 float Exponent;
112
114 UPROPERTY(EditAnywhere, Category="Input")
115 uint8 bInvert:1;
116
118 : DeadZone(0.2f)
119 , Sensitivity(1.f)
120 , Exponent(1.f)
121 , bInvert(false)
122 {}
123
124};
125
127USTRUCT()
129{
131
132
133 UPROPERTY(VisibleAnywhere, Category="Input")
134 FName AxisKeyName;
135
137 UPROPERTY(EditAnywhere, Category="Input")
139};
140
146USTRUCT( BlueprintType )
148{
150
151
152 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Input")
153 FName ActionName;
154
156 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Input")
157 uint8 bShift:1;
158
160 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Input")
161 uint8 bCtrl:1;
162
164 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Input")
165 uint8 bAlt:1;
166
168 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Input")
169 uint8 bCmd:1;
170
172 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Input")
173 FKey Key;
174
175 bool operator==(const FInputActionKeyMapping& Other) const
176 {
177 return ( ActionName == Other.ActionName
178 && Key == Other.Key
179 && bShift == Other.bShift
180 && bCtrl == Other.bCtrl
181 && bAlt == Other.bAlt
182 && bCmd == Other.bCmd);
183 }
184
186 {
187 bool bResult = false;
188 if (ActionName.LexicalLess(Other.ActionName))
189 {
190 bResult = true;
191 }
192 else if (ActionName == Other.ActionName)
193 {
194 bResult = (Key < Other.Key);
195 }
196 return bResult;
197 }
198
199 FInputActionKeyMapping(const FName InActionName = NAME_None, const FKey InKey = EKeys::Invalid, const bool bInShift = false, const bool bInCtrl = false, const bool bInAlt = false, const bool bInCmd = false)
200 : ActionName(InActionName)
201 , bShift(bInShift)
202 , bCtrl(bInCtrl)
203 , bAlt(bInAlt)
204 , bCmd(bInCmd)
205 , Key(InKey)
206 {}
207};
208
214USTRUCT( BlueprintType )
216{
218
219
220 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Input")
221 FName AxisName;
222
224 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Input")
225 float Scale;
226
228 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Input")
229 FKey Key;
230
231 bool operator==(const FInputAxisKeyMapping& Other) const
232 {
233 return ( AxisName == Other.AxisName
234 && Key == Other.Key
235 && Scale == Other.Scale);
236 }
237
239 {
240 bool bResult = false;
241 if (AxisName.LexicalLess(Other.AxisName))
242 {
243 bResult = true;
244 }
245 else if (AxisName == Other.AxisName)
246 {
247 if (Key < Other.Key)
248 {
249 bResult = true;
250 }
251 else if (Key == Other.Key)
252 {
253 bResult = (Scale < Other.Scale);
254
255 }
256 }
257 return bResult;
258 }
259
261 : AxisName(InAxisName)
262 , Scale(InScale)
263 , Key(InKey)
264 {}
265};
266
267
273USTRUCT(BlueprintType)
274struct UE_DEPRECATED(5.7, "Speech mappings are deprecated. These were only used by a now deprecated platform.") FInputActionSpeechMapping
275{
277
279 {
280 return FName(TEXT("Speech"));
281 }
282 FName GetActionName() const
283 {
284 return ActionName;
285 }
286 FName GetSpeechKeyword() const
287 {
288 return SpeechKeyword;
289 }
290 FName GetKeyName() const
291 {
292 return FName(*FString::Printf(TEXT("%s_%s"), *GetKeyCategory().ToString(), *SpeechKeyword.ToString()));
293 }
294private:
296 UPROPERTY(EditAnywhere, Category="Input")
297 FName ActionName;
298
300 UPROPERTY(EditAnywhere, Category="Input")
302public:
303
305 bool operator==(const FInputActionSpeechMapping& Other) const
306 {
307 return ( ActionName == Other.ActionName
308 && SpeechKeyword == Other.SpeechKeyword);
309 }
310
311 bool operator<(const FInputActionSpeechMapping& Other) const
312 {
313 bool bResult = false;
314 if (ActionName.LexicalLess(Other.ActionName))
315 {
316 bResult = true;
317 }
318 else if (ActionName == Other.ActionName)
319 {
320 bResult = (SpeechKeyword.LexicalLess(Other.SpeechKeyword));
321 }
322 return bResult;
323 }
324
326 : ActionName(InActionName)
328 {}
329
330 ~FInputActionSpeechMapping() = default;
333 FInputActionSpeechMapping& operator=(const FInputActionSpeechMapping&) = default;
335
337};
338
340struct UE_DEPRECATED(5.6, "Use FInputKeyEventArgs instead") FInputKeyParams
341{
342 FInputKeyParams() = default;
343
345 : Key(InKey)
347 , Event(InEvent)
348 , Delta(InDelta)
350 {};
351
353 : Key(InKey)
355 , Event(InEvent)
356 , Delta(FVector(InDelta, 0.0, 0.0))
358 {};
359
361 : Key(InKey)
363 , NumSamples(InNumSamples)
364 , DeltaTime(InDeltaTime)
365 , Delta(FVector(InDelta, 0.0, 0.0))
367 {};
368
370 : Key(InKey)
372 , NumSamples(InNumSamples)
373 , DeltaTime(InDeltaTime)
374 , Delta(InDelta)
376 {};
377
380
383
386
388 int32 NumSamples = 0;
389
391 float DeltaTime = 1 / 60.f;
392
395
397 bool bIsGamepadOverride = false;
398
400 bool IsGamepad() const { return Key.IsGamepadKey() || bIsGamepadOverride; }
401
403 double Get1DAxisDelta() const { return Delta.X; }
404
406 FVector2D Get2DAxisDelta() const { return FVector2D((float)Delta.X, (float)Delta.Y); }
407
409 FVector Get3DAxisDelta() const { return Delta; }
410};
411
413
420UCLASS(config=Input, transient, MinimalAPI)
422{
424
425public:
426
428
429 // NOTE: These touch vectors are calculated and set directly, they do not go through the .ini Bindings
430 // Touch locations, from 0..1 (0,0 is top left, 1,1 is bottom right), the Z component is > 0 if the touch is currently held down
431 // @todo: We have 10 touches to match the number of Touch* entries in EKeys (not easy to make this an enum or define or anything)
433
436
437 // Mouse smoothing sample data
438 float ZeroTime[2];
439 float SmoothedMouse[2];
444private:
445 TEnumAsByte<EInputEvent> CurrentEvent;
446
447public:
449 UPROPERTY(config, EditAnywhere, Category = "Input")
450 TArray<struct FKeyBind> DebugExecBindings;
451
454
457
460
462 UPROPERTY(config, EditAnywhere, Category = "Input")
463 TArray<FName> InvertedAxis;
464
466 ENGINE_API bool GetAxisProperties(const FKey AxisKey, FInputAxisProperties& AxisProperties);
467
469 ENGINE_API void SetAxisProperties(const FKey AxisKey, const FInputAxisProperties& AxisProperties);
470
472 ENGINE_API void SetMouseSensitivity(const float SensitivityX, const float SensitivityY);
473
476 void SetMouseSensitivity(const float Sensitivity) { SetMouseSensitivity(Sensitivity, Sensitivity); }
477
485 ENGINE_API void SetBind(FName BindName, const FString& Command);
486
488 ENGINE_API float GetMouseSensitivityX();
489
491 ENGINE_API float GetMouseSensitivityY();
492
494 ENGINE_API bool GetInvertAxisKey(const FKey AxisKey);
495
497 ENGINE_API bool GetInvertAxis(const FName AxisName);
498
501 ENGINE_API void InvertAxisKey(const FKey AxisKey);
502
505 ENGINE_API void InvertAxis(const FName AxisName);
506
509 ENGINE_API void ClearSmoothing();
510
512 ENGINE_API void AddActionMapping(const FInputActionKeyMapping& KeyMapping);
513
515 ENGINE_API void RemoveActionMapping(const FInputActionKeyMapping& KeyMapping);
516
518 ENGINE_API void AddAxisMapping(const FInputAxisKeyMapping& KeyMapping);
519
521 ENGINE_API void RemoveAxisMapping(const FInputAxisKeyMapping& KeyMapping);
522
524 static ENGINE_API void AddEngineDefinedActionMapping(const FInputActionKeyMapping& ActionMapping);
525
527 static ENGINE_API void AddEngineDefinedAxisMapping(const FInputAxisKeyMapping& AxisMapping);
528
530 ENGINE_API void ForceRebuildingKeyMaps(const bool bRestoreDefaults = false);
531
533 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Input")
534 ENGINE_API APlayerController* GetOuterAPlayerController() const;
535
540 ENGINE_API ULocalPlayer* GetOwningLocalPlayer() const;
541
542private:
543
545 struct FActionKeyDetails
546 {
549
551 FInputChord CapturingChord;
552 };
553
555 struct FAxisKeyDetails
556 {
559
561 uint8 bInverted:1;
562
563 FAxisKeyDetails()
564 : bInverted(false)
565 {
566 }
567 };
568
570 TMap<FKey,FInputAxisProperties> AxisProperties;
571
573 mutable TMap<FName,FActionKeyDetails> ActionKeyMap;
574
576 mutable TMap<FName,FAxisKeyDetails> AxisKeyMap;
577
579 TMap<FKey,FKeyState> KeyStateMap;
580
581 mutable uint32 KeyMapBuildIndex;
582
583 mutable uint8 bKeyMapsBuilt:1;
584
585public:
586
587 //~ Begin UObject Interface
588 ENGINE_API virtual void PostInitProperties() override;
589 ENGINE_API virtual UWorld* GetWorld() const override;
590 //~ End UObject Interface
591
593 ENGINE_API virtual void FlushPressedKeys();
594
596 ENGINE_API void FlushPressedActionBindingKeys(FName ActionName);
597
599 UE_DEPRECATED(5.6, "Use the version which takes a FInputKeyEventArgs instead.")
601 ENGINE_API virtual bool InputKey(const FInputKeyParams& Params) final;
603
605 ENGINE_API virtual bool InputKey(const FInputKeyEventArgs& Params);
606
608 UE_DEPRECATED(5.6, "Use the version which takes a FInputDeviceId and Timestamp instead.")
609 ENGINE_API bool InputTouch(uint32 Handle, ETouchType::Type Type, const FVector2D& TouchLocation, float Force, FDateTime DeviceTimestamp, uint32 TouchpadIndex);
610
612 ENGINE_API bool InputTouch(
613 const FInputDeviceId DeviceId,
615 ETouchType::Type Type,
616 const FVector2D& TouchLocation,
617 float Force,
618 uint32 TouchpadIndex,
619 const uint64 Timestamp);
620
622 UE_DEPRECATED(5.6, "Use the version which takes in a FInputDeviceId and a timestamp instead.")
623 ENGINE_API bool InputMotion(const FVector& Tilt, const FVector& RotationRate, const FVector& Gravity, const FVector& Acceleration);
624
626 ENGINE_API bool InputMotion(
627 const FInputDeviceId DeviceId,
628 const FVector& Tilt,
629 const FVector& RotationRate,
630 const FVector& Gravity,
631 const FVector& Acceleration,
632 const uint64 Timestamp);
633
635 UE_DEPRECATED(5.6, "Use the version which takes a device id and timestamp instead.")
636 ENGINE_API bool InputGesture(const FKey Gesture, const EInputEvent Event, const float Value);
637
639 ENGINE_API bool InputGesture(
640 const FInputDeviceId DeviceId,
641 const FKey Gesture,
642 const EInputEvent Event,
643 const float Value,
644 const uint64 Timestamp);
645
647 ENGINE_API void UpdatePinchStartDistance();
648
650 ENGINE_API void Tick(float DeltaTime);
651
653 ENGINE_API virtual void ProcessInputStack(const TArray<UInputComponent*>& InputComponentStack, const float DeltaTime, const bool bGamePaused);
654
656
661 ENGINE_API virtual void EvaluateKeyMapState(const float DeltaTime, const bool bGamePaused, OUT TArray<TPair<FKey, FKeyState*>>& KeysWithEvents);
662
667 ENGINE_API virtual void EvaluateInputDelegates(const TArray<UInputComponent*>& InputComponentStack, const float DeltaTime, const bool bGamePaused, const TArray<TPair<FKey, FKeyState*>>& KeysWithEvents);
668
673 virtual void PrepareInputDelegatesForEvaluation(const TArray<UInputComponent*>& InputComponentStack, const float DeltaTime, const bool bGamePaused, const TArray<TPair<FKey, FKeyState*>>& KeysWithEvents) {}
674
680 ENGINE_API virtual bool EvaluateInputComponentDelegates(UInputComponent* const IC, const TArray<TPair<FKey, FKeyState*>>& KeysWithEvents, const float DeltaTime, const bool bGamePaused);
681
687 ENGINE_API virtual void EvaluateBlockedInputComponent(UInputComponent* InputComponent);
688
689public:
690
692 ENGINE_API void DiscardPlayerInput();
693
703 ENGINE_API virtual float SmoothMouse(float aMouse, uint8& SampleCount, int32 Index);
704
713 ENGINE_API virtual void DisplayDebug(class UCanvas* Canvas, const FDebugDisplayInfo& DebugDisplay, float& YL, float& YPos);
714
716 FKeyState* GetKeyState(FKey InKey) { return KeyStateMap.Find(InKey); }
717 const FKeyState* GetKeyState(FKey InKey) const { return KeyStateMap.Find(InKey); }
718
720 ENGINE_API bool IsPressed( FKey InKey ) const;
721
723 ENGINE_API bool WasJustPressed( FKey InKey ) const;
724
726 ENGINE_API bool WasJustReleased( FKey InKey ) const;
727
729 ENGINE_API float GetTimeDown( FKey InKey ) const;
730
732 ENGINE_API float GetKeyValue( FKey InKey ) const;
733
735 ENGINE_API float GetRawKeyValue( FKey InKey ) const;
736
738 ENGINE_API FVector GetProcessedVectorKeyValue(FKey InKey) const;
739
741 ENGINE_API FVector GetRawVectorKeyValue(FKey InKey) const;
742
744 ENGINE_API bool IsAltPressed() const;
745
747 ENGINE_API bool IsCtrlPressed() const;
748
750 ENGINE_API bool IsShiftPressed() const;
751
753 ENGINE_API bool IsCmdPressed() const;
754
755 uint32 GetKeyMapBuildIndex() const { return KeyMapBuildIndex; }
756
757#if !UE_BUILD_SHIPPING
761 ENGINE_API bool Exec(UWorld* UInWorld, const TCHAR* Cmd,FOutputDevice& Ar);
762
764 ENGINE_API FString GetBind(FKey Key);
765
767 ENGINE_API FKeyBind GetExecBind(FString const& ExecCommand);
768
770 ENGINE_API bool ExecInputCommands( UWorld* InWorld, const TCHAR* Cmd, class FOutputDevice& Ar);
771#endif
772
774 ENGINE_API virtual const TArray<FInputActionKeyMapping>& GetKeysForAction(const FName ActionName) const;
775
777 ENGINE_API virtual const TArray<FInputAxisKeyMapping>& GetKeysForAxis(const FName AxisName) const;
778
779 static const TArray<FInputActionKeyMapping>& GetEngineDefinedActionMappings() { return EngineDefinedActionMappings; }
780 static const TArray<FInputAxisKeyMapping>& GetEngineDefinedAxisMappings() { return EngineDefinedAxisMappings; }
781
782protected:
784 { return KeyStateMap; }
785
790 ENGINE_API virtual FVector MassageVectorAxisInput(FKey Key, FVector RawValue);
791
796 ENGINE_API virtual float MassageAxisInput(FKey Key, float RawValue);
797
798private:
799
801 ENGINE_API void ProcessNonAxesKeys(FKey Inkey, FKeyState* KeyState);
802
803 // finished processing input for this frame, clean up for next update
804 ENGINE_API void FinishProcessingPlayerInput();
805
811 ENGINE_API bool KeyEventOccurred(FKey Key, EInputEvent Event, TArray<uint32>& EventIndices, const FKeyState* KeyState = nullptr) const;
812
813 /* Collects the chords and the delegates they invoke for an action binding
814 * @param ActionBinding - the action to determine whether it occurred
815 * @param bGamePaused - whether the game is currently paused
816 * @param FoundChords - the list of chord/delegate pairs to add to
817 * @param KeysToConsume - array to collect the keys associated with this binding that should be consumed
818 */
820
821 /* Helper function for GetChordsForAction to examine each keymapping that belongs to the ActionBinding
822 * @param KeyMapping - the key mapping to determine whether it occured
823 * @param ActionBinding - the action to determine whether it occurred
824 * @param bGamePaused - whether the game is currently paused
825 * @param FoundChords - the list of chord/delegate pairs to add to
826 * @param KeysToConsume - array to collect the keys associated with this binding that should be consumed
827 */
829
830 /* Collects the chords and the delegates they invoke for a key binding
831 * @param KeyBinding - the key to determine whether it occurred
832 * @param bGamePaused - whether the game is currently paused
833 * @param FoundChords - the list of chord/delegate pairs to add to
834 * @param KeysToConsume - array to collect the keys associated with this binding that should be consumed
835 */
837
838 /* Returns the summed values of all the components of this axis this frame
839 * @param AxisBinding - the action to determine if it ocurred
840 * @param KeysToConsume - array to collect the keys associated with this binding that should be consumed
841 * @param bHadAnyNonConsumedKeys - If false, then all keys related to the axis binding have been consumed and there were none that could be used to determine the value
842 *
843 * @return The value of the axis based on the all the key mappings to it added together
844 */
845 ENGINE_API float DetermineAxisValue(const FInputAxisBinding& AxisBinding, const bool bGamePaused, TArray<FKey>& KeysToConsume, OUT bool& bHadAnyNonConsumedKeys) const;
846
848 inline void ConditionalBuildKeyMappings() const
849 {
850 if (!bKeyMapsBuilt)
851 {
852 ConditionalBuildKeyMappings_Internal();
853 }
854 }
855
856 ENGINE_API virtual void ConditionalBuildKeyMappings_Internal() const;
857
859 ENGINE_API void ConsumeKey(FKey Key);
860
862 ENGINE_API bool IsKeyConsumed(FKey Key, const FKeyState* KeyState = nullptr) const;
863
864protected:
865
867 ENGINE_API void ConditionalInitAxisProperties();
868
870 ENGINE_API virtual bool IsKeyHandledByAction(FKey Key) const;
871
873 ENGINE_API void GetActionsBoundToKey(UInputComponent* InputComponent, FKey Key, TArray<TSharedPtr<FInputActionBinding>>& Actions);
874
875private:
876
878 // @todo: Move this up to Slate?
879 FGestureRecognizer GestureRecognizer;
880 friend FGestureRecognizer;
881
883 static ENGINE_API const TArray<FInputActionKeyMapping> NoKeyMappings;
884
886 static ENGINE_API const TArray<FInputAxisKeyMapping> NoAxisMappings;
887
889 static ENGINE_API TArray<FInputActionKeyMapping> EngineDefinedActionMappings;
890
892 static ENGINE_API TArray<FInputAxisKeyMapping> EngineDefinedAxisMappings;
893
894 // Temporary array used as part of input processing
895 TArray<uint32> EventIndices;
896
898 uint32 EventCount;
899
901 float LastTimeDilation;
902
903 friend class UEnhancedPlayerInput; // TEMP: Support for ongoing input rework
904};
EGLSurface EGLint timestamp
Definition AndroidOpenGLFunctions.h:13
constexpr FInputDeviceId INPUTDEVICEID_NONE
Definition CoreMiscDefines.h:590
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define OUT
Definition Platform.h:897
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EInputEvent
Definition EngineBaseTypes.h:31
@ IE_Pressed
Definition EngineBaseTypes.h:32
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
bool operator<(const FTextFormatString &LHS, const FTextFormatString &RHS)
Definition ITextFormatArgumentModifier.h:147
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
UE::Math::TVector2< double > FVector2D
Definition MathFwd.h:48
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition PlayerController.h:261
Definition DisplayDebugHelpers.h:9
Definition GestureRecognizer.h:13
Definition NameTypes.h:617
FORCEINLINE bool LexicalLess(const FName &Other) const
Definition NameTypes.h:821
Definition UnrealType.h:3087
Definition OutputDevice.h:133
Definition InputDevice.Build.cs:6
Definition Array.h:670
Definition EnumAsByte.h:22
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition Canvas.h:159
Definition InputComponent.h:729
Definition LocalPlayer.h:169
Definition Object.h:95
Definition PlayerInput.h:422
int32 MouseSamples
Definition PlayerInput.h:440
uint32 GetKeyMapBuildIndex() const
Definition PlayerInput.h:755
const FKeyState * GetKeyState(FKey InKey) const
Definition PlayerInput.h:717
static const TArray< FInputAxisKeyMapping > & GetEngineDefinedAxisMappings()
Definition PlayerInput.h:780
float MouseSamplingTotal
Definition PlayerInput.h:441
FKeyState * GetKeyState(FKey InKey)
Definition PlayerInput.h:716
static const TArray< FInputActionKeyMapping > & GetEngineDefinedActionMappings()
Definition PlayerInput.h:779
TMap< FKey, FKeyState > & GetKeyStateMap()
Definition PlayerInput.h:783
void SetMouseSensitivity(const float Sensitivity)
Definition PlayerInput.h:476
TMap< uint32, FVector > TouchEventLocations
Definition PlayerInput.h:435
Definition World.h:918
Definition InputCoreTypes.h:773
FString ToString(uint16 Value)
Definition PathFollowingComponent.cpp:82
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
static const int32 NUM_TOUCH_KEYS
Definition InputCoreTypes.h:695
static INPUTCORE_API const FKey Invalid
Definition InputCoreTypes.h:693
Definition DateTime.h:76
Definition PlayerInput.cpp:84
Definition InputComponent.h:328
Definition PlayerInput.h:148
bool operator<(const FInputActionKeyMapping &Other) const
Definition PlayerInput.h:185
FInputActionKeyMapping(const FName InActionName=NAME_None, const FKey InKey=EKeys::Invalid, const bool bInShift=false, const bool bInCtrl=false, const bool bInAlt=false, const bool bInCmd=false)
Definition PlayerInput.h:199
Definition InputComponent.h:493
Definition PlayerInput.h:129
Definition PlayerInput.h:216
FInputAxisKeyMapping(const FName InAxisName=NAME_None, const FKey InKey=EKeys::Invalid, const float InScale=1.f)
Definition PlayerInput.h:260
bool operator<(const FInputAxisKeyMapping &Other) const
Definition PlayerInput.h:238
Definition PlayerInput.h:98
Definition InputChord.h:24
Definition CoreMiscDefines.h:524
Definition InputComponent.h:383
Definition InputKeyEventArgs.h:26
Definition PlayerInput.h:35
Definition KeyState.h:13
Definition InputCoreTypes.h:50
Definition Tuple.h:652
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79