Uses Input Map. Supports keyboard + gamepad. Define actions in Project Settings → Input Map.
Raw keycode — no Input Map needed. Use KEY_* constants e.g. KEY_W, KEY_SPACE, KEY_SHIFT.
On-screen buttons. Generates bool variables — wire them to button signals in _ready().