Since this is a legacy action set layer, the game has no knowledge of it and the player will have to activate it themselves. Simply click on the button "Add Action Layer" in the configurator:įrom here you can give your action set layer a name and specify bindings for it. You create action set layers almost exactly like regular action sets. Once all three action set layers are stacked on top, the only remaining action from the base set is "shoot." Legacy Mode Note how layers can not only add new actions on top of underyling layers, they can also override previous bindings - in this case, the vehicle-specific "brake" and "gas" actions override the basic layer's "jump" and "interaction" actions, and "steer" overrides the "move" action bound to the trackpad and joystick on the base layer, and in turn is overriden by the "aim" action from the scoped-in action set layer. SteamInput()->DeactivateActionSetLayer( controllerHandle1, scopeHandle ) //remove the scoped-in layer when you lower the scope SteamInput()->ActivateActionSetLayer( controllerHandle1, scopeHandle ) //apply the scoped-in layer when you scope in
The code for this might look something like:
When the player selects a class, the appropriate layer is added, e.g. For basic gameplay, a base action set is always active and covers running around, picking up items, jumping, etc. This game has native Steam Input support and makes use of action set layers. Imagine a class-based shooter with vehicles. Additionally, in legacy mode, players can define their own action set layers and the inputs that trigger them, just as they can define their own player-triggered action sets. Your code could easily have race conditions or other subtle timing bugs that could swap the order.Īction set layers are intended for narrow use cases and a good practice is to apply and remove them only on specific game state changes.įor games with native Steam Input support, the developer can define specific action set layers activated by the game's code. The last layer applied will override any conflicting information that came before, so take special care to apply them in the correct order.
The only confirmed case being when a string longer than 63 characters is returned from a function and assigned to a variable while AutoHotkey is running as a Windows store app.įixed InputHook callbacks failing after input is stopped and restarted.
Added ARM64 version from forbs (unofficial release)įixed loading of JPG/GIF files which are already open for reading.įixed misidentification of digits/xdigits by if-var-is.Īdded a safety check for ControlGet Selected in case it is used with a non-Edit control.įixed variables being set to NULL in certain rare cases, causing crashes. Autohotkey can now be used as an Application Host (use AutohotkeyHost) Icons are now located in a single start menu folder.