# Godot Input Actions First Pass

Map player intent to actions before wiring controls directly to keys.

## Outcome
Make input remapping and controller support easier later.

## Safe first step
Create action names before binding keys.

## Ladder steps
### 1. Name player verbs
Learn to name player verbs as one discrete move in the project path.

Check: You can explain or demonstrate: name player verbs.

### 2. Map keys to actions
Learn to map keys to actions as one discrete move in the project path.

Check: You can explain or demonstrate: map keys to actions.

### 3. Read actions in code
Learn to read actions in code as one discrete move in the project path.

Check: You can explain or demonstrate: read actions in code.

### 4. Test keyboard and controller
Learn to test keyboard and controller as one discrete move in the project path.

Check: You can explain or demonstrate: test keyboard and controller.

## Examples
### Practice project settings -> input map
```sh
Project Settings -> Input Map
```
Expected signal: A visible result you can compare before moving on

### Practice input.is_action_pressed("move_right")
```sh
Input.is_action_pressed("move_right")
```
Expected signal: A visible result you can compare before moving on

### Practice run current scene
```sh
Run current scene
```
Expected signal: A visible result you can compare before moving on

## Common traps
- Hard-coding raw key names everywhere.
- Adding controller support after every script assumes keyboard keys.
- Testing only one input device.

## Practice task
Create a small practice case for godot input actions first pass and write what each step proves before moving to the next one.

## Next steps
- Download the Obsidian note.
- Review the Anki cards.
- Pick one related ladder and do the practice task.

## Related
- [Browse topic clusters](/topics/)
- [All learning ladders](/learn/)
