Up to date

This page is up to date for Godot 4.1. If you still find outdated information, please open an issue.

InputEventMouseMotion

Inherits: InputEventMouse < InputEventWithModifiers < InputEventFromWindow < InputEvent < Resource < RefCounted < Object

Represents a mouse or a pen movement.

Description

Stores information about a mouse or a pen motion. This includes relative position, absolute position, and velocity. See Node._input.

Note: By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, set Input.use_accumulated_input to false to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider implementing Bresenham’s line algorithm as well to avoid visible gaps in lines if the user is moving the mouse quickly.

Tutorials

Properties

bool

pen_inverted

false

float

pressure

0.0

Vector2

relative

Vector2(0, 0)

Vector2

tilt

Vector2(0, 0)

Vector2

velocity

Vector2(0, 0)


Property Descriptions

bool pen_inverted = false

  • void set_pen_inverted ( bool value )

  • bool get_pen_inverted ( )

Returns true when using the eraser end of a stylus pen.

Note: This property is implemented on Linux, macOS and Windows.


float pressure = 0.0

  • void set_pressure ( float value )

  • float get_pressure ( )

Represents the pressure the user puts on the pen. Ranges from 0.0 to 1.0.


Vector2 relative = Vector2(0, 0)

The mouse position relative to the previous position (position at the last frame).

Note: Since InputEventMouseMotion is only emitted when the mouse moves, the last event won’t have a relative position of Vector2(0, 0) when the user stops moving the mouse.


Vector2 tilt = Vector2(0, 0)

Represents the angles of tilt of the pen. Positive X-coordinate value indicates a tilt to the right. Positive Y-coordinate value indicates a tilt toward the user. Ranges from -1.0 to 1.0 for both axes.


Vector2 velocity = Vector2(0, 0)

The mouse velocity in pixels per second.