# 代码自动输入器 **Repository Path**: lasuy/code-auto-entry-tool ## Basic Information - **Project Name**: 代码自动输入器 - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-15 - **Last Updated**: 2025-10-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 代码自动输入程序 v7.0 一个专业的代码演示工具,使用**极速删除+重打**技术,让评委看到你"准确无误"地打出代码。 ## 项目概述 在编程演示或比赛中,这个程序允许用户随意按键,但屏幕上会显示预设的正确代码。虽然有删除过程,但速度极快(1ms),几乎看不见。 ## 核心特性 - **极速删除**: 1ms删除延迟,几乎看不到删除过程 - **超快输入**: 1ms字符延迟,总延迟仅2ms/字符 - **完美伪装**: 用户随意打字,输出正确代码 - **多文件管理**: 支持codes/目录下多个代码文件切换 - **Tab转空格**: 自动将Tab转换为4个空格,解决缩进显示问题 - **稳定可靠**: 不使用按键拦截,避免监听器意外停止 ## 快速开始 ### 安装依赖 ```bash pip install -r requirements.txt ``` 或手动安装: ```bash pip install pynput colorama ``` ### 启动程序 ```bash python GaiV7.0.py ``` ### 使用步骤 1. **准备代码文件**: 将代码保存为 `.txt` 文件,放入 `code.txt` 或 `codes/` 目录 2. **启动程序**: `python GaiV7.0.py` 3. **激活功能**: 按 `F5` 加载代码 4. **开始演示**: 切换到目标程序(Jupyter/VSCode/PyCharm),随意打字 5. **停止/退出**: 按 `F6` 停止,按 `F8` 退出 ## 快捷键 | 按键 | 功能 | 说明 | |------|------|------| | **F5** | 开始输入 | 加载代码并激活 | | **F6** | 停止输入 | 停止输入,不退出程序 | | **F3** | 切换文件 | 循环切换代码文件 | | **F7** | 查看配置 | 显示当前配置信息 | | **F8** | 退出程序 | 退出程序 | ## 配置文件 (config.json) ```json { "char_delay": 0.001, // 字符输入延迟(秒) "delete_delay": 0.001, // 删除延迟(秒) "tab_to_spaces": true, // Tab自动转空格 "spaces_per_tab": 4, // 每个Tab转4个空格 "debug_mode": false // 调试模式 } ``` ### 常用配置调整 **极速模式(推荐):** ```json { "char_delay": 0.001, "delete_delay": 0.001 } ``` **自然速度(更像真人):** ```json { "char_delay": 0.05, "delete_delay": 0.01 } ``` ## 代码文件准备 ### 文件位置 ``` DaiMaBuChong/ ├── code.txt # 默认代码文件 └── codes/ # 多代码文件目录 ├── demo.txt # 你的代码1 ├── test.txt # 你的代码2 └── project.txt # 你的代码3 ``` ### 代码示例 创建 `codes/demo.txt`: ```python def hello(): print("Hello Jupyter!") return "Success" result = hello() print(result) ``` ## 使用流程 ### 演示流程 ``` 1. 启动程序 → python GaiV7.0.py 2. 按F5激活 → 看到"✓ 已激活"提示 3. Alt+Tab → 切换到Jupyter/VSCode 4. 随意打字 → 自动输出正确代码 5. 按F6停止 → 输入已停止 6. 按F8退出 → 程序退出 ``` ### 多文件演示 ``` 1. 准备多个代码文件:codes/part1.txt, part2.txt, part3.txt 2. 按F5激活第一个文件 3. 打完后按F6停止 4. 按F3切换到下一个文件 5. 按F5继续输入 ``` ## 版本更新记录 ### V7.0 - 极速删除版 (2025-10-21) 当前版本 #### 核心改进 - **极速删除**: 删除延迟从10ms降到1ms,提速10倍 - **极速输入**: 字符延迟1ms,总延迟仅2ms/字符 - **Tab转空格**: 自动将Tab转换为空格,解决缩进问题 - **稳定可靠**: 不使用按键拦截,避免监听器停止问题 - **完美兼容**: 支持Jupyter/Colab/VSCode/PyCharm等所有环境 #### 性能对比 | 版本 | 删除延迟 | 字符延迟 | 总延迟 | 速度 | |------|---------|---------|--------|------| | V5.3 | 10ms | 20ms | 30ms | 1x | | V7.0 | 1ms | 1ms | 2ms | **15x** | #### 技术特点 - 使用`keyboard.Listener`监听按键 - 删除用户输入 + 输出正确字符 - 延迟极小,删除过程几乎看不见 - 不依赖`suppress`参数,避免兼容性问题 ## 注意事项 ### 系统要求 - **操作系统**: Windows - **Python版本**: Python 3.7+ - **依赖**: pynput, colorama ### 使用建议 - **打字节奏**: 保持正常速度,不要太快 - **偶尔停顿**: 在函数定义处停顿,显得更真实 - **预先测试**: 先在记事本测试,熟悉操作 - **代码格式**: 确保代码文件UTF-8编码 ### 速度调整 ```json // 如果删除可见,增加延迟 "char_delay": 0.01, "delete_delay": 0.005 // 如果需要更快,减少延迟 "char_delay": 0.001, "delete_delay": 0.001 ``` ## 故障排除 | 问题 | 解决方案 | |------|---------| | 启动失败 | 检查pynput是否安装:`pip install pynput` | | 无法加载代码 | 确保code.txt或codes/目录存在且有内容 | | Tab显示异常 | 确保`tab_to_spaces: true` | | 速度太快/太慢 | 修改config.json中的`char_delay` | ## 历史版本 | 版本 | 特点 | 状态 | |------|------|------| | **V7.0** | 极速删除,1ms延迟 | 当前推荐 | | V6.x | 按键拦截(有兼容性问题) | 已废弃 | | V5.5 | Tab转空格 | 可用 | | V5.3 | 保守缩进检测 | 可用 | ## 许可证 本项目仅供学习和演示使用。请遵守相关法律法规,不得用于欺骗或作弊目的。 --- **当前版本**: v7.0 - 极速删除版 **最后更新**: 2025-10-21 **核心技术**: 极速删除(1ms) + Tab转空格 **推荐使用**: `python GaiV7.0.py` **立即体验V7.0,享受极速稳定的演示效果!**