Skip to content

Support controllers#757

Open
tooda02 wants to merge 4 commits intoFacepunch:masterfrom
tooda02:master
Open

Support controllers#757
tooda02 wants to merge 4 commits intoFacepunch:masterfrom
tooda02:master

Conversation

@tooda02
Copy link
Copy Markdown

@tooda02 tooda02 commented Mar 6, 2024

Although Facepunch supports a few Steam Input functions, it is missing several essential ones and cannot be used in its current state to implement Steam Input (controller) support. This PR adds:

  • Init()
    Required to set up the SteamInput interface

  • GetAnalogActionGlyph()
    Gets a glyph for the specified analog (joystick) action

  • GetAnalogActionDescription()
    Gets the localized description for the specified analog action

  • GetAnalogActionOrigins()
    Return an array of all origins associated with the specified analog action

  • GetDigitalActionDescription()
    Gets the localized description for the specified digital (button) action

  • GetDigitalActionOrigins()
    Return an array of all origins associated with the specified digital action

  • GetPngActionGlyphForOrigin()
    Return an absolute path to the PNG image glyph for the specified action origin

  • InputActionOrigin
    An existing internal enum made public to allow its use by the application using Facepunch

  • ShowBindingPanel()
    Displays the Steam View Controller/Edit Controller form

  • STEAM_INPUT_MAX_ORIGINS
    An integer constant containing the maximum size of the array returned by the two Get...ActionOrigins() functions

In addition, the PR adds the following SteamUtils function and action supporting the on-screen keyboard:

  • ShowFloatingGamepadTextInput()
    Displays a full keyboard allowing the player to type into the currently-selected field

  • OnFloatingGamepadTextInputDismissed
    Action invoked when the player closes the on-screen keyboard

This update is used in the controller support of the publicly available game Stinky and Loof in Wonderland.

@tooda02 tooda02 changed the title Complete implementation of Steam Input support Support controllers May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant