• themoonisacheese@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Btw if you add your “epic” games as non-steam games in steam, you can use the steam overlay and change controller bindings like a steam game. It also is a great way to run windows software on Linux without tinkering.

        • gk99@kbin.social
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Yep, this is also the #1 reason I have no intention to buy games on Epic going forward. I had to do this for well over a year to use my Series X|S controller over Bluetooth with HITMAN III. They’re paying for exclusivity explicitly so that I can’t buy games on Steam, then I have to launch their launcher through Steam anyway because their platform sucks, so I just end up with an annoying middleman that makes me ask “why?”

          It’s a great tip for all the free games though.

    • atocci@kbin.social
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      How does Steam Input work? Does it contain drivers for almost any controller, or does it just map inputs for those controllers to Xinput?

      • HidingCat@kbin.social
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        It has support for a lot of controllers, including the popular console ones. It’s really a nifty feature of Steam.

      • themoonisacheese@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Most non-xbox controllers use well-known USB extents that are universally recognized as belonging to a generic controller. Windows will display a controller icon, libraries like pygame and SDL 2 will process them as regular controllers, etc. As such, most controllers need no drivers. The exception is that games written with directX use xinput, which is proprietary and has licensing costs to get your controller into (to prevent low-cost controllers from undercutting Microsoft’s price-gouging official offering).

        Converting USB controller to xinput has famously been a really hard problem, requiring a lot of fancy software that is often incompatible with anticheat and copy protection. Steam is able to do it because the steam overlay is whitelisted by everything that could block it, and is otherwise developped by really great devs.

        In the process of intercepting inputs to the game and translating them, you can imagine it’s quite easy to swap a button for another, that’s how controller remapping works. Some devs additionnally provide steam with custom things a controller may do that may not have a key assigned but becomes callable from a key through the overlay.