Returns horizontal mouse movement delta since last frame.
Takes no parameters.
Returns integer delta X (horizontal movement in pixels, positive=moved right, negative=moved left, 0=no horizontal movement).
Input
Parameters & Returns
Parameters
This function takes no parameters.
Returns
Int
Quick Summary
Returns horizontal mouse movement delta since last frame.
Takes no parameters.
Returns integer delta X (horizontal movement in pixels, positive=moved right, negative=moved left, 0=no horizontal movement).
Technical Exegesis...
Returns horizontal mouse movement delta since last frame. Takes no parameters. Returns integer delta X (horizontal movement in pixels, positive=moved right, negative=moved left, 0=no horizontal movement). Calculates mouse movement between current and previous frame, useful for mouse look and camera control.
Returns horizontal mouse movement delta since last frame. Takes no parameters. Returns integer delta X (horizontal movement in pixels, positive=moved right, negative=moved left, 0=no horizontal movement). Calculates mouse movement between current and previous frame, useful for mouse look and camera control.
Delta calculation: delta = current frame X - previous frame X, positive values=mouse moved right (rightward motion), negative values=mouse moved left (leftward motion), 0=no horizontal movement (stationary or vertical-only movement), resets to 0 when mouse stationary (no accumulation).
Use cases: (1) Mouse look/camera control (rotate camera based on mouse movement: cameraYaw#=cameraYaw#+inpGetMouseXSpeed()*sensitivity#), (2) First-person controls (FPS games, flight simulators), (3) 3D object rotation (rotate model with mouse drag: rotation#=rotation#+inpGetMouseXSpeed()), (4) Gesture detection (detect swipe left/right based on speed threshold), (5) Smooth tracking (integrate small movements for precise control).
Common patterns: mouse look = yaw#=yaw#+inpGetMouseXSpeed()*0.1 (rotate camera horizontally); drag rotation = If inpIsMouseDown(0) Then objectRotY#=objectRotY#+inpGetMouseXSpeed(); movement threshold = If mathAbs(inpGetMouseXSpeed())>10 Then significant movement detected; smooth camera = cameraX#=cameraX#-inpGetMouseXSpeed()*panSpeed#.
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 (speedX * sensitivity = rotation amount), accumulate into camera rotation (yaw += deltaX, pitch += deltaY).
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 vertical-only movement), extreme values possible (rapid movements or input lag).
Frame rate independence: delta in pixels per frame (frame-rate dependent), multiply by delta time for frame-rate independence (speed * deltaTime for consistent rotation speed), or use fixed timestep (physics-style update loop).
Hidden cursor: common pattern to hide cursor for FPS controls (inpHidePointer for immersive camera control), show cursor for UI with inpShowPointer (menus, inventories), toggle cursor visibility based on game state (gameplay vs UI mode).
Related: inpGetMouseYSpeed returns vertical movement delta, inpGetMouseX/Y return absolute cursor position, inpMoveMouse sets cursor position programmatically, inpHidePointer/ShowPointer control cursor visibility.