cohtml.InputSystem.CohtmlInputHandler
Subscribes to input events of Unity3D’s Input System or Input Manager and then forwards these events to CohtmlView’s that can receive input.
Inherits from MonoBehaviour
Public Functions
Section titled “Public Functions”| Name | |
|---|---|
| void | FocusView(CohtmlView view, PointerEvent.EventType type =PointerEvent.EventType.Up) Assigns input focus onto the CohtmlView and its owning CohtmlUISystem if the EnableAutoFocus option is enabled. |
| Camera | GetRaycastCamera() Returns the camera used to handle input events through raycast. |
| void | SendEventToViews(PointerEvent eventData, InputEventWrapper unityEvent) Sends input events received from Unity3D to all CohtmlView components that have input events enabled. |
| void | SendEventToViews(TouchEventCollection touches) Sends touch events received from Unity3D to all CohtmlView components that have touch events enabled. |
| void | SendKeyToFocusedView(KeyEvent eventData, InputEventWrapper unityEvent) Sends a keyboard event to the CohtmlView component that has input focus. |
| void | SendCharToFocusedView(KeyEvent eventData, char character) Sends a char event to the CohtmlView component that has input focus. |
| void | SendEventToFocusedView(KeyEvent eventData) Sends a keyboard event to the CohtmlView component that has input focus. |
| void | GatherWorldViewsSorted(ref PointerEvent pointerEvent) Gathers CohtmlView components positioned in the Unity3D Scene by firing a Raycast at the position of the provided PointerEvent. Once the CohtmlView components are gathered, they are sorted by the distance between the Raycast origin and the impact point. |
| CohtmlInputHandler | GetOrInitInstance() Returns a Singleton instance of the CohtmlInputHandler. |
| Actions | HandleInputEvent(INodeProxy node, PhaseType phase) Invoked before a DOM node is affected by an event. This method determines whether Cohtml should ignore this event or continue handling it. |
| Vector2Int | CalculateViewClickPosition(CohtmlView view, Vector2Int screenPosition) Calculates the click position on a CohtmlView component based on its RenderMode. |
| Vector2 | TransformScreenPositionToRawImageUV(Vector2 screenPosition, CohtmlView view) Transforms a screen space position to local coordinates of the RawImage component where a CohtmlView is rendered. |
| Vector2Int | ScaleUVToViewSize(Vector2 localPointUV, CohtmlView view) Scales the UV coordinates of a point with the CohtmlView dimensions. Results in mapping accurate point from a rectangle onto the CohtmlView dimensions. |
Protected Functions
Section titled “Protected Functions”| Name | |
|---|---|
| virtual void | Awake() |
| virtual void | Start() |
| virtual void | OnEnable() |
| virtual void | Reset() |
| virtual void | OnDestroy() |
| virtual void | OnGUI() |
Public Properties
Section titled “Public Properties”| Name | |
|---|---|
| InputBase | Input Returns the current InputBase instance which is either InputManager or InputSystem. |
| Camera | RaycastCamera The camera used for handling input events with raycast. By default is the Main Camera. |
| Action< CohtmlView > | OnFocusView Invoked when a CohtmlView component is focused. |
| Action< CohtmlUISystem > | OnFocusSystem Invoked when a new CohtmlUISystem is focused unless its the same as the previously focused CohtmlUISystem. |
| Action< InputEventWrapper > | OnMouseEventTargetNotFound Invoked when a mouse event was not consumed by a CohtmlView. |
| Action< TouchEventCollection > | OnTouchEventTargetNotFound Invoked when a touch event was not consumed by a CohtmlView. |
| Action< InputEventWrapper > | OnKeyEventTargetNotFound Invoked when a key event was not consumed by a CohtmlView. |
| Action< char > | OnCharEventTargetNotFound Invoked when a char event was not consumed by a CohtmlView. |
| Action< GamepadBase.GamepadMap > | OnGamepadEventTargetNotFound Invoked when a gamepad event was not consumed by a CohtmlView. |
| CohtmlUISystem | FocusedSystem Returns the current CohtmlUISystem that is on input focus. |
| CohtmlView | FocusedView Returns the current CohtmlView that is on input focus. |
Public Attributes
Section titled “Public Attributes”| Name | |
|---|---|
| bool | EnableMouse Enables the Cohtml integration to send mouse events automatically to the UI. Cannot be changed at runtime. |
| bool | EnableKeyboard Enables the Cohtml integration to send keyboard events automatically to the UI. Cannot be changed at runtime. |
| bool | EnableGamepad Enables the Cohtml integration to send events from one or multiple gamepads automatically to the UI. Cannot be changed at runtime. |
| bool | EnableTouch Enables the Cohtml integration to send touch events automatically to the UI. Cannot be changed at runtime. |
| string [] | IgnoredInputCSSClasses CSS classes that mark a HTML tag as ignored for the Cohtml input event system. If the tag is а parent, it will ignore its children. |
| int | ScrollPixels Determinate how many pixels will scroll with one tick of the mouse scroll. Negative number will reverse the direction of scrolling. Can be changed at runtime. |
| bool | EnableAutoFocus The event system automatically manages focus between views. The focused in-world CohtmlView will be below the mouse pointer or on-screen. The first focused by default is an on-screen CohtmlView component, attached to the main camera if exists. |
| bool | EnableFocusOnPointerMove Enable the input handler to focus views on pointer move event. This property is ignored when disabling the EnableAutoFocus option. Can be changed at runtime. |
| bool | InputEnabled Returns true if any of the Mouse, Keyboard, Gamepad or Touch input devices are enabled. |
| CohtmlInputHandler | Instance Returns a Singleton instance of the CohtmlInputHandler. |
Public Functions Documentation
Section titled “Public Functions Documentation”function FocusView
Section titled “function FocusView”void FocusView( CohtmlView view, PointerEvent.EventType type =PointerEvent.EventType.Up)Assigns input focus onto the CohtmlView and its owning CohtmlUISystem if the EnableAutoFocus option is enabled.
Parameters:
- view The CohtmlView component that should be focused by input.
- type The type of the event.
Note: For Pointer Move events, the CohtmlView component will be focused only if the EnableFocusOnPointerMove option is enabled.
function GetRaycastCamera
Section titled “function GetRaycastCamera”Camera GetRaycastCamera()Returns the camera used to handle input events through raycast.
function SendEventToViews
Section titled “function SendEventToViews”void SendEventToViews( PointerEvent eventData, InputEventWrapper unityEvent)Sends input events received from Unity3D to all CohtmlView components that have input events enabled.
function SendEventToViews
Section titled “function SendEventToViews”void SendEventToViews( TouchEventCollection touches)Sends touch events received from Unity3D to all CohtmlView components that have touch events enabled.
function SendKeyToFocusedView
Section titled “function SendKeyToFocusedView”void SendKeyToFocusedView( KeyEvent eventData, InputEventWrapper unityEvent)Sends a keyboard event to the CohtmlView component that has input focus.
function SendCharToFocusedView
Section titled “function SendCharToFocusedView”void SendCharToFocusedView( KeyEvent eventData, char character)Sends a char event to the CohtmlView component that has input focus.
function SendEventToFocusedView
Section titled “function SendEventToFocusedView”void SendEventToFocusedView( KeyEvent eventData)Sends a keyboard event to the CohtmlView component that has input focus.
function GatherWorldViewsSorted
Section titled “function GatherWorldViewsSorted”void GatherWorldViewsSorted( ref PointerEvent pointerEvent)Gathers CohtmlView components positioned in the Unity3D Scene by firing a Raycast at the position of the provided PointerEvent. Once the CohtmlView components are gathered, they are sorted by the distance between the Raycast origin and the impact point.
Parameters:
- pointerEvent The event whose position will be used to fire a Raycast.
function GetOrInitInstance
Section titled “function GetOrInitInstance”static CohtmlInputHandler GetOrInitInstance()Returns a Singleton instance of the CohtmlInputHandler.
function HandleInputEvent
Section titled “function HandleInputEvent”static Actions HandleInputEvent( INodeProxy node, PhaseType phase)Invoked before a DOM node is affected by an event. This method determines whether Cohtml should ignore this event or continue handling it.
Parameters:
- node The DOM node the event can affect.
- phase The phase of the event. Can be None, Capturing, At Target or Bubbling.
function CalculateViewClickPosition
Section titled “function CalculateViewClickPosition”static Vector2Int CalculateViewClickPosition( CohtmlView view, Vector2Int screenPosition)Calculates the click position on a CohtmlView component based on its RenderMode.
Parameters:
- view
- screenPosition The click position on the screen
Return: The returned position is in local coordinate space of the view with Top Left corner origin
function TransformScreenPositionToRawImageUV
Section titled “function TransformScreenPositionToRawImageUV”static Vector2 TransformScreenPositionToRawImageUV( Vector2 screenPosition, CohtmlView view)Transforms a screen space position to local coordinates of the RawImage component where a CohtmlView is rendered.
Parameters:
- screenPosition The posiiton in screen space.
- view The CohtmlView rendering in the RawImage.
function ScaleUVToViewSize
Section titled “function ScaleUVToViewSize”static Vector2Int ScaleUVToViewSize( Vector2 localPointUV, CohtmlView view)Scales the UV coordinates of a point with the CohtmlView dimensions. Results in mapping accurate point from a rectangle onto the CohtmlView dimensions.
Parameters:
- localPointUV The UV coordinates of the position.
- view The CohtmlView to map the point to.
Protected Functions Documentation
Section titled “Protected Functions Documentation”function Awake
Section titled “function Awake”virtual void Awake()function Start
Section titled “function Start”virtual void Start()function OnEnable
Section titled “function OnEnable”virtual void OnEnable()function Reset
Section titled “function Reset”virtual void Reset()function OnDestroy
Section titled “function OnDestroy”virtual void OnDestroy()function OnGUI
Section titled “function OnGUI”virtual void OnGUI()Public Property Documentation
Section titled “Public Property Documentation”property Input
Section titled “property Input”static InputBase Input;Returns the current InputBase instance which is either InputManager or InputSystem.
property RaycastCamera
Section titled “property RaycastCamera”static Camera RaycastCamera;The camera used for handling input events with raycast. By default is the Main Camera.
property OnFocusView
Section titled “property OnFocusView”static Action< CohtmlView > OnFocusView;Invoked when a CohtmlView component is focused.
property OnFocusSystem
Section titled “property OnFocusSystem”static Action< CohtmlUISystem > OnFocusSystem;Invoked when a new CohtmlUISystem is focused unless its the same as the previously focused CohtmlUISystem.
property OnMouseEventTargetNotFound
Section titled “property OnMouseEventTargetNotFound”static Action< InputEventWrapper > OnMouseEventTargetNotFound;Invoked when a mouse event was not consumed by a CohtmlView.
property OnTouchEventTargetNotFound
Section titled “property OnTouchEventTargetNotFound”static Action< TouchEventCollection > OnTouchEventTargetNotFound;Invoked when a touch event was not consumed by a CohtmlView.
property OnKeyEventTargetNotFound
Section titled “property OnKeyEventTargetNotFound”static Action< InputEventWrapper > OnKeyEventTargetNotFound;Invoked when a key event was not consumed by a CohtmlView.
property OnCharEventTargetNotFound
Section titled “property OnCharEventTargetNotFound”static Action< char > OnCharEventTargetNotFound;Invoked when a char event was not consumed by a CohtmlView.
property OnGamepadEventTargetNotFound
Section titled “property OnGamepadEventTargetNotFound”static Action< GamepadBase.GamepadMap > OnGamepadEventTargetNotFound;Invoked when a gamepad event was not consumed by a CohtmlView.
property FocusedSystem
Section titled “property FocusedSystem”static CohtmlUISystem FocusedSystem;Returns the current CohtmlUISystem that is on input focus.
property FocusedView
Section titled “property FocusedView”static CohtmlView FocusedView;Returns the current CohtmlView that is on input focus.
Public Attributes Documentation
Section titled “Public Attributes Documentation”variable EnableMouse
Section titled “variable EnableMouse”bool EnableMouse = true;Enables the Cohtml integration to send mouse events automatically to the UI. Cannot be changed at runtime.
variable EnableKeyboard
Section titled “variable EnableKeyboard”bool EnableKeyboard = true;Enables the Cohtml integration to send keyboard events automatically to the UI. Cannot be changed at runtime.
variable EnableGamepad
Section titled “variable EnableGamepad”bool EnableGamepad = true;Enables the Cohtml integration to send events from one or multiple gamepads automatically to the UI. Cannot be changed at runtime.
variable EnableTouch
Section titled “variable EnableTouch”bool EnableTouch = true;Enables the Cohtml integration to send touch events automatically to the UI. Cannot be changed at runtime.
variable IgnoredInputCSSClasses
Section titled “variable IgnoredInputCSSClasses”string [] IgnoredInputCSSClasses = { "hidden" };CSS classes that mark a HTML tag as ignored for the Cohtml input event system. If the tag is а parent, it will ignore its children.
variable ScrollPixels
Section titled “variable ScrollPixels”int ScrollPixels = 40;Determinate how many pixels will scroll with one tick of the mouse scroll. Negative number will reverse the direction of scrolling. Can be changed at runtime.
Note: That setting has no effect on touch pan gestures.
variable EnableAutoFocus
Section titled “variable EnableAutoFocus”bool EnableAutoFocus = true;The event system automatically manages focus between views. The focused in-world CohtmlView will be below the mouse pointer or on-screen. The first focused by default is an on-screen CohtmlView component, attached to the main camera if exists.
variable EnableFocusOnPointerMove
Section titled “variable EnableFocusOnPointerMove”bool EnableFocusOnPointerMove = false;Enable the input handler to focus views on pointer move event. This property is ignored when disabling the EnableAutoFocus option. Can be changed at runtime.
variable InputEnabled
Section titled “variable InputEnabled”bool InputEnabled => EnableMouse || EnableKeyboard || EnableGamepad || EnableTouch;Returns true if any of the Mouse, Keyboard, Gamepad or Touch input devices are enabled.
variable Instance
Section titled “variable Instance”static CohtmlInputHandler Instance => GetOrInitInstance();Returns a Singleton instance of the CohtmlInputHandler.
© 2026 Coherent Labs. All rights reserved.