With Factorio 2.1 approaching its final release, I wanted to ask whether Wube would be willing to consider exposing a small part of the Steam Input API to mods.
I am not asking for Factorio to implement full native Steam Input support. My goal would be to implement that functionality in a mod instead.
What I would need from Factorio is only a narrow bridge to the relevant "ISteamInput" functionality already available through Steamworks, for example enough to:
- access connected Steam Input controllers;
- resolve and read digital/analog actions;
- select action sets/layers;
- query action origins/glyphs where useful.
The mod could then handle the higher-level integration itself.
I realise Factorio's Lua environment is intentionally sandboxed and deterministic, particularly for multiplayer, so simply exposing arbitrary native functions would obviously not be appropriate. I am only suggesting a deliberately restricted Steam Input interface, and input events could potentially be routed through Factorio's existing player-input mechanisms if direct polling from runtime Lua would cause determinism problems.
The motivation is primarily to support Steam Input's native/action-based mode rather than relying on Steam translating controller inputs into ordinary keyboard/gamepad inputs. This would enable things such as contextual action sets/layers, better use of Steam Controller/Steam Deck controls, and mod-defined controller interactions.
One complication for implementing this entirely in a mod is Steam's handling of the Input Action Manifest. Steam currently has good support for a developer-provided manifest, but no clean mechanism for a mod to persistently add or maintain its own actions. I have opened a separate Steamworks feature request proposing persistent/versioned manifest overrides or overlays for this use case, so I am hoping that part can be addressed on the Steam side rather than requiring Factorio to implement its own manifest-management system.
Before putting together a more detailed proposal or prototype, I mainly wanted to ask:
Is exposing a small, purpose-built Steam Input interface to mods something Wube would be willing to consider for 2.1 or later?
If so, I would be happy to investigate the smallest useful API surface and provide a more concrete proposal.
Minimal Steam Input API access for mods
Post your ideas and suggestions how to improve the game.
Moderator: ickputzdirwech
Return to “Ideas and Suggestions”
Jump to
- General
- ↳ Releases
- ↳ News
- ↳ General discussion
- ↳ Multiplayer
- ↳ Find Servers / Tools / Guides
- ↳ Show your Creations
- ↳ Videos
- ↳ Combinator Creations
- ↳ Mechanical Throughput Magic (circuit-free)
- ↳ Railway Setups
- ↳ Energy Production
- ↳ Medium/Big/Gigantic Sized Structures
- ↳ Fan Art
- ↳ Gameplay Help
- ↳ Spread the Word
- ↳ Off topic
- ↳ This Forum
- ↳ Celebration Party
- Support
- ↳ Gameplay Help
- ↳ Discover Factorio Wiki
- ↳ Discover Others Creations
- ↳ Discover Mods
- ↳ Discover Tools Around Factorio
- ↳ Technical Help
- ↳ Bug Reports
- ↳ Resolved for the next release
- ↳ Assigned
- ↳ Not a bug
- ↳ Pending
- ↳ 1 / 0 magic
- ↳ Duplicates
- ↳ Minor issues
- ↳ Desyncs with mods
- ↳ Won't fix.
- ↳ Resolved Problems and Bugs
- Factorio Direction
- ↳ Ideas and Suggestions
- ↳ Outdated/Not implemented
- ↳ Frequently Suggested / Link Collections
- ↳ Implemented Suggestions
- ↳ Development Proposals
- ↳ Balancing
- Contributions
- ↳ Mods
- ↳ Download mods
- ↳ Mod portal Discussion
- ↳ Mods
- ↳ Mod Packs / Libs / Special Interest
- ↳ 5dim's mod
- ↳ Angels Mods
- ↳ Atomic Power
- ↳ Bob's mods
- ↳ DyWorld
- ↳ F.A.R.L
- ↳ Fentus Challenge & Tool Mods
- ↳ Logistic Train Network
- ↳ MoMods
- ↳ Reika's Mods
- ↳ Resource Spawner Overhaul
- ↳ Yuoki Industries
- ↳ PyMods
- ↳ Questions, reviews and ratings
- ↳ Modding Discussions
- ↳ Modding discussion
- ↳ Modding help
- ↳ Ideas and Requests For Mods
- ↳ Modding interface requests
- ↳ Implemented mod requests
- ↳ Already exists
- ↳ Won't implement
- ↳ Documentation Improvement Requests
- ↳ Resolved Requests
- ↳ Development tools
- ↳ Tools
- ↳ Mod and installation managers
- ↳ Cheatsheets / Calculators / Viewers
- ↳ Development tools
- ↳ Special interest mods and libraries
- ↳ Modding Development
- ↳ Multiplayer / Dedicated Server
- ↳ Multiplayer Board
- ↳ Archive
- ↳ Maps and Scenarios
- ↳ Translations
- ↳ Texture Packs
- ↳ Fan Art
- ↳ Wiki Talk
- ↳ To be sorted
- ↳ Campaign / Scenario suggestions
