Skip to content

Controls

Super edited this page Oct 12, 2023 · 2 revisions

Controls

Both keyboards and game controllers are natively supported by Open Manifold. Most common game controllers should work right out of the gate, and further support can be added via SDL's gamecontrollerdb.txt; place this file in the same directory as the game's executable if you want to use it.

Below is a chart showing what each key and/or button is mapped to by default. Note that the button(s) column assumes an Xbox 360-style controller layout.

Button(s) Keyboard Key(s) Action
D-Pad Arrow Keys

Navigate Menu

Move Shape

Start Return/Enter

Confirm Menu Selection

Open Toolbar (in Sandbox)

Back Backspace Return to Previous Menu
B Z

Circle

Return to Previous Menu

X X

Square

Confirm Menu Selection

Y C Triangle
A V

X-plode

Place Shape (in Sandbox)

LB A Shrink Shape
RB S Grow Shape

Remapping

If you find the default button layout uncomfortable, you can rebind them by going to the Options menu, then to Controller Settings. Select either Rebind Keyboard or Rebind Controller depending on your device of choice, and from there you can remap particular buttons. You can also select Rebind All to rebind all the inputs from top to bottom.

Screenshot of button remapping

If you accidentally corrupt your input bindings, you can reset them in the Options menu as well with the Reset Keyboard Binds and Reset Controller Binds options. If for whatever reason you can't access either of those, as a last resort you can either delete or modify config.json to remove the faulty bindings, or replace them with these defaults:

    "key_map": [
        "Up",
        "Down",
        "Left",
        "Right",
        "Z",
        "X",
        "C",
        "V",
        "A",
        "S",
        "Return",
        "Backspace"
    ],
    "button_map": [
        "dpup",
        "dpdown",
        "dpleft",
        "dpright",
        "b",
        "x",
        "y",
        "a",
        "leftshoulder",
        "rightshoulder",
        "start",
        "back"
    ]

Clone this wiki locally