by kriket
Always-visible virtual cursors (arrow, brush, reticle, nib, laser, wand) with click animations for stylus, Windows Ink, and Excalidraw.
Virtual Pen Cursor for Obsidian
An Obsidian plugin that displays an always-visible virtual cursor with customizable styles and tactile click animations when using a graphics tablet, stylus, Windows Ink, or mouseβespecially in canvas tools like Excalidraw.
π‘ Why This Plugin?
When using a stylus with Windows Ink, Windows and Chromium (Electron) automatically suppress the hardware mouse cursor on touch/pen contact (pointerdown) to simulate a direct screen-writing experience.
On graphics tablets (such as screenless Wacom Intuos, Huion, or XP-Pen) or dual-monitor setups, this makes the cursor completely vanish whenever you click, draw, or write.
Virtual Pen Cursor solves this by listening directly to pointer events and drawing a lightweight, hardware-accelerated indicator at the exact pen coordinates that Windows cannot hide.
β¨ Features
- π― 8 Unique Virtual Cursor Styles:
- Virtual dot: Clean circular indicator with customizable border, fill color, and opacity.
- Virtual arrow: Pixel-perfect Windows-style arrow pointer that never disappears on pen contact.
- Virtual brush: Angled artist paintbrush with distinct bristle tip, metal ferrule, and wooden handle.
- Virtual precision reticle: CAD/technical crosshair with a targeting ring and center dot.
- Virtual fountain pen nib: Elegant calligraphy fountain pen nib.
- Virtual sleek pointer: Modern rounded dark pointer with smooth outline.
- Virtual laser pointer: Glowing neon presentation dot with multi-layer light halos.
- Virtual sparkle wand: Creative magic star wand.
- π₯ Customizable Click Animations:
- Choose between Expanding ripple ring, Particle starburst, Soft color pulse, Double shockwave, or Press shrink only.
- Adjust animation color, size (16β80 px), and duration (150β1000 ms).
- Configure device triggering: Pen only, Mouse only, or Both.
- π¨ Full Color & Scale Customization:
- Independent color pickers for every cursor style.
- Global size multiplier slider (0.5Γ to 3Γ) to match high-DPI or custom OS pointer sizes.
- Auto-fade timer after inactivity (or keep always visible).
- πΌοΈ Live Preview Gallery:
- Test all cursors, see exact click hotspots, and preview click animations directly inside Settings.
- β‘ Granular Device & View Rules:
- Configure different cursors for Mouse vs. Pen / Windows Ink.
- Apply rules specifically to Excalidraw views vs. Everywhere else in Obsidian.
- Built-in exception ensures the Obsidian Settings window always retains the normal system cursor.
- π Quick Presets:
- One-click setup cards for popular configurations (e.g. Excalidraw: virtual dot, Excalidraw: virtual brush, Pen: virtual arrow everywhere, etc.).
π¦ Installation
From Community Plugins (Once Approved)
- In Obsidian, open Settings > Community plugins.
- Turn off Restricted mode.
- Click Browse and search for
Virtual Pen Cursor. - Click Install, then Enable.
Manual Installation
- Download
manifest.json,main.js, andstyles.cssfrom the latest GitHub Release. - Inside your vault folder, navigate to
.obsidian/plugins/(create the directory if it doesn't exist). - Create a folder named
virtual-pen-cursorand place the downloaded files inside. - In Obsidian, reload plugins under Settings > Community plugins and toggle Virtual Pen Cursor on.
π οΈ Configuration
Open Settings > Virtual Pen Cursor:
- Quick presets: Choose a preconfigured setup or customize individual rules.
- Device Rules:
- For Mouse and Pen / Windows Ink, pick the desired cursor behavior:
- Leave as is (Obsidian default)
- Windows arrow (native)
- Crosshair (native)
- Hidden (no cursor)
- Virtual dot / arrow / brush / reticle / nib / sleek pointer / laser / wand
- For Mouse and Pen / Windows Ink, pick the desired cursor behavior:
- Appearance & Preview: Click any preview card to test its click animation.
- Click Animation: Customize animation style, size, duration, and color.
- Cursor Colors: Adjust color accents for each virtual cursor.
π€ Contributing
Contributions, bug reports, and feature suggestions are welcome! Feel free to open an issue or submit a pull request.
π License
This project is licensed under the MIT License.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.