Add ISteamInput interface from Facepunch.Steamworks
Initialize Steam Input from managed
Add dispatch events to SteamInput for device callbacks dis/connected, these are always called for already connected controllers
Update Steamworks 1.53 for Steam Input improvements including Steam Deck support
Update networksystem to resolve removal of deprecated funcs / renaming in Steamworks 1.58
SteamInput.EnableDeviceCallbacks() - should be giving us controller connected / disconnected events but isn't, steamworks bug?
Basic action manifest with menu & ingame controls sets, in future we could provide a lot more versatile sets for different genres
Start exposing a Controller class in Sandbox.Game, let's make them easily grabbable so we can do UI or BuildInput with them directly
Chuck up some debug panels in the input settings menu for each connected controller to debug features
Async steam input glyph texture loader
Generalize Steam Input into a Controller API, abstract all actions into enums close to our pre-existing IN_ actions
Quick button prompt panel e.g `<ControllerActionHint ActionName="Jump">`, uses relevant user's bound controller glyphs.
Forward SteamInput callbacks to C# Steamworks properly
Poll action handles until they're non zero, workaround for a known bug where we shouldn't be needing to do this
Update IGA file to match enums and action manifest, add a basic PS4 controller manifest
Remove dead code
Manage controller connected with callbacks and add events for connected / disconnected, this should keep handles in place too on reconnects
Controller.TriggerVibration: accept normalized floats instead of 0 <-> ushort.MaxValue and support Xbox trigger impusle rumble.
Disable XInput init / polling in inputsystem, handle it all in managed via Steam Input
Controller API Init/Poll in Sandbox.Client too
Iterate more on Controller API, replicate Down/Pressed/Up methods of InputBuilder, document more shit
Create controller input in InputBuilder from managed Controller API ( maybe this should be in base instead so the user can override it for whatever reason? )
Initial work on UI navigation with controller