| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/Experimental/InteractiveToolsFramework/Public/InputRouter.h |
Include |
#include "InputRouter.h" |
class UInputRouter : public UObject
UInputRouter mediates between a higher-level input event source (eg like an FEdMode) and a set of InputBehaviors that respond to those events. Sets of InputBehaviors are registered, and then PostInputEvent() is called for each event.
Internally one of the active Behaviors may "capture" the event stream. Separate "Left" and "Right" captures are supported, which means that (eg) an independent capture can be tracked for each VR controller.
If the input device supports "hover", PostHoverInputEvent() will forward hover events to InputBehaviors that also support it.
Name | Description | ||
---|---|---|---|
|
ActiveInputBehaviors |
||
|
UInputBehavior ... |
ActiveKeyboardCapture |
|
|
ActiveKeyboardCaptureData |
||
|
void * |
ActiveKeyboardCaptureOwner |
|
|
UInputBehavior ... |
ActiveLeftCapture |
|
|
ActiveLeftCaptureData |
||
|
void * |
ActiveLeftCaptureOwner |
|
|
UInputBehavior ... |
ActiveLeftHoverCapture |
Hover support |
|
void * |
ActiveLeftHoverCaptureOwner |
|
|
UInputBehavior ... |
ActiveRightCapture |
|
|
ActiveRightCaptureData |
||
|
void * |
ActiveRightCaptureOwner |
|
|
bAutoInvalidateOnCapture |
If true, then we post an Invalidation (ie redraw) request on every captured input event (default false) |
|
|
bAutoInvalidateOnHover |
If true, then we post an Invalidation (ie redraw) request if any active InputBehavior responds to Hover events (default false) |
|
|
TransactionsAPI |
Name | Description | |
---|---|---|
|
UInputRouter() |
Name | Description | ||
---|---|---|---|
|
CheckForKeyboardCaptures ( |
||
|
CheckForMouseCaptures ( |
||
|
DeregisterSource ( |
Remove Behaviors from this Source from the active set |
|
|
ForceTerminateAll() |
Terminate any active captures and end all hovers |
|
|
ForceTerminateSource ( |
If this Behavior is capturing, call ForceEndCapture() to notify that we are taking capture away |
|
|
HandleCapturedKeyboardInput ( |
||
|
HandleCapturedMouseInput ( |
||
|
HasActiveMouseCapture() |
Returns true if there is an active mouse capture |
|
|
Initialize ( |
Initialize the InputRouter with the necessary Context-level state. |
|
|
PostHoverInputEvent ( |
Insert a new hover input event which is forwarded to all hover-enabled Behaviors |
|
|
PostInputEvent ( |
Insert a new input event which is used to check for new captures, or forwarded to active capture |
|
|
PostInputEvent_Keyboard ( |
||
|
PostInputEvent_Mouse ( |
||
|
ProcessMouseHover ( |
||
|
RegisterBehavior ( |
Add a new InputBehavior to the active behavior set, with optional Source and GroupName |
|
|
RegisterSource ( |
Add a new behavior Source. Behaviors from this source will be added to the active behavior set. |
|
|
Shutdown() |
Shutdown the InputRouter. |
|
|
TerminateHover ( |