Auto Input is a lightweight Windows tool that simulates keyboard typing instead of paste.
It is useful when:
- Paste is disabled, such as in forms, exams, or some apps.
- You need human-like typing with configurable delays.
- You want to automate repetitive text input.
The GUI uses Python's standard tkinter library. Text input is sent through the Windows SendInput API, so there are no third-party runtime dependencies.
uv run python -m auto_inputUse the included PyInstaller build script:
.\build-onefile.batThe output will be:
dist\AutoInput.exe
The script uses uv to invoke PyInstaller temporarily. PyInstaller is not added as a runtime dependency.
- Delayed start: gives you time to switch to the target window.
- Per-character delay: supports fixed and randomized delays.
- Randomized character delay: configurable minimum and maximum values.
- Newline modes:
Enter,Shift+Enter,Ctrl+Enter, and Unicode newline. - Emergency stop: available through the in-window button and a global hotkey.
- Configurable emergency hotkey: defaults to the backtick/tilde key, and can be changed to values like
Esc,F12, orCtrl+Shift+Q. - Cancel support: works while waiting and while typing.
- UI language: switch between Chinese and English from the top-right selector.
- Resizable window: the text area adjusts with the window size.
- Paste the text into the text box.
- Configure the start delay, character delay, and newline mode.
- Click Start.
- Switch to the target input field before the countdown ends.
- To stop, click Cancel, click Emergency Stop, or press the configured global emergency hotkey.
- If the target program runs as administrator, Auto Input must also run as administrator to send input to that window.
- The default newline mode is
Enter. For chat apps, tryShift+EnterorCtrl+Enterto avoid sending the message accidentally. - The global emergency hotkey is registered only while a task is running and is released automatically when the task ends.
Thanks to the LinuxDo Community.
Sincere, friendly, united, and professional: together we build a community we can all be proud of.
