InputSingleton

A Singleton that deals with inputs.

This includes key presses, mouse buttons and movement, joypads, and input actions. Actions and their events can be set in the Project Settings / Input Map tab. Or be set with InputMap.

@GodotBaseClass
struct InputSingleton {}

Members

Aliases

BaseClasses
alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses)
Undocumented in source.

Enums

Constants
enum Constants
CursorShape
enum CursorShape
MouseMode
enum MouseMode

Functions

actionPress
void actionPress(StringArg0 action)

This will simulate pressing the specified action.

actionRelease
void actionRelease(StringArg0 action)

If the specified action is already pressed, this will release it.

addJoyMapping
void addJoyMapping(StringArg0 mapping, bool update_existing)

Add a new mapping entry (in SDL2 format) to the mapping database. Optionally update already connected devices.

getAccelerometer
Vector3 getAccelerometer()

If the device has an accelerometer, this will return the acceleration. Otherwise, it returns an empty Vector3. Note this method returns an empty Vector3 when running from the editor even when your device has an accelerometer. You must export your project to a supported device to read values from the accelerometer.

getActionStrength
double getActionStrength(StringArg0 action)

Returns a value between 0 and 1 representing the intensity of the given action. In a joypad, for example, the further away the axis (analog sticks or L2, R2 triggers) is from the dead zone, the closer the value will be to 1. If the action is mapped to a control that has no axis as the keyboard, the value returned will be 0 or 1.

getConnectedJoypads
Array getConnectedJoypads()

Returns an Array containing the device IDs of all currently connected joypads.

getGravity
Vector3 getGravity()

If the device has an accelerometer, this will return the gravity. Otherwise, it returns an empty Vector3.

getGyroscope
Vector3 getGyroscope()

If the device has a gyroscope, this will return the rate of rotation in rad/s around a device's x, y, and z axis. Otherwise, it returns an empty Vector3.

getJoyAxis
double getJoyAxis(long device, long axis)

Returns the current value of the joypad axis at given index (see JOY_* constants in @GlobalScope)

getJoyAxisIndexFromString
long getJoyAxisIndexFromString(StringArg0 axis)

Returns the index of the provided axis name.

getJoyAxisString
String getJoyAxisString(long axis_index)

Receives a JOY_AXIS_* Enum and returns its equivalent name as a string.

getJoyButtonIndexFromString
long getJoyButtonIndexFromString(StringArg0 button)

Returns the index of the provided button name.

getJoyButtonString
String getJoyButtonString(long button_index)

Receives a JOY_BUTTON_* Enum and returns its equivalent name as a string.

getJoyGuid
String getJoyGuid(long device)

Returns a SDL2 compatible device guid on platforms that use gamepad remapping. Returns "Default Gamepad" otherwise.

getJoyName
String getJoyName(long device)

Returns the name of the joypad at the specified device index

getJoyVibrationDuration
double getJoyVibrationDuration(long device)

Returns the duration of the current vibration effect in seconds.

getJoyVibrationStrength
Vector2 getJoyVibrationStrength(long device)

Returns the strength of the joypad vibration: x is the strength of the weak motor, and y is the strength of the strong motor.

getLastMouseSpeed
Vector2 getLastMouseSpeed()

Returns the mouse speed for the last time the cursor was moved, and this until the next frame where the mouse moves. This means that even if the mouse is not moving, this function will still return the value of the last motion.

getMagnetometer
Vector3 getMagnetometer()

If the device has a magnetometer, this will return the magnetic field strength in micro-Tesla for all axes.

getMouseButtonMask
long getMouseButtonMask()

Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at the same time the bits are added together.

getMouseMode
Input.MouseMode getMouseMode()

Return the mouse mode. See the constants for more information.

isActionJustPressed
bool isActionJustPressed(StringArg0 action)

Returns true when the user starts pressing the action event, meaning it's true only on the frame that the user pressed down the button. This is useful for code that needs to run only once when an action is pressed, instead of every frame while it's pressed.

