Table of Contents

Notes on Input

This article was originally written by Gemberkoekje

The Input module handles generalized inputs (keyboard, mouse, joystick and touch).

Input events may be defined either in the config file or in code with orxInput_Bind*() functions. They can be changed on the fly, of course, and you can create inputs than don't necessarily map to physical device by using the orxINPUT_TYPE_EXTERNAL value of the enum.

It allows to group everything through the generic input system. Events can be bound to any input source: physical device, GUI “buttons” by activating the input using orxInput_SetValue(), etc…

This way, when going from one peripheral to the other, or when going to another platform, only the bindings need to be changed, the processing code itself doesn't change.

orxInput_SetValue() sets the value for one frame. Any value works. It all depends on what you expect when you read it. If mapped to a physical peripheral, buttons will set the value to 1 and joystick axes will set it to X with -1 ⇐ X ⇐ 1.

orxInput_SetPermanentValue() sets the value till someone sets it to something different.

Tip: Temporary Disabling User Input

Just create an input set in your config, that does nothing. Then toggle between your regular input set and the empty one.

Config