Draw it. Type it. Done.
Draw a shape with the mouse, press a key combination, or type a short abbreviation. Input.Observer recognizes it, checks which app you're in, and runs the action you set for that app.
- 1Hold right button
- 2Draw
- 3Release
One stroke instead of a trip to the toolbar.
A small native engine does the hooking and matching. The configuration app is separate, so gestures keep working when it's closed.
- Context01
Gestures per app
The same shape can mean different things in a browser, an editor and Explorer. App groups and profiles decide which action wins.
one Up stroke- File ExplorerGo to parent folder
- Browserno app group, bubbles up to GlobalMaximize or restore window
- Remote Desktopignore groupIgnored: input goes straight to the app
- Keyboard02
Hotkeys and text expansion
Bind actions to keys as well as strokes, and expand short abbreviations into longer text as you type.
- ;shrug
- ¯\_(ツ)_/¯
- btw
- by the way
- Windows03
Window management
Move, size, show and hide windows, read and set their values, and run timers with a repeat count.
- Actions04
Scripts or steps
Write actions in a small C-like script, or build them as steps without code. Hand off to AutoHotkey when you need it.
- Recorder05
Macro recorder
Record your mouse and keyboard once, then turn the recording into a snippet for your gestures and hotkeys. Edit it as steps or as a script, and set how fast it replays.
- Trails06
Your trail, your look
Style the built-in gesture trail and hint window, or connect a rendering plugin that draws the stroke however it likes.
That's the short list. Help covers every trigger, action and setting.
Explore everything it can doSimple mode for most. Scripts for the rest.
Pick from ready-made actions in the configuration app, or open the script editor with completion and inline help for every builtin.
Read the help →- set
w = ContextGetWindow() - if
WindowGetAlpha(w) < 255 - call
WindowSetAlpha(w, 255) - else
- call
WindowSetAlpha(w, 150) - end if
1w = ContextGetWindow();2if (WindowGetAlpha(w) < 255)3{4 WindowSetAlpha(w, 255);5}6else7{8 WindowSetAlpha(w, 150);9}
- AutoHotkey v2 · own process
- Macro recorder
- Snippets library
- Plugins · own process
The third generation.
StrokesPlus, then StrokesPlus.net, now Input.Observer: rebuilt from scratch with a native C++ engine and a modern configuration app.
- 01StrokesPlus
C/C++, native Win32 UI, Lua scripting.
- 02StrokesPlus.net
C# rewrite with WinForms and added features.
- 03Input.Observer
C++20 engine that runs on its own, and a WPF configuration app with light and dark themes.
- engine
- native C++20 ok
- hooks
- mouse · keyboard ok
- network
- none from the engine ok