Enhanced Raw Input 1.2
Enhanced Raw Input for Unreal Engine
Loading...
Searching...
No Matches
EnhancedRawInputFunctionLibrary.h
1// (c) 2025 by Lemontree Softworks - All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "InputCoreTypes.h"
7#include "Kismet/BlueprintFunctionLibrary.h"
8#include "EnhancedRawInputSettings.h"
9#include "EnhancedRawInputFunctionLibrary.generated.h"
10
11
12USTRUCT(BlueprintType)
14struct ENHANCEDRAWINPUT_API FEnhancedRawInputDeviceInfo
15{
16 GENERATED_BODY()
17
18
19 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
21
23 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
24 FString Manufacturer;
25
27 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
28 FString SerialNumber;
29
31 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
32 FString ProductName;
33
35 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
37
39 UPROPERTY(BlueprintReadOnly, Category = "EnhancedRawInput")
41
43 UPROPERTY(BlueprintReadOnly, Category = "EnhancedRawInput")
45
47 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
49
51 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
53
55 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
57
59 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
61};
62
63USTRUCT(BlueprintType)
65struct ENHANCEDRAWINPUT_API FEnhancedRawInputAxisInfo
66{
67 GENERATED_BODY()
68
69
70 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
71 EHidAxisUsages AxisUsage;
72
74 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
75 int32 MinValue;
76
78 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
79 int32 MaxValue;
80};
81
82USTRUCT(BlueprintType)
84struct ENHANCEDRAWINPUT_API FEnhancedRawInputPovInfo
85{
86 GENERATED_BODY()
87
88
89 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
90 int32 MinValue;
91
93 UPROPERTY(BlueprintReadOnly, Category="EnhancedRawInput")
94 int32 MaxValue;
95};
96
97UCLASS()
99class ENHANCEDRAWINPUT_API UEnhancedRawInputLibrary: public UBlueprintFunctionLibrary
100{
101 GENERATED_BODY()
102
103public:
104
106 UFUNCTION(BlueprintCallable, Category="EnhancedRawInput")
107 static TArray<FEnhancedRawInputDeviceInfo> GetConnectedDeviceInfos();
108
110 UFUNCTION(BlueprintCallable, Category="EnhancedRawInput")
111 static FEnhancedRawInputDeviceInfo GetDeviceInfoByUserIdAndDeviceId(const FPlatformUserId UserId, const FInputDeviceId DeviceId);
112
114 UFUNCTION(BlueprintCallable, Category = "EnhancedRawInput")
115 static FEnhancedRawInputDeviceInfo GetDeviceInfoByInterfaceName(const FString& InterfaceName);
116
118 UFUNCTION(BlueprintCallable, Category="EnhancedRawInput")
119 static TArray<FEnhancedRawInputAxisInfo> GetAxisInfosForDevice(const FString& InterfaceName);
120
122 UFUNCTION(BlueprintCallable, Category="EnhancedRawInput")
123 static TArray<FEnhancedRawInputPovInfo> GetPovInfosForDevice(const FString& InterfaceName);
124
126 // Returns TRUE if InterfaceName is valid
127 UFUNCTION(BlueprintCallable, Category="EnhancedRawInput")
128 static void SetDeviceActivity(const FString& InterfaceName, bool bIsActive);
129
132 UFUNCTION(BlueprintCallable, Category="EnhancedRawInput")
133 static void QueryDevices();
134
136 UFUNCTION(BlueprintPure, Category = "EnhancedRawInput")
138
139 UFUNCTION(BlueprintCallable, Category="EnhancedRawInput")
140 static bool SetMultiControllerId(const int Id, const FString& InterfaceName);
141};
Helper class to provide connected/disconnected events to blueprints.
Definition EnhancedRawInputBlueprint.h:13
Functions to use from Blueprints.
Definition EnhancedRawInputFunctionLibrary.h:100
static TArray< FEnhancedRawInputPovInfo > GetPovInfosForDevice(const FString &InterfaceName)
Returns information about all PoVs for a specific device.
Definition EnhancedRawInputFunctionLibrary.cpp:120
static TArray< FEnhancedRawInputAxisInfo > GetAxisInfosForDevice(const FString &InterfaceName)
Returns information about all axis for a specific device.
Definition EnhancedRawInputFunctionLibrary.cpp:100
static FEnhancedRawInputDeviceInfo GetDeviceInfoByInterfaceName(const FString &InterfaceName)
Returns information about a connected devices based on the specified interface name.
Definition EnhancedRawInputFunctionLibrary.cpp:72
static void SetDeviceActivity(const FString &InterfaceName, bool bIsActive)
Sets the activity of the device.
Definition EnhancedRawInputFunctionLibrary.cpp:139
static FEnhancedRawInputDeviceInfo GetDeviceInfoByUserIdAndDeviceId(const FPlatformUserId UserId, const FInputDeviceId DeviceId)
Returns information about a connected devices based on the specified User ID and Device ID.
Definition EnhancedRawInputFunctionLibrary.cpp:45
static UEnhancedRawInputBlueprint * GetEnhancedRawInputBlueprint()
Returns a 'UEnhancedRawInputBlueprint' Object, that can be used to receive device connect and disconn...
Definition EnhancedRawInputFunctionLibrary.cpp:157
static void QueryDevices()
Definition EnhancedRawInputFunctionLibrary.cpp:148
static TArray< FEnhancedRawInputDeviceInfo > GetConnectedDeviceInfos()
Returns information about all currently connected devices.
Definition EnhancedRawInputFunctionLibrary.cpp:14
Information about a specific Axis (Blueprint)
Definition EnhancedRawInputFunctionLibrary.h:66
EHidAxisUsages AxisUsage
HID usage for this axis. Corresponds to the values on HID Usage Page 1, as reported by the driver.
Definition EnhancedRawInputFunctionLibrary.h:71
int32 MinValue
Minimal value as specified by the driver.
Definition EnhancedRawInputFunctionLibrary.h:75
int32 MaxValue
Maximal value as specified by the driver.
Definition EnhancedRawInputFunctionLibrary.h:79
Information about a specific Device (Blueprint)
Definition EnhancedRawInputFunctionLibrary.h:15
FString Manufacturer
Manufacturer name as specified by the driver, may be empty.
Definition EnhancedRawInputFunctionLibrary.h:24
FString InterfaceName
Interface name, can be used to uniquely identify a device on a computer.
Definition EnhancedRawInputFunctionLibrary.h:20
int32 NumberOfAxis
Total number of Axis, as reported from driver.
Definition EnhancedRawInputFunctionLibrary.h:48
FString SerialNumber
Serial Number as specified by the driver, may be empty.
Definition EnhancedRawInputFunctionLibrary.h:28
int32 MultiControllerId
Multi Controller ID.
Definition EnhancedRawInputFunctionLibrary.h:60
int32 NumberOfButtons
Total number of Buttons, as reported from driver.
Definition EnhancedRawInputFunctionLibrary.h:52
int32 NumberOfPoVs
Total number of PoVs / Hat Switches / D-Pads, as reported from driver.
Definition EnhancedRawInputFunctionLibrary.h:56
bool bIsConnected
Connection State.
Definition EnhancedRawInputFunctionLibrary.h:40
bool bIsActive
Device Activity.
Definition EnhancedRawInputFunctionLibrary.h:44
FString ProductName
Product name as specified by the driver, may be empty.
Definition EnhancedRawInputFunctionLibrary.h:32
FProductIdentification ProductId
Product Identification.
Definition EnhancedRawInputFunctionLibrary.h:36
Information about a specific POV (Blueprint)
Definition EnhancedRawInputFunctionLibrary.h:85
int32 MaxValue
Maximal value as specified by the driver.
Definition EnhancedRawInputFunctionLibrary.h:94
int32 MinValue
Minimal value as specified by the driver.
Definition EnhancedRawInputFunctionLibrary.h:90
Identifies a HID Device.
Definition EnhancedRawInputSettings.h:70