isActionJustReleased
bool isActionJustReleased(StringArg0 action)

Returns true when the user stops pressing the action event, meaning it's true only on the frame that the user released the button.

isActionPressed
bool isActionPressed(StringArg0 action)

Returns true if you are pressing the action event.

isJoyButtonPressed
bool isJoyButtonPressed(long device, long button)

Returns true if you are pressing the joypad button. (see JOY_* constants in @GlobalScope)

isJoyKnown
bool isJoyKnown(long device)

Returns true if the system knows the specified device. This means that it sets all button and axis indices exactly as defined in the JOY_* constants (see @GlobalScope). Unknown joypads are not expected to match these constants, but you can still retrieve events from them.

isKeyPressed
bool isKeyPressed(long scancode)

Returns true if you are pressing the key. You can pass KEY_*, which are pre-defined constants listed in @GlobalScope.

isMouseButtonPressed
bool isMouseButtonPressed(long button)

Returns true if you are pressing the mouse button. You can pass BUTTON_*, which are pre-defined constants listed in @GlobalScope.

joyConnectionChanged
void joyConnectionChanged(long device, bool connected, StringArg2 name, StringArg3 guid)
opAssign
InputSingleton opAssign(T n)
Undocumented in source. Be warned that the author may not have intended to support it.
opEquals
bool opEquals(InputSingleton other)
Undocumented in source. Be warned that the author may not have intended to support it.
opEquals
bool opEquals(typeof(null) n)
Undocumented in source. Be warned that the author may not have intended to support it.
parseInputEvent
void parseInputEvent(InputEvent event)

Feeds an InputEvent to the game. Can be used to artificially trigger input events from code.

removeJoyMapping
void removeJoyMapping(StringArg0 guid)

Removes all mappings from the internal db that match the given uid.

setCustomMouseCursor
void setCustomMouseCursor(Resource image, long shape, Vector2 hotspot)

Sets a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified. Passing null to the image parameter resets to the system cursor. See enum CURSOR_* for the list of shapes. image's size must be lower than 256x256. hotspot must be within image's size.

setDefaultCursorShape
void setDefaultCursorShape(long shape)

Sets the default cursor shape to be used in the viewport instead of CURSOR_ARROW. Note that if you want to change the default cursor shape for Control's nodes, use Control.mouseDefaultCursorShape instead.

setMouseMode
void setMouseMode(long mode)

Set the mouse mode. See the constants for more information.

startJoyVibration
void startJoyVibration(long device, double weak_magnitude, double strong_magnitude, double duration)

Starts to vibrate the joypad. Joypads usually come with two rumble motors, a strong and a weak one. weak_magnitude is the strength of the weak motor (between 0 and 1) and strong_magnitude is the strength of the strong motor (between 0 and 1). duration is the duration of the effect in seconds (a duration of 0 will try to play the vibration indefinitely). Note that not every hardware is compatible with long effect durations, it is recommended to restart an effect if in need to play it for more than a few seconds.

stopJoyVibration
void stopJoyVibration(long device)

Stops the vibration of the joypad.

warpMousePosition
void warpMousePosition(Vector2 to)

Sets the mouse position to the specified vector.

Mixins

__anonymous
mixin baseCasts
Undocumented in source.

Static functions

_new
InputSingleton _new()
Undocumented in source. Be warned that the author may not have intended to support it.

Static variables

_classBindingInitialized
bool _classBindingInitialized;
Undocumented in source.

Structs

_classBinding
struct _classBinding
Undocumented in source.

Unions

__anonymous
union __anonymous
Undocumented in source.

Variables

_GODOT_internal_name
enum string _GODOT_internal_name;
Undocumented in source.

Mixed In Members

From mixin baseCasts

as
To as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
To as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
ToRef as()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(ToRef)
Undocumented in source.
opCast
void* opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
godot_object opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
bool opCast()
Undocumented in source. Be warned that the author may not have intended to support it.

Meta