steam-input-controller

Implements Steam Input controller support using ISteamInput action sets, IGA files, and button glyphs.

1|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/TMHSDigital/Steam-Cursor-Plugin --skill steam-input-controller-tmhsdigital
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: steam-input-controller
Source: https://github.com/TMHSDigital/Steam-Cursor-Plugin/tree/main/skills/steam-input-controller
Command: npx skills add https://github.com/TMHSDigital/Steam-Cursor-Plugin --skill steam-input-controller-tmhsdigital

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Adding controller support to a Steam game requires understanding the ISteamInput API, authoring In-Game Actions (IGA) VDF files, and handling per-controller button glyphs, which is error-prone without guidance. ## Core Features & Use Cases - IGA File Authoring: Generates a game_actions_{appid}.vdf file defining action sets, digital actions, analog actions, and localization strings for upload to the Steamworks Partner site. - SDK Integration Code: Provides C++ snippets for initializing ISteamInput, enumerating connected controllers, activating action sets, and reading digital and analog action data. - Dynamic Button Glyphs: Shows how to retrieve the correct button icon (Xbox A, PlayStation X, etc.) per controller type using GetGlyphPNGForActionOrigin. - Use Case: A platformer with move, jump, dash, and pause actions needs controller support that works on Xbox controllers and Steam Deck; this Skill produces the IGA file, SDK integration code, and glyph-based UI prompts. ## Quick Start Ask the agent to set up Steam Input for your game by listing your gameplay actions and target controllers such as Xbox and Steam Deck.

Frequently Asked Questions about steam-input-controller

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

FAQPage Schema
How do I add controller support to my Steam game?▼

Use the ISteamInput API with an action-based model: define actions in an In-Game Actions (IGA) VDF file, upload it to the Steamworks Partner site, then call SteamInput()->Init() and read actions via GetDigitalActionData and GetAnalogActionData in your game loop.

What is an In-Game Actions (IGA) file in Steam Input?▼

An IGA file is a VDF file named game_actions_{appid}.vdf that declares your action sets, digital actions, analog actions, and localization strings. You upload it under Application > Steam Input in the Steamworks Partner site so players can rebind controls.

Does Steam Input work on Steam Deck?▼

Yes, Steam Deck uses the same ISteamInput API and reports as k_ESteamInputType_SteamDeckController. Test with a physical Deck or use Desktop mode to simulate its trackpads and gyro, which behave differently from standard controllers.

How do I show the correct button glyph for each controller type?▼

Call GetDigitalActionOrigins to find the bound input origin, then pass it to GetGlyphPNGForActionOrigin to get a PNG path for the correct icon, such as A for Xbox or X for PlayStation. Load that path as a texture for your UI prompt.

Why is my Steam Input data stale or not updating?▼

ISteamInput requires calling RunFrame() every frame to poll controller state. Without it, action data stays stale. Also ensure action set handles are obtained via GetActionSetHandle after initialization, since stale handles fail silently.