Releases: keysharp-org/Keysharp
Release list
v0.0.0.16
Keysharp 0.0.0.16
New
Ks.Image class — capture, load or create an image, then draw on it, transform it, search it and read/write its pixels before saving it. Replaces ImageCapture(). Full on Windows, partial on Linux (X11).
Ks.Overlay class — always-on-top, click-through canvas using the same drawing primitives as Image. Now backs Highlight(), and ToolTip() on Linux/macOS.
Ks.WinEvent — cross-platform window event subscriptions: Active, Exist, NotExist, Move, Minimize, Restore, TitleChange, plus Pause/Stop. Import with #import "Ks" { WinEvent }.
OCR library — new OCR.ks with a pluggable engine (Tesseract by default), built on Image.
Demos — ClipboardHistory, InputHUD, OCRSnip, Shell, WindowGrab, WindowTiler.
Also: Ks.A_ThreadId and Exit(ThreadId); Ks.MonitorGetScale() and Ks.MonitorFromPoint() alongside fully cross-platform monitor functions; InputHook.OnMouseDown/OnMouseUp/OnMouseMove; Gui +ClickThrough and +AutoScroll; an ImageSearch *Dir scan-direction option.
Platform
Linux — SharpHook and the legacy X11 hook/sender logic are removed. All input now goes through the keysharp-inputd daemon (evdev + uinput), reworked for multi-user handling, per-script permissions, unicode sending and mouse buttons.
Wayland — overlays, clipboard and window manipulation via KWin scripting and Keysharp shell extensions for GNOME (including v48+) and Cinnamon.
macOS — hook and sender logic revamped on CGEventTap; the key sender now works. Binaries are signed, and releases ship DMG/PKG with SHA256 checksums.
Internals — the old PlatformManager/WindowManager hierarchies were replaced by a service-oriented Platform layer with shared failure/retry recovery.
Breaking changes
ImageCapture()is replaced by theImageclass- Linux input requires
keysharp-inputd— the SharpHook/X11 fallback is gone A_ScaledScreenDPIis renamed toA_ScreenScaleA_OSTypenow returnsWINDOWS/OSX/LINUXA_LineFilein the main file resolves toA_FullScriptPath#importinside a function or class body binds to that scope instead of module-wide, and unknown imports throw- Reserved words can no longer be used as variable names
- Invalid Gui options now throw
Fixes
Release-mode stack traces for C# exceptions, OnExit teardown, scripts exiting when the last Eto window closed, thread priority handling, DLL path normalization, Windows overlay flicker and emoji tray icons, and a long tail of Linux/macOS window and input bugs. Parser fixes for #include, static variables, derefs and remap syntax. Performance: RegEx pattern caching, font caching, cheaper per-call thread setup and faster keyboard-layout queries.
Demo assets
v0.0.0.15
Keysharp 0.0.0.15
Keysharp is now cross-platform across Windows, Linux, and macOS.
🍎 macOS support
Keysharp now runs on macOS, including:
- Window management and the keyboard/mouse hook & sender
- Sound and drive functions
- macOS App Switcher integration and native modifier (Cmd) handling
- AxSpy, a new macOS accessibility inspector
- A proper installer and release packaging
🐧 Linux improvements
- New
inputdinput daemon for reliable keyboard/mouse automation .debpackaging and automatic .NET 10 installation- Unicode character sending
- Keyview syntax highlighting
- A large batch of hook/sender and GUI fixes
⚙️ Engine & language
- New hand-written parser replacing ANTLR4 — faster and less ambiguous
- AHK v2.1 features: compatibility mode (v2.0/v2.1), struct support (
#StructPack), the#importdirective,PropRef, the!~=operator, andahk_opt - Reworked timer/event scheduler — fixes timer livelock and timers not firing inside hotkey callbacks
- Performance: lower allocations on conditionals, plus GUI, window-movement, and ImageSearch speedups
- Cross-platform GUI (Eto): DPI scaling, dialog theming, hyperlink labels,
A_GuiTheme - Hook/sender brought up to date with AutoHotkey 2.0.26
Plus dozens of bug fixes and a new curated cross-platform CI test suite.
Full changelog: Descolada/keysharp@0.0.0.14...v0.0.0.15
Keysharp v0.0.0.12
Another release fixing bugs and bringing behavior more in line with AHK v2.
There is still no linux support in this release.
Use the MSI for installation or the zip for portable mode.
You must install the .NET 10 SDK and not just the runtime.
v0.0.0.14
- Fixed Click() in Linux, as well as multiple major hotkey bugs
- Updated hotkey logic from latest AutoHotkey commits
- Implemented module support and moved Keysharp-specific methods in the KS module
- Simplified parser, and optimized some parsing logic
v0.0.0.13
v0.0.0.12
Keysharp 0.0.0.11
Another release fixing bugs and bringing behavior more in line with AHK v2.
There is still no linux support in this release.
Use the MSI for installation or the zip for portable mode.
