> ## Documentation Index
> Fetch the complete documentation index at: https://fdm.furkankursav.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Input Handling

AC\_FDM\_Component does not listen for navigation inputs; it only listens for container open/close inputs. It leaves the task of listening for navigation inputs and calling functions based on those inputs to the user.

As I mentioned in the Quick Start section, you need to implement `IA_FDM_SelectUp`, `IA_FDM_SelectDown`, `IA_FDM_SelectLeft`, `IA_FDM_SelectRight` input action events in your character/player controller.
Then you need to call FDM Directional Input function on Triggered Event with corresponding direction input

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image29.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=d759379164728f914949fbb6b74c088c" alt="image29" width="1077" height="477" data-path="images/image29.png" />

| Input Action         | Direction |
| -------------------- | --------- |
| IA\_FDM\_SelectUp    | Up        |
| IA\_FDM\_SelectDown  | Down      |
| IA\_FDM\_SelectLeft  | Left      |
| IA\_FDM\_SelectRight | Right     |

By default, FDM Component applies Navigation Mapping Context to Player Input automatically after the initialization, but you might not always want to apply the mapping context at the beginning, so you have the option to disable it from within the config asset.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image30.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=e240487fd70b85c4c334ad8698ec0f0c" alt="image30" width="1992" height="379" data-path="images/image30.png" />

If you turn off “Auto Bind Navigation Mapping Context” which is enabled by default in the configuration asset, you need to call the “Bind Navigation Mapping Context” function of AC\_FDM\_Component after the initialization.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image31.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=816dc624442d330b81aa0671bf1db075" alt="image31" width="1057" height="322" data-path="images/image31.png" />

and you can call the unbinding function whenever you want.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image32.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=aca0fb26f850006ec215caae66497141" alt="image32" width="499" height="332" data-path="images/image32.png" />

Unlike the navigation inputs, the slot changing input is handled automatically.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image33.gif?s=e15dbb4323e19a815d8cf322af62261d" alt="image33" width="257" height="257" data-path="images/image33.gif" />

You can change the hold duration in the configuration asset.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image34.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=cd7eee6981dc0f9bea835eb4207803d6" alt="image34" width="801" height="147" data-path="images/image34.png" />

And the component throws some events during the container opening/closing process.

* **On Slot Action Started:** When you start holding down the button
* **On Slot Action Progress(float):** When pressing the button and the container has not yet opened
* **On Slot Action Triggered:** When you press and hold the button long enough
* **On Slot Action Completed:** When you held the button enough
* **On Slot Action Cancelled:** When you release the button before you hold it enough.
* **On Nested Menu Changed:** When you open or close a container.

You can see this process  in `AC_FDM_Component > Input Handling Graph`.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image35.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=d197ffd3276ee9927810297e9d1d7932" alt="image35" width="577" height="155" data-path="images/image35.png" />
