Skip to content

[FEATURE] Overlay/merge partial layouts onto existing configs #42

@ClayBenson94

Description

@ClayBenson94

Is your feature request related to a problem? Please describe

This is not related to a problem with steaminputdb.com or the SteamInputDB Buddy App, but feels like an interesting opportunity!

My (simplified) use case is as follows: I have a "Mouse Mode" configuration that maps the right trackpad of my Steam Deck as a mouse, and has a mode shift on the left trackpad that allows me to temporarily reduce the sensitivity of the trackpad for fine-tuned clicking.

I would love to be able to have this configuration set up on a bunch of my games, but the only way I see to do this would be to:

  • A: Create a Template with this behavior
    • Downside: To my knowledge, Steam Input Templates define the entire button mapping, so I'd have to apply this template to my game, then go and re-map every other button to its intended behavior.
  • B: Manually Apply this behavior to each steam input config
    • Downside: This is very repetitive, and means that if I update something about the trackpad behavior, I'd have to go and update it everywhere else for consistency.

Describe the solution you'd like

I think it would be cool if "Partial" templates could be defined in VDF and applied (or "merged") on top of existing controller layouts. In my example, I would define a VDF/Template that only defines the trackpad behavior described above (and doesn't define anything for face buttons, triggers, paddles, gyro, etc...). I could then "merge" that Partial VDF Template with an actual controller config to effectively get the best of both worlds: My existing controller config for my game, with the new templatized mouse behavior I've written.

Describe alternatives you've considered

I sort of short-cut this section - but the 2 examples I gave above (Steam Input Templates and Manually defining the behavior) are the 2 main things I've considered as alternatives.

Additional context

I understand this is likely a massive feature request, and probably breaks a lot of how SteamInputDB works (e.g. I don't think SteamInputDB actually hosts/stores any of the VDFs itself, it uses Steam APIs). This might fit more naturally in the Buddy app side than the web side, since it'd need to read/write local VDFs, but I'll let you judge!

I'm happy to help out how I can with brainstorming or building out a Proof-of-Concept if this feels like the right home for it - if not, no hard feelings!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions