Overview
Mouse Pointer Crosshairs displays customizable crosshair lines centered on your cursor, making it easier to align elements precisely. It also includes an accessibility-focused “Gliding Cursor” feature for hands-free cursor positioning.This utility is especially useful for design work, pixel-perfect alignment, accessibility needs, and presentations where precise cursor placement is important.
How to Activate
Crosshairs Toggle
Press the activation shortcut to show or hide crosshairs:- Default shortcut: Win + Alt + P
Gliding Cursor
Use the gliding cursor feature for hands-free cursor movement:- Default shortcut: Win + Alt + . (period)
Configuration Options
Activation Settings
Keyboard shortcut to toggle crosshairs on and off
Keyboard shortcut to activate the gliding cursor state machine
Automatically enable crosshairs when PowerToys starts
Appearance Settings
Color of the crosshair lines (RGB format)
Color of the border outline around crosshair lines (RGB format)
Opacity percentage of the crosshairs (0-100)
Size of the center gap/radius in pixels (creates a circle in the middle)
Thickness of the crosshair lines in pixels
Thickness of the border outline in pixels
Crosshairs Behavior
Automatically hide crosshairs when the mouse stops moving
Use fixed-length crosshairs instead of extending to screen edges
Length of crosshair lines in pixels (when fixed length is enabled)
Display orientation of crosshairs:
- Both (0): Horizontal and vertical lines
- Horizontal (1): Only horizontal line
- Vertical (2): Only vertical line
Gliding Cursor Speed Settings
Fast speed for initial scanning phase (pixels per 200ms interval). Range: 5-60
Slow speed for precise positioning phase (pixels per 200ms interval). Range: 5-60
Use Cases
Design and Layout Work
Align UI elements, graphics, or design components with pixel-perfect precision.Accessibility
The gliding cursor feature provides hands-free cursor positioning for users with motor impairments or those who prefer keyboard-only navigation.Presentations
Use crosshairs to draw attention to specific screen areas or to help audiences track cursor movement on large displays.Screen Measurement
Quickly measure distances or verify alignment across screen elements during development or testing.Photo Editing
Precisely position selections, guides, or editing tools when working with images.Keyboard Shortcuts Summary
| Action | Shortcut |
|---|---|
| Toggle Crosshairs | Win + Alt + P (customizable) |
| Gliding Cursor | Win + Alt + . (customizable) |
| Cancel Gliding | Esc |
Gliding Cursor State Machine
The gliding cursor operates in a 5-state sequence:- State 0 (Idle): Press shortcut to start → moves to State 1
- State 1 (Fast Horizontal): Cursor moves quickly across screen horizontally → press shortcut → State 2
- State 2 (Slow Horizontal): Cursor moves slowly for precise horizontal positioning → press shortcut → State 3
- State 3 (Fast Vertical): Cursor moves quickly down the screen vertically → press shortcut → State 4
- State 4 (Slow Vertical): Cursor moves slowly for precise vertical positioning → press shortcut → completes with click
At any point during gliding, press Esc to cancel and return to idle without clicking.
Technical Details
Rendering Architecture
- Crosshairs are rendered as an overlay using Windows composition APIs
- Updates are tied to mouse movement events
- Hardware-accelerated for smooth performance
- Works across multiple monitors with DPI awareness
Gliding Cursor Implementation
- Timer-based movement: 10ms tick interval
- Speed units: pixels per 200ms base window
- Fractional accumulation for smooth sub-pixel movement
- Low-level keyboard hook for Escape key detection
- External control mode prevents normal mouse tracking during gliding
Troubleshooting
Crosshairs not visible
Crosshairs not visible
- Check opacity setting (must be > 0)
- Verify crosshairs color contrasts with background
- Ensure thickness is set to a visible value (try 5 or higher)
- Disable auto-hide if enabled
Crosshairs appear on wrong monitor
Crosshairs appear on wrong monitor
- Crosshairs follow the cursor position automatically
- Check that mouse is on the expected monitor
- Verify display arrangement in Windows settings
Gliding cursor moves too fast/slow
Gliding cursor moves too fast/slow
- Adjust
gliding_travel_speed(5-60) for initial scanning speed - Adjust
gliding_delay_speed(5-60) for precise positioning speed - Default values: 30 for travel, 5 for delay
Cannot cancel gliding with Escape
Cannot cancel gliding with Escape
- Ensure no other application is capturing Escape key
- Check for conflicting keyboard hooks
- Try completing the gliding sequence or restarting PowerToys
Source Code Reference
The Mouse Pointer Crosshairs implementation can be found at:- Module interface:
src/modules/MouseUtils/MousePointerCrosshairs/dllmain.cpp - Crosshairs implementation:
src/modules/MouseUtils/MousePointerCrosshairs/InclusiveCrosshairs.cpp - Default crosshairs hotkey: Line 895 in dllmain.cpp (Win + Alt + P)
- Default gliding hotkey: Line 903 in dllmain.cpp (Win + Alt + .)
- Gliding state machine: Lines 459-537 in dllmain.cpp