Returns vertical mouse movement delta since last frame.
Takes no parameters.
Returns integer delta Y (vertical movement in pixels, positive=moved down, negative=moved up, 0=no vertical movement).
Input
Parameters & Returns
Parameters
This function takes no parameters.
Returns
Int
Quick Summary
Returns vertical mouse movement delta since last frame.
Takes no parameters.
Returns integer delta Y (vertical movement in pixels, positive=moved down, negative=moved up, 0=no vertical movement).
Technical Exegesis...
Returns vertical mouse movement delta since last frame. Takes no parameters. Returns integer delta Y (vertical movement in pixels, positive=moved down, negative=moved up, 0=no vertical movement). Calculates mouse movement between current and previous frame, useful for mouse look and camera control.
Returns vertical mouse movement delta since last frame. Takes no parameters. Returns integer delta Y (vertical movement in pixels, positive=moved down, negative=moved up, 0=no vertical movement). Calculates mouse movement between current and previous frame, useful for mouse look and camera control.
Delta calculation: delta = current frame Y - previous frame Y, positive values=mouse moved down (downward motion, screen coordinates), negative values=mouse moved up (upward motion), 0=no vertical movement (stationary or horizontal-only movement), resets to 0 when mouse stationary (no accumulation).
Use cases: (1) Mouse look/camera control (rotate camera vertically based on mouse movement: cameraPitch#=cameraPitch#-inpGetMouseYSpeed()*sensitivity#), (2) First-person controls (FPS games, flight simulators, vertical camera rotation), (3) 3D object rotation (rotate model with mouse drag: rotationX#=rotationX#-inpGetMouseYSpeed()), (4) Gesture detection (detect swipe up/down based on speed threshold), (5) Smooth tracking (integrate small movements for precise control).
Common patterns: mouse look = pitch#=pitch#-inpGetMouseYSpeed()*0.1 (rotate camera vertically, note negative for inverted Y); drag rotation = If inpIsMouseDown(0) Then objectRotX#=objectRotX#-inpGetMouseYSpeed(); movement threshold = If mathAbs(inpGetMouseYSpeed())>10 Then significant movement detected; scroll = scrollOffset#=scrollOffset#-inpGetMouseYSpeed()*scrollSpeed#.
Inverted Y-axis: note negative sign in mouse look (pitch -= deltaY, not +=), convention for FPS games (move mouse up = look up, requires negative delta), screen Y increases downward (positive deltaY = mouse moved down), camera pitch often inverted (moving mouse down should look down, not up), user preference option recommended (some players prefer non-inverted Y).
Mouse look implementation: hide cursor with inpHidePointer (prevent cursor hitting screen edge), re-center mouse each frame with inpMoveMouse(centerX, centerY) (infinite rotation, prevents edge stops), multiply delta by sensitivity (speedY * sensitivity = rotation amount), accumulate into camera rotation (pitch += deltaY, clamp pitch to prevent gimbal lock).
Pitch clamping: typical FPS games clamp pitch to -89 degrees to +89 degrees (prevent flipping upside-down), prevent gimbal lock at vertical (straight up/down causes rotation issues), pattern: pitch#=pitch#-inpGetMouseYSpeed()*sensitivity#: If pitch#<-89.0 Then pitch#=-89.0: If pitch#>89.0 Then pitch#=89.0.
Sensitivity tuning: raw delta often too large (multiply by 0.05-0.2 for comfortable sensitivity), higher sensitivity = faster camera movement (larger multiplier), lower sensitivity = precise control (smaller multiplier), user-configurable sensitivity recommended (different players prefer different speeds).
Performance: very fast query (~0.0001ms, simple subtraction), safe for per-frame calls (intended usage, must call every frame for accurate deltas), no input polling required (system tracks mouse automatically).
Delta range: typically -50 to +50 pixels per frame at 60 FPS (normal mouse movement), can exceed 100+ for fast movements (quick flicks or high DPI mice), 0 most common value (mouse often stationary or horizontal-only movement), extreme values possible (rapid movements or input lag).
Related: inpGetMouseXSpeed returns horizontal movement delta, inpGetMouseX/Y return absolute cursor position, inpMoveMouse sets cursor position programmatically, inpHidePointer/ShowPointer control cursor visibility.