> For the complete documentation index, see [llms.txt](https://earnest-robot.gitbook.io/auto-hand-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://earnest-robot.gitbook.io/auto-hand-docs/auto-hand/controller-input/hand-input.md).

# Hand Input

## Hand Input

Manages the controller input for hand grab/release triggers and the squeeze/unsqueeze events

<div align="left"><img src="https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2FEmMx3Uq3z1SCV3BEQw7U%2Fimage.png?alt=media&amp;token=97b721d0-ff60-4fc6-a949-c8989cd2f89c" alt="Where to find this component
in the player hierarchy"></div>

{% tabs %}
{% tab title="OpenXR" %}

## OpenXRHandControllerLink

<div align="left"><img src="https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2FFSUYEjOdoQMh6VcqrXO8%2Fimage.png?alt=media&amp;token=f5134a3c-49f6-4f0e-9bf9-f3d0c3c60c29" alt=""></div>
{% endtab %}

{% tab title="XR" %}

## XRHandControllerLink

<div align="left"><img src="https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2FKSJ3lURKsa25uRTNyw6H%2Fimage.png?alt=media&amp;token=b243f3e2-a320-4078-98dd-6e4e80290b11" alt=""></div>
{% endtab %}

{% tab title="MetaXR" %}

## Meta XR Hand Controller Link

<figure><img src="https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2FHr0B1CUYGVKjuhEoLmcV%2Fimage.png?alt=media&amp;token=601437b8-6c50-4183-831c-baf23f4b4b56" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="SteamVR" %}

## SteamVRHandControllerLink

<div align="left"><img src="https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2F4jfOQhpjZpDHnasPuAQC%2Fimage.png?alt=media&amp;token=116025cd-28f0-4bf1-b7c8-807ba5bd951b" alt=""></div>
{% endtab %}
{% endtabs %}

The base hand controller link class is looking for four inputs:

`Grab Axis` determines which input axis (float) the Hand uses for grabbing and finger pose input

`Squeeze Axis` determines which input axis (float) the Hand uses for squeezing axis and input

`Grab Button/Action` determines which input value (bool) the Hand uses for triggering the hand.Grab() and hand.Release() functions

`Squeeze Button/Action` determines which input value (bool) the hand uses for triggering the hand.Squeeze() hand.Unsqueeze(), grabbable.OnSqueeze / grabbable.Unsqueeze events

The hands also have some functions to return these input values without requiring a reference directly to the input system

`hand.OnTriggerGrab` will always called when the grab button is pressed

`hand.GetTriggerAxis` will return the grab axis float that the hand controller link is sending to the hand from the input system

`hand.GetSqueezeAxis` will return the squeeze axis float that the hand controller link is sending to the hand from the input system
