input

Implement Bevy 0.15 input handling for keyboard, mouse, touch, and drag state.

Updated Apr 21, 2026
One-click install
npx skills add https://github.com/gregoryraymond/claude-agents-and-skills --skill input-gregoryraymond
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: input
Source: https://github.com/gregoryraymond/claude-agents-and-skills/tree/main/skills/input
Command: npx skills add https://github.com/gregoryraymond/claude-agents-and-skills --skill input-gregoryraymond

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Bevy 0.15 input handling across keyboard, mouse, touch, and drag state, enabling consistent input integration in games.

Core Features & Use Cases

  • Unified access patterns: poll-based ButtonInput and event-based EventReader for flexible input processing.
  • Multi-platform input sources: covers Bevy touches, Linux evdev, keyboard and mouse, with a dedicated UnifiedTapEvent and DragState.
  • Practical guidance for implementing a robust input system in Bevy projects, including camera controls and node interaction.

Quick Start

Follow the guide to wire keyboard, mouse, and touch inputs in your Bevy 0.15 project.

Frequently Asked Questions about input

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

FAQPage Schema
How do I handle keyboard, mouse, and touch input in Bevy 0.15?

You can handle keyboard, mouse, and touch input in Bevy 0.15 using a combination of poll-based ButtonInput and event-based EventReader access patterns. This approach establishes a robust input architecture across devices.

What is the difference between poll-based and event-based input in Bevy?

Poll-based input in Bevy checks button states continuously via ButtonInput, while event-based input uses EventReader to process discrete input occurrences. Using both ensures flexible and responsive game controls.

How do I implement drag state and unified tap events in Bevy?

Implement drag state and unified tap events in Bevy by establishing a dedicated DragState and UnifiedTapEvent architecture. This pattern standardizes pointer interactions across mouse and touch sources.

Does Bevy 0.15 support Linux evdev for touch input?

Yes, Bevy 0.15 supports multi-platform input sources including Linux evdev. The framework provides platform-specific guidance for integrating evdev alongside Bevy touches and standard mouse inputs.

What is the best way to structure a multi-platform input system in Bevy?

The best way to structure a multi-platform input system in Bevy is combining Resource-based and Event-based input access with a UnifiedTapEvent. This architecture cleanly separates platform-specific sources like camera.rs and touch.rs.

Can I use Bevy touches and mouse input simultaneously for game controls?

Yes, you can use Bevy touches and mouse input simultaneously by unifying them through a DragState and UnifiedTapEvent architecture. This setup provides consistent cross-device interaction handling.