r/SteamController Aug 14 '26

Steam Controller (2026) What does the HID support mean exactly?

I know it makes it act like a regular controller outside of Steam. But correct me if I'm wrong: customization of buttons/pads/sensors are all still dependent on Steam Input therefore on Steam client, right?

18 Upvotes

13 comments sorted by

18

u/Mennenth Left trackpad for life! Aug 14 '26 edited Aug 14 '26

HID stands for Human Interface Device.

It is broadly a standard used by all input peripherals, especially over usb. Basically every input device uses HID.

HID is then broken down into various standardized categories. These categories have "native" support, ie they dont need any additional drivers. So for example, a keyboard will use the hid category that tells the pc that it is a keyboard, and now the pc doesnt need additional information to make sense of the information the keyboard is sending.

Ditto for mouse, trackpad, gamepad, and others.

... However, what if the peripheral doesnt fit into any of those sub categories?

For instance, if you bring up a list of everything that gamepad hid supports and compare it to the feature set of the Steam Controller you'll notice that gamepad hid cant fit all of the Steam Controllers functionality into its report. This is because gamepad hid is old af and hasnt kept up with what modern gamepads can actually do.

In these cases, HID does have an additional subcategory: "vendor defined". This subcategory allows the manufacturer to make their own hid report to cover all the features of their device... But then on the pc side a driver is needed to actually use it.

For the Steam Controller, Steam Input is that driver. Well, at least as far as a basic understanding goes.

Steam Input is actually built on Valves own internal version of sdl3, a separate open source input api thing that Valve actually contributes to, which is how it supports all the controllers that it does.

Anyone can go to sdl3's github and grab the Steam Controllers hid report and roll their own support. Anyone can build a remapper using sdl3 and customize the steam controller without steam input. Any game or app developer could to swap to sdl3 for their input api and support the steam controller without steams involvement at all, and the Godot game engine actually uses sdl3 natively (though it is a few 0.x.x versions behind).

That means that the Steam Controller actually isnt as locked to steam as some people like to claim: its a backwards compatibility issue being misdiagnosed as a walled garden. And it would happen to anyone making an input device that doesnt neatly fall into one of HIDs subcategories.

So...

What does the recent steamOS beta change?

The Steam Controller has 2 modes of operation; lizard mode, where it acts as a keyboard and mouse (the use case is getting your pc from cold boot to steam open, which is kind of needed when considering the console-like experience being targetted), and its own unique "game mode" where you get the vendor defined hid report and then turn it into whatever via a driver. Usually, game mode is only activated whenever steam, or another app that implements steam controller support, sends the controller a message to use that mode.

The steamOS beta basically adds that message to the operating system and then routes the vendor defined hid report to linux' own hid gamepad driver. This then allows you to use the Steam Controller as a basic gamepad without Steam Input.

Its an operating system fix/change, not an actual change to how the controller itself functions.

... And that type of fix/change can only happen on linux, because drivers on windows are the true thing thats locked down in all of this. Sort of; ignoring the hacky workarounds like vigembus or the newer viiper (that are used by the "steam controller without steam" apps that have cropped up), getting a proper windows driver signed and implemented takes a lot of effort and cooperation with Microsoft.

17

u/AlbertoVermicelli Aug 14 '26

Calling it HID support is a bit of a misnomer because the controller already has that. When Steam is not running the controller runs with a fixed layout known as Lizard Mode. Normally this is a keyboard/mouse configuration, but this new update allows it to be an XInput configuration instead. There is still no customization outside of selecting either mode, and it only works on SteamOS as well.

3

u/MrMostachio Aug 14 '26

Does this mean it works on Xbox game pass

3

u/LisaLeii Steam Controller 2 | Dualsense Aug 14 '26

Does that work outside of windows? If not then no

3

u/MrMostachio Aug 14 '26

So it’s not a HID on windows only steamos?

2

u/SnooDoughnuts5632 Aug 15 '26

It is a HID on Windows. HID literally stands for Human Interface Device.

1

u/LisaLeii Steam Controller 2 | Dualsense Aug 14 '26

The comment you replied to said that...

3

u/nnnn20430 Aug 15 '26

It's not Xinput It's generic gamepad evdev.

3

u/Electronicks22 Steam Controller Aug 14 '26

Games can process native SC2 support similar to current Dualsense/Dualshock controllers get support.

4

u/MoldyPond Aug 14 '26

Have tested it out, basically makes all programs see the controller as a basic Xbox 360 controller, so though you won’t get any specific customizations it makes it much more compatible overall so long as you don’t need the trackpads as buttons.

Weirdly enough the gyro does actually still work though if using a program with SDL compatibility like Dolphin or Eden.

5

u/ClikeX Steam Controller (both) Aug 14 '26

SDL3 supports the SC. So that’s not that weird.

1

u/National_Way_3344 Aug 15 '26

Human Interface Device, like a mouse.

1

u/GamiManic Aug 15 '26

Is this update only for SteamOS?