π‘ Perfect for VM Console Work: I created this app to solve a specific problem - copying and pasting commands into VM consoles like noVNC that don't support clipboard operations by default. With Ketikin, you can easily paste long commands or use template commands for frequently-used operations, making it incredibly helpful for activities like VM rescue operations that can't be accessed from the internet.
I built this modern, gradient-designed auto-typer desktop application for Windows using Go and Wails. It's designed to help with repetitive typing tasks, offering precise control and a beautiful user interface.
- Multi-line Text Input - I implemented syntax highlighting for special characters to make pasting text easier.
- Precise Typing Delay - You can control typing speed with millisecond precision (10-500ms).
- 3-Second Countdown - I added a clear indication before typing begins so you have time to switch windows.
- Emergency Stop - You can instantly stop typing with the ESC key or the emergency button.
- Status Indicators - I included clear visual feedback so you always know the current state.
- Text Templates - Create, edit, and delete your frequently used text snippets.
- Statistics Dashboard - I track total characters typed, sessions, and average speed locally on your machine.
- System Tray Integration - You can minimize the app to the tray with a Show/Quit menu.
- Installer Support - I included a Windows installer with Start Menu integration.
- Dark/Light Themes - I designed beautiful gradients for both themes.
- Modern Gradient UI - I focused on smooth animations and a premium design feel.
Option 1: Installer (Recommended)
- Download
ketikin-setup.exefrom the Releases page. - Run the installer - it will:
- Install to Program Files
- Create Start Menu shortcuts
- Create Desktop shortcut
- Register for uninstallation
Option 2: Portable Executable
- Download
ketikin.exefrom the Releases page. - Run the executable (no installation required).
- Paste your text and click "Start Typing".
No admin privileges required for either option!
See docs/BUILD.md for my detailed build instructions.
See docs/QUICKSTART.md for a quick guide, or read below.
- Paste or type your text in the main text area.
- Adjust typing speed in Settings (numeric input or presets).
- Click "Start Typing" - a 3-second countdown will begin.
- Watch the progress - the app types your text automatically.
- Emergency stop - Press ESC or click the Emergency Stop button.
- Navigate to the Templates tab.
- Click Add Template to create new snippets.
- Enter name, category (optional), and content.
- Click any template to load it into the text area.
- Delete unused templates with the 'Γ' button.
View your typing statistics:
- Total characters typed
- Total typing sessions
- Average typing speed
Customize your experience:
- Toggle between dark and light themes
- Set default typing speed
- Configure hotkeys (coming soon)
- Backend: Go 1.21+ with pure Go keyboard simulation. I chose this for performance and reliability.
- Frontend: Svelte with Vite. I love Svelte's reactivity and small bundle size.
- UI Framework: Wails v2. This allowed me to build a native-feeling app with web technologies.
- System Tray:
getlantern/systray. - Executable Size: < 15MB.
ketikin/
βββ app/ # Backend Go code
β βββ app.go # Main app logic
β βββ typer.go # Typing engine
β βββ config.go # Configuration management
β βββ templates.go # Template manager
β βββ statistics.go # Statistics tracking
βββ docs/ # Documentation
β βββ img/ # Screenshots
β βββ BUILD.md # Build instructions
β βββ QUICKSTART.md # Quick start guide
βββ frontend/ # Svelte frontend
β βββ src/
β βββ App.svelte # Main UI component
β βββ app.css # Gradient design system
βββ main.go # Entry point
βββ wails.json # Wails configuration
βββ README.md # This file
I store configuration and data in:
%USERPROFILE%\.ketikin\
βββ config.json # User settings
βββ templates.json # Saved templates
βββ statistics.json # Typing statistics
ESC- Emergency stop typingCtrl+Alt+T- Start typing (when configured)
- No internet connection required - I built this to be fully offline.
- No data collection - All data stays on your machine.
- No admin privileges needed - Runs as regular user.
- Open source - You can review the code yourself.
- Windows-only (I've tested on Windows 10/11).
- Some special Unicode characters may not be fully supported.
- Cannot type into applications that block automated input.
- Make sure the target window is focused.
- Some applications block automated keyboard input.
- Try adjusting the typing delay.
- Ensure you have Windows 10 or later.
- Check Windows Defender hasn't blocked it.
- Run from a folder you have write permissions to.
- Check your keyboard layout matches the text.
- Some special Unicode characters may not work.
- Try using the copy-paste method instead.
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details.
Developed with assistance from:
Gemini 3 Pro Preview - Initial architecture and Go implementation Claude Sonnet 4.5 - UI refinements and optimization
Special thanks to the open source community for the amazing libraries that made this project possible.



