Skip to main content
Input.ObserverMouse gestures, hotkeys and text expansion for Windows

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.

From the author of StrokesPlus and StrokesPlus.net
01 · What it does

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 do
02 · Automation

Simple 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 →
Steps
  1. setw = ContextGetWindow()
  2. ifWindowGetAlpha(w) < 255
  3. callWindowSetAlpha(w, 255)
  4. else
  5. callWindowSetAlpha(w, 150)
  6. end if
Script
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
03 · Lineage

The third generation.

StrokesPlus, then StrokesPlus.net, now Input.Observer: rebuilt from scratch with a native C++ engine and a modern configuration app.

  1. 01StrokesPlus

    C/C++, native Win32 UI, Lua scripting.

  2. 02StrokesPlus.net

    C# rewrite with WinForms and added features.

  3. 03Input.Observer

    C++20 engine that runs on its own, and a WPF configuration app with light and dark themes.

$ input.observer
engine
native C++20
ok
hooks
mouse · keyboard
ok
network
none from the engine
ok
ready. hold the right button and draw.

Try it on your own windows.

Download for Windows