Skip to content

Consistent input controls design #631

Open

Description

@tracygardner

Consistent input controls design: Shared behaviour patterns across keyboard, touch and controllers.

  • Refactor and improve existing input handing for buttons
  • Clickable object discovery on mobile/touch/keyboard. You get a cursor change on desktop but this isn't visible to other users. Interactable icon added to closest interactable object for free camera and player following camera.
  • On click behaviour for games controllers? Should this be like E in some platforms where getting close to an object pops up an option. Should we map to an existing key so it works with one of the game controller buttons? Key mappings
  • On click behaviour for keyboard users. Do they need a way to move the cursor or an alternative like E? Went with an alternative like E to avoid the need to have a cursor in the center of the screen.
  • Refactor and improve existing camera behaviour
  • Moving the babylon js camera when on touchscreen. Add buttons for full interaction. (Page up / down etc on desktop)
  • Test adaptive input devices

Activity

  1. tracygardner commented on May 28, 2026

    @tracygardner
    ContributorAuthor

    Now you can control the camera with the onscreen buttons in with the default camera. Previously this required keyboard shortcuts and you could only rotate the camera on mobile.

    Image
  2. tracygardner commented on May 28, 2026

    @tracygardner
    ContributorAuthor

    The fly camera is available on mobile with the touch controls. You can detach the camera from the player with the gizmo and fly around.

    Image
  3. tracygardner commented on May 28, 2026

    @tracygardner
    ContributorAuthor

    A new input manager handles inputs and actions for all inputs (mouse, keyboard, touch, games controller, XR) making it easier to make things consistent.

  4. tracygardner commented on May 28, 2026

    @tracygardner
    ContributorAuthor

    Default inputs are consistent across input devices to make the camera control make sense with the on screen buttons.

    Button 1/1/R/Triangle/Y (camera up)
    Button 2/2/E/Circle/B (interact)
    Button 3/3/F/ Square/X (camera down)
    Button 4/4/Space/Cross/A (no default mapping)

    R is above F on a keyboard. Triangle is above Square is PS controller. Y is above X on Quest XR controller.

  5. tracygardner commented on May 28, 2026

    @tracygardner
    ContributorAuthor

    An icon shows when near the nearest interactable object in view. Placeholder icon design to be refined later.

    Image
  6. tracygardner commented on May 28, 2026

    @tracygardner
    ContributorAuthor

    Interact behaviour added for Button 2/2/e/gamepad circle/XR button B. Actvities the interactable object that currently has an interaction icon.

  7. 8 remaining items

  8. lawsie commented on Jun 23, 2026

    @lawsie
    Collaborator

    #686

    All axis controls (keyboard, HUD, drag) are available simultaneously and interchangeably where they make sense. On desktop, any can be used, and on touchscreen HUD and drag are available.

    Image
  9. lawsie commented on Jun 23, 2026

    @lawsie
    Collaborator

    #687
    The block context menu now shows up in desktop view as well, for mouse users only.

    Image
  10. tracygardner commented on Jul 15, 2026

    @tracygardner
    ContributorAuthor

    Adaptive PlayStation controller tested at community event in July. It worked. Additional joystick needed to control the camera as well as player movement, but this was available and tested.

  11. lawsie commented on Jul 30, 2026

    @lawsie
    Collaborator

    #731
    Add new tab to document on-screen and game pad controls

    Image
  12. lawsie commented on Aug 11, 2026

    @lawsie
    Collaborator

    #745

    • Show a message to surface the fact that the keyboard cursor can be triggered by using arrow keys
    image
    • Show a message to surface the fact that the on-screen controls can be hidden/shown with the cog button
    image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

  • Status
    Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions