Skip to content

123lllhappy/-Python-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

USB文字传输工具说明.md

USB 文字传输工具 使用说明

这是什么?

一个通过 USB 数据线连接手机和电脑,实现双向文字传输的工具。

核心功能:在手机上打字,文字自动输入到电脑当前活跃窗口(如终端、编辑器、聊天框等),无需手动粘贴。相当于把手机变成电脑的"无线键盘/远程输入法"。

功能效果

  • 手机 → 电脑:手机上打字点发送,文字自动出现在电脑当前焦点窗口中
  • 电脑 → 手机:在电脑浏览器中输入文字,手机端实时显示
  • 聊天界面:手机和电脑端都有类似微信的聊天气泡界面,可查看历史消息
  • 自动粘贴:电脑端可开关"自动粘贴"功能,开启后手机发的文字自动输入到活跃窗口
  • 消息管理:手机端点击「管理」按钮进入多选模式,支持全选、删除选中、清空全部消息

工作原理

手机 (浏览器)  ←— USB 数据线 + ADB 端口转发 —→  电脑 (Python 服务器)
     ↓                                              ↓
  打字、发送                                    接收文字
                                            自动写入剪贴板
                                          模拟 Ctrl+V 粘贴
                                              ↓
                                     文字出现在活跃窗口
  1. 电脑运行 Python HTTP 服务器(端口 8765)
  2. 通过 ADB reverse 命令,把手机的 localhost:8765 转发到电脑的 8765 端口
  3. 手机浏览器访问 localhost:8765/mobile 即可与电脑通信
  4. 所有数据通过 USB 传输,不走网络,安全可靠

环境要求

电脑端(Windows)

需求 说明
操作系统 Windows 10/11
Python Python 3.7 或更高版本
ADB Android Debug Bridge(Android 调试工具)

Python 安装检查

打开 CMD 或 PowerShell,输入:

python --version

应显示 Python 3.7.x 或更高版本。如果提示找不到命令,需要安装 Python:

ADB 安装检查

打开 CMD 或 PowerShell,输入:

adb version

应显示 ADB 版本信息。如果提示找不到命令:

  • ADB 通常随 Android Studio 安装,位于: C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools\
  • 也可单独下载 platform-tools: https://developer.android.com/tools/releases/platform-tools
  • 下载解压后,将 platform-tools 文件夹路径添加到系统 PATH 环境变量

无需额外 Python 包

本工具使用 Python 标准库实现,不需要 pip install 任何第三方包。

手机端(Android)

需求 说明
系统 Android(任意版本)
USB 调试 需要开启
浏览器 任意浏览器(自带浏览器、Chrome 等均可)
USB 线 能传数据的数据线(不能是只充电的线)

开启 USB 调试

  1. 打开手机「设置」→「关于手机」
  2. 连续点击「MIUI 版本」7 次,开启开发者选项
  3. 返回「设置」→「更多设置」→「开发者选项」
  4. 开启「USB 调试」
  5. 用 USB 线连接电脑时,手机弹出授权提示,点「允许」

不同品牌手机路径可能不同,但大体步骤一致:开启开发者选项 → 开启 USB 调试


使用步骤

第一步:连接手机

用 USB 数据线连接手机和电脑,确保手机已授权 USB 调试。

第二步:启动服务器

在电脑上打开 CMD 或 PowerShell,运行:

python "C:\Users\cuiru\Desktop\fb\usb_text.py"  
/文件地址/

看到以下输出表示启动成功:

也可以点击run.bat一键启动

USB 文字传输工具

[OK] ADB 反向端口转发已设置 (tcp:8765)

服务器已启动: http://127.0.0.1:8765

手机端: 在手机浏览器打开 http://localhost:8765/mobile 电脑端: http://localhost:8765

按 Ctrl+C 停止


### 第三步:手机打开网页

在手机浏览器**地址栏**中输入(注意要加 http://):

http://localhost:8765/mobile


> 重要:是在地址栏输入,不是在搜索框搜索!
> 小米浏览器必须加 http:// 前缀,否则会当成搜索。

### 第四步:开始使用

- **手机发文字到电脑**:在手机页面的输入框打字 → 点击发送按钮
  - 文字会自动出现在电脑当前活跃窗口中
  - 请确保你想输入的窗口处于最前面(焦点状态)
  
- **电脑发文字到手机**:在电脑浏览器打开 http://localhost:8765 → 在输入框打字 → 点发送
  - 文字会出现在手机页面上

### 第五步:停止

在运行服务器的命令行窗口按 `Ctrl+C` 即可停止。

---

## 界面说明

### 手机端界面

- 顶部:标题 + 连接状态(绿点 = 已连接)
- 中间:消息记录(蓝色气泡 = 你发的,灰色气泡 = 电脑发的)
- 底部:输入框 + 发送按钮
- **删除消息**:点击右上角「管理」按钮进入多选模式,点击消息选择/取消,支持全选,然后点删除或清空

### 电脑端界面

- 顶部:标题 + 消息计数 + 自动粘贴开关 + 连接状态
- 中间:消息记录(每条消息旁有「复制」和「删除」按钮)
- 底部:输入框 + 发送按钮
- **自动粘贴开关**:开启时手机发的文字会自动粘贴到活跃窗口;关闭后只显示不粘贴
- **删除消息**:双击消息进入多选模式,或直接点单条消息旁的「删除」按钮;多选模式下可全选/删除选中/清空全部

---

## 常见问题

### Q: 手机浏览器输入地址后显示搜索结果而不是页面?
A: 地址前面加上 `http://`,输入完整地址 `http://localhost:8765/mobile`

### Q: 手机显示"无法连接"?
A: 检查以下几点:
1. 电脑上的服务器是否在运行(命令行窗口不要关)
2. USB 线是否连接好
3. 手机 USB 调试是否开启
4. 重新运行一次 `python usb_text.py` 让它重新设置 ADB

### Q: 文字没有自动出现在电脑窗口中?
A: 确保你想输入的窗口(如 Qoder CLI)处于电脑屏幕最前面、是当前焦点窗口。
   如果电脑端浏览器在最前面,文字会粘贴到浏览器里。

### Q: 可以把手机网页添加到桌面当 APP 用吗?
A: 可以。用 Chrome 浏览器打开 `http://localhost:8765/mobile`,点菜单 →「添加到主屏幕」。
   小米自带浏览器也能添加快捷方式,但体验不如 Chrome(会显示地址栏)。

### Q: 支持中文吗?
A: 完全支持中文、英文、符号、表情等所有文字。

### Q: 数据安全吗?
A: 安全。所有数据通过 USB 传输,服务器只监听 127.0.0.1(本机),局域网中的其他人无法访问。
   消息只保存在内存中,关闭程序即消失。

### Q: 每次用都要重新启动吗?
A: 是的。每次使用前需要:连接 USB → 运行 python usb_text.py → 手机打开网页。
   服务器运行期间可以一直使用,关闭命令行窗口后停止。

### Q: 聊天记录会自动清除吗?
A: 会。消息只保存在内存中,不会写入任何文件。
   - 关闭服务器(Ctrl+C 或关闭命令行窗口)→ 所有消息自动清除
   - 服务器运行期间 → 最多保留 500 条消息,超出后自动删除最旧的
   - 每次重新启动服务器,聊天记录都是空的

### Q: 怎么手动删除消息?
A: 支持多种删除方式:
   - **手机端**:点击右上角「管理」按钮进入多选模式 → 点击消息选择/取消 → 点「全选」可全选 → 点「删除」删除选中的,或点「清空」清空全部 → 点「取消」或顶部「完成」退出管理模式
   - **电脑端**:每条消息旁有「删除」按钮可单条删除;双击消息进入多选模式 → 支持全选/删除选中/清空全部
   - 删除操作会同步到手机和电脑两端

About

使用ai编程,利用Python编写的一个手机输入法直连电脑输出。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors