Skip to content

About

A lightweight Windows typing simulator with variable speed, natural pauses, optional typo correction, and a Tkinter GUI.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Typing Simulator · 模拟打字工具

一个轻量的 Windows 桌面工具:粘贴文字、设置时长,再把光标放到目标输入框,程序就会逐字输入,并加入速度变化和停顿。

Built with Python, Tkinter, and pynput. Simulate variable-speed typing into the focused application, with configurable duration, a start countdown, and optional typo correction.

功能

  • 逐字输入:支持中文、英文、数字及常见标点;可在 Word、记事本和浏览器等应用的可编辑区域使用,实际兼容性取决于目标应用。
  • 自然节奏:随机调整字符间隔,穿插短暂的连续输入、标点停顿和思考停顿。
  • 自定义时长:按设定的总时长分配输入间隔,并提供慢速、中速、快速的参考时长。
  • 可选错字模拟:偶尔输入错误的英文字母或数字,再回删修正。
  • 倒计时与进度:开始前留出切换窗口的时间,界面显示状态和进度。
  • 随时停止:按全局快捷键 Esc,或点击「停止」。

环境要求

  • Windows 10 / 11。
  • Python 3.10 或更高版本,包含 Tkinter 和 pip。
  • 第一次安装依赖时需要联网;打字功能在本机运行,无需账号或 API 密钥。

快速开始

方式一:双击运行

  1. 安装 Python,并在安装时勾选 Add Python to PATH。

  2. 下载此仓库的 ZIP 并解压,或使用 Git 克隆:

    git clone https://github.com/Evan0571/typing-simulator.git
    cd typing-simulator
  3. 双击 run.bat。脚本会使用当前 python 环境安装 / 检查依赖,然后打开窗口。

run.bat 每次启动都会执行 pip install -r requirements.txt。若希望隔离依赖或跳过这一步,可使用下方的手动运行方式。

方式二:使用虚拟环境

在项目目录打开 PowerShell,执行:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe main.py

后续只需执行最后一行。以上命令直接使用虚拟环境中的 Python,无需激活脚本。

使用方法

  1. 在「要输入的文字」中粘贴内容。
  2. 设置「打完总时长」和「开始前倒计时」,两者均需为大于 0 的数字,支持小数。
  3. 根据需要勾选「偶尔打错字并回删」,也可以点击「参考时长」查看估算值。
  4. 点击「开始打字」,在倒计时结束前,用鼠标点击目标应用的输入位置。
  5. 等待输入完成;需要中止时按 Esc。
设置 默认值 说明
打完总时长 60 秒 用于分配字符间隔,不包含开始前的倒计时
开始前倒计时 3 秒 留出切换窗口和定位光标的时间
错字回删 开启 对部分字母和数字模拟错误后修正

程序会向当前获得焦点的窗口发送键盘输入。输入过程中切换窗口,后续文字也会跟随焦点;建议先在空白记事本中试用。

输入行为与限制

  • 总时长是目标值:系统调度、键盘事件开销和错字修正会使实际完成时间与设置值有差异。
  • 换行和制表符是按键:换行会发送 Enter,制表符会发送 Tab。目标应用可能将其解释为发送消息、提交表单或切换焦点。
  • 中文为直接字符输入:不模拟拼音选字流程;特殊字符、表情和部分编辑器的兼容性需在目标应用中确认。
  • 停止可能有短暂延迟:普通字符间隔会定期检查停止信号,错字修正中的短暂停顿可能延迟响应。
  • 当前提供源码运行方式:尚未提供独立的 .exe 安装包;其他操作系统未经本项目验证。

常见问题

双击后窗口一闪而过

在项目文件夹打开 PowerShell,运行以下命令查看具体错误:

python --version
python -m pip install -r requirements.txt
python main.py

若提示找不到 python,检查 Python 是否安装以及是否加入 PATH。若提示缺少 tkinter,通过 Python 安装程序补装 Tcl/Tk 组件。

没有输入,或文字出现在错误的位置

检查倒计时结束时光标是否处于可编辑区域。先在普通权限启动的记事本中测试;目标应用的权限级别和输入处理方式也可能影响模拟按键。

英文或标点与预期不同

尝试切换到英文输入状态,并暂时关闭目标编辑器的自动更正或自动补全。目标应用可能自行处理输入的按键。

如何更新依赖

若使用虚拟环境:

.\.venv\Scripts\python.exe -m pip install --upgrade -r requirements.txt

项目结构

typing-simulator/
├── main.py           # Tkinter 界面、参数校验和全局 Esc 监听
├── typer.py          # 输入节奏生成、键盘输入和错字修正
├── requirements.txt  # 第三方依赖:pynput
├── run.bat           # Windows 双击启动入口
├── .gitignore        # 排除缓存、虚拟环境和本地配置
├── .gitattributes    # 统一文本与 Windows 脚本的换行格式
└── README.md

开发与反馈

修改后可先进行语法检查:

python -m compileall -q main.py typer.py

此检查不会模拟键盘输入,也不代表目标应用兼容性测试。手动验证时,可在空白记事本中检查中英文、换行、错字回删及 Esc 停止。

欢迎通过 Issues 反馈问题。请附上 Windows / Python 版本、目标应用、复现步骤和错误信息。

About

A lightweight Windows typing simulator with variable speed, natural pauses, optional typo correction, and a Tkinter GUI.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages