Install
openclaw skills install hidpi-mouseUniversal HiDPI mouse click handling for Linux desktop automation. Auto-detects scale factor or allows calibration for any screen resolution/DPI. Converts Claude display coordinates to xdotool screen coordinates.
openclaw skills install hidpi-mouseUniversal mouse coordinate handling for desktop automation across different screen configurations.
# Click at Claude display coordinates (auto-scales)
./scripts/click.sh 500 300
# First time? Run calibration for best accuracy
./scripts/calibrate.sh
When Claude displays a screenshot, it scales it down. This skill converts coordinates:
Claude Display Coords → Scale Factor → xdotool Screen Coords
The scale factor depends on:
./scripts/click.sh <x> <y> # Auto-scaled click
./scripts/click.sh --raw <x> <y> # No scaling (screen coords)
./scripts/click.sh --double <x> <y> # Double click
./scripts/click.sh --right <x> <y> # Right click
./scripts/calibrate.sh # Interactive calibration
./scripts/calibrate.sh info # Show current config
./scripts/calibrate.sh test # Test current scale
./scripts/calibrate.sh set 2.08 # Manually set scale
./scripts/calibrate.sh reset # Reset to auto-detect
./scripts/detect-scale.sh # Returns scale (e.g., 2.08)
./scripts/move.sh <x> <y> # Move mouse
./scripts/drag.sh <x1> <y1> <x2> <y2> # Drag
./scripts/reliable_click.sh <x> <y> [--window "Name" --relative]
For best accuracy on your specific system:
./scripts/calibrate.sh
This will:
| Screen | DPI | Typical Scale |
|---|---|---|
| 1920×1080 | 96 | 1.0 - 1.2 |
| 2560×1440 | 96 | 1.3 - 1.5 |
| 3024×1772 | 192 | 2.08 |
| 3840×2160 | 192 | 2.0 - 2.5 |
# Run calibration
./scripts/calibrate.sh
# Or manually adjust
./scripts/calibrate.sh set 2.1 # Try different values
./scripts/calibrate.sh info
./scripts/calibrate.sh reset
rm -f /tmp/hidpi_scale_cache
~/.config/hidpi-mouse/scale.conf - User-set scale (highest priority)/tmp/hidpi_scale_cache - Auto-detected scale cache (1 hour TTL)This skill auto-adapts to:
--raw if you already have screen coordinatescalibrate.sh info to see current settings# 1. Take screenshot
scrot /tmp/screen.png
# 2. View in Claude, identify button at display coords (500, 300)
# 3. Click it
./scripts/click.sh 500 300
# 4. If off-target, calibrate
./scripts/calibrate.sh
Tested on: Ubuntu/Debian with X11, various resolutions and DPI settings