input-system

Centralize keyboard, cursor, and gamepad input handling via Engine.Input in FlatRedBall2.

11|3|Updated Feb 28, 2026
One-click install
npx skills add https://github.com/vchelaru/FlatRedBall2 --skill input-system-vchelaru
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: input-system
Source: https://github.com/vchelaru/FlatRedBall2/tree/main/frb-skills/input-system
Command: npx skills add https://github.com/vchelaru/FlatRedBall2 --skill input-system-vchelaru

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

All input is accessed through Engine.Input from inside any entity or screen. The input manager exposes keyboard, cursor (mouse/touch), and up to four gamepads.

Core Features & Use Cases

  • Unified access to Keyboard, Cursor, Gamepads via Engine.Input.
  • Provides helpers such as KeyboardInput2D, KeyboardPressableInput, GamepadInput2D, GamepadPressableInput, and input composition with Or.
  • Works across entities and screens to drive movement, actions, and UI interactions.

Quick Start

Create input handlers in CustomInitialize, then read Engine.Input in your update loop to drive movement and actions.

Frequently Asked Questions about input-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle keyboard, mouse, and gamepad input in FlatRedBall2?

Unified input handling in FlatRedBall2 is accessed through Engine.Input, exposing keyboard, cursor, and up to four gamepads across all entities and screens for consistent gameplay control.

How do I combine multiple input devices so a gamepad or keyboard can trigger the same action?

You can combine multiple input sources using the Or operator, allowing multi-source control where either a gamepad or keyboard press drives the same gameplay action or UI interaction.

What helper types are available for 2D movement and button presses in FlatRedBall2?

FlatRedBall2 provides helper types including KeyboardInput2D, GamepadInput2D for movement, and KeyboardPressableInput, GamepadPressableInput for actions, simplifying input setup in your update loop.

Can I access gamepad and keyboard input from inside any entity or screen?

Yes, centralized input is accessed via Engine.Input from inside any entity or screen, enabling consistent access to IKeyboard, ICursor, and IGamepad interfaces during gameplay.

When should I initialize input handlers in a FlatRedBall2 project?

Create input handlers in CustomInitialize, then read Engine.Input during your update loop to drive movement, actions, and UI interactions throughout the active screen.