autogui
A cross-platform GUI automation library for Dart. Control mouse and keyboard programmatically on macOS, Windows, and Linux.
1.3.0
0xharkirat/dart_autogui
What this package is like to depend on
Last release 1 months ago
10 Jul 2026
Too new to tell
only 2 release windows
Nearly every release is documented
notes for 5 of 5 stable releases
Nothing withdrawn
no release was ever pulled
7 months old
5 releases · first in 2026
5 releases in the last 12 months
see the full history below
Release timeline
5 releases · Jan 2026 to Jul 2026Releases
latest 5-
1.3.010 Jul 2026Release notes
Open source →Adds screen capture and on-screen image location.
[!WARNING] Screen capture is only tested on macOS. The Linux and Windows backends are implemented and code-reviewed but have never been compiled or run. Treat them as unproven. Mouse and keyboard automation are unaffected.
[!IMPORTANT] On macOS, screen capture requires macOS 14 or newer and Screen Recording permission for the process running your program (the terminal or host app, not
dartitself). Without it,Screen.screenshotthrows aStateError; checkScreen.isScreenCaptureTrustedfirst.- Add
Screen.screenshot({region, filename}), which captures the primary display or a region of it and can write a PNG. - Add
Screen.pixel(x, y)andScreen.pixelMatchesColor(x, y, rgb, {tolerance}). - Add
Screen.locateOnScreen,Screen.locateAllOnScreen, andScreen.locateCenterOnScreen, plus the image-to-imagelocate/locateAlland a top-levelcenter(box). Matching is exact on RGB; alpha is ignored and there is noconfidenceoption. - Add
Capture(raw RGBA pixels, physical dimensions,pixelAt,toLogical) andScreen.isScreenCaptureTrusted. - Coordinates crossing the API are logical, the same space as
Mouse.position, so a match feeds straight intoMouse.click. ACaptureholds physical pixels, which on a HiDPI display are the logical size times the backing scale factor. - A capture region that runs past the edge of the display is clipped to it; one entirely off-display throws
ArgumentError. - Capture covers the primary display only. Linux support is X11 only, with no Wayland.
- Adds a dependency on
package:image, used only to encode and decode PNG.
- Add
-
1.2.109 Jul 2026Release notes
Open source →- Fix
Mouse.mouseUpso a screen-corner fail-safe can no longer strand a held button down mid-drag; releasing a button is never blocked.
- Fix
-
1.2.009 Jul 2026Release notes
Open source →Mouseactions (move, click, drag, scroll) now honor the screen-corner fail-safe, matchingKeyboard.- Add
Mouse.leftClick,Mouse.middleClick, and aMouse.vscrollalias. - Fail-safe and pause settings now live in a shared
FailSafeclass;Keyboard.failSafeEnabled,pauseAfterAction, andfailSafePaddingcontinue to work as before. - Internal: unify the three per-platform FFI binding files and mouse classes into one, with no public API change.
-
1.1.009 Jul 2026Release notes
Open source →- Expand
AutoGUIKeyto ~90 named keys (function keys F1-F24, arrows, navigation, editing, numpad, and left/right modifier variants) mapped per platform. - Accept PyAutoGUI-style key-name strings in
press,keyDown,keyUp,hotkey, andhold(e.g.press('f1'),hotkey(['ctrl', 'c'])), with aliases such asesc,pgup, andcommand. - Add
Keyboard.isValidKeyandKeyboard.keyboardKeysfor platform-aware key validation and introspection. - Type shifted characters (uppercase and punctuation) as base key plus Shift, and map newline/carriage-return/tab correctly on every platform (fixes a crash typing
\n/\ton Linux). - Add a screen-corner fail-safe for keyboard actions that matches an exact corner point, so multi-monitor coordinates no longer abort actions by mistake.
pressnow performs a discrete down/up per repeat, re-checks the fail-safe before each press, and treats a non-positive press count as a no-op, matching PyAutoGUI.
- Expand
-
1.0.012 Jan 2026Release notes
Open source →- Initial release with Mouse and Keyboard automation.
- Cross-platform support for macOS (CoreGraphics), Linux (X11), and Windows (Win32).
- Native binary build system using CMake (via
dart_autogui:setup).