|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "Day 104: 跨平台按键监控工具 - 在桌面半透明悬浮窗中实时显示键盘输入,不同类型按键用不同颜色高亮显示" |
| 4 | +author: iosdevlog |
| 5 | +date: 2026-05-13 00:00:00 +0800 |
| 6 | +category: [AI, Tools] |
| 7 | +tags: [ToastKeys, Python, tkinter, pynput, 按键监控, 跨平台] |
| 8 | +--- |
| 9 | + |
| 10 | +# ToastKeys - 跨平台按键监控工具 |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | +一个简洁优雅的跨平台按键监控工具,在桌面半透明悬浮窗中实时显示键盘输入,并用不同颜色高亮显示不同类型的按键。 |
| 18 | + |
| 19 | +--- |
| 20 | + |
| 21 | +## 📸 效果展示 |
| 22 | + |
| 23 | +### 主界面 |
| 24 | +悬浮窗默认显示在屏幕中下方,半透明黑色背景,实时显示当前按键。 |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | +### 不同按键类型展示 |
| 31 | + |
| 32 | +**字母键** - 绿色大字体 |
| 33 | +``` |
| 34 | +显示效果:绿色 "A" |
| 35 | +``` |
| 36 | + |
| 37 | +**数字键** - 青色大字体 |
| 38 | +``` |
| 39 | +显示效果:青色 "1" |
| 40 | +``` |
| 41 | + |
| 42 | +**功能键** - 紫色 |
| 43 | +``` |
| 44 | +显示效果:紫色 "F1" |
| 45 | +``` |
| 46 | + |
| 47 | +**控制键** - 橙色 |
| 48 | +``` |
| 49 | +显示效果:橙色 "Ctrl" |
| 50 | +``` |
| 51 | + |
| 52 | +**组合键** - 黄色文字 + 红色背景 |
| 53 | +``` |
| 54 | +显示效果:红底黄字 "Ctrl + C" |
| 55 | +``` |
| 56 | + |
| 57 | +### 帮助文档 |
| 58 | +按 F1 显示帮助文档,包含所有按键类型的彩色示例。 |
| 59 | + |
| 60 | +--- |
| 61 | + |
| 62 | +## 功能特性 |
| 63 | + |
| 64 | +- ✅ 跨平台支持(Windows、macOS、Linux) |
| 65 | +- ✅ 半透明桌面悬浮窗 |
| 66 | +- ✅ 实时监控键盘输入 |
| 67 | +- ✅ 高亮显示复合按键(如 Ctrl+C、Cmd+V) |
| 68 | +- ✅ 时间戳显示 |
| 69 | +- ✅ 窗口可拖动 |
| 70 | +- ✅ 始终置顶显示 |
| 71 | + |
| 72 | +## 安装 |
| 73 | + |
| 74 | +### 1. 安装依赖 |
| 75 | + |
| 76 | +```bash |
| 77 | +pip install -r requirements.txt |
| 78 | +``` |
| 79 | + |
| 80 | +### 2. 权限设置(macOS) |
| 81 | + |
| 82 | +在 macOS 上,需要授予终端或 Python 辅助功能权限: |
| 83 | + |
| 84 | +1. 打开 **系统设置** > **隐私与安全性** > **辅助功能** |
| 85 | +2. 添加你的终端应用(Terminal.app 或 iTerm2)或 Python |
| 86 | + |
| 87 | +## 使用方法 |
| 88 | + |
| 89 | +```bash |
| 90 | +python toastkeys.py |
| 91 | +``` |
| 92 | + |
| 93 | +或者添加执行权限后直接运行: |
| 94 | + |
| 95 | +```bash |
| 96 | +chmod +x toastkeys.py |
| 97 | +./toastkeys.py |
| 98 | +``` |
| 99 | + |
| 100 | +## 按键显示样式 |
| 101 | + |
| 102 | +不同类型的按键使用不同的颜色和样式: |
| 103 | + |
| 104 | +- **字母键**:绿色大字体 |
| 105 | +- **数字键**:青色大字体 |
| 106 | +- **功能键**(F1-F12、ESC、Tab等):紫色 |
| 107 | +- **控制键**(Ctrl、Alt、Shift、Cmd):橙色 |
| 108 | +- **符号键**:白色 |
| 109 | +- **组合键**(如 Ctrl+C):黄色文字 + 红色背景 |
| 110 | + |
| 111 | +## 界面特性 |
| 112 | + |
| 113 | +- 半透明黑色背景(透明度 90%) |
| 114 | +- 窗口默认显示在屏幕中下方 |
| 115 | +- 只显示当前按键,不显示历史记录 |
| 116 | +- 鼠标悬停或获得焦点时显示边框,平时隐藏边框 |
| 117 | +- 可以拖动标题栏移动窗口位置 |
| 118 | +- 始终置顶,不会被其他窗口遮挡 |
| 119 | +- 按 F1 显示帮助文档 |
| 120 | + |
| 121 | +## 快捷键 |
| 122 | + |
| 123 | +- **F1**:显示帮助文档 |
| 124 | +- **点击右上角 ✕**:退出程序 |
| 125 | + |
| 126 | +## 注意事项 |
| 127 | + |
| 128 | +- 某些系统可能需要管理员权限才能监听键盘事件 |
| 129 | +- 在某些应用中(如密码输入框),按键监控可能受到限制 |
| 130 | +- 请遵守当地法律法规,仅在授权环境下使用 |
| 131 | + |
| 132 | +## 技术栈 |
| 133 | + |
| 134 | +- **tkinter**:跨平台 GUI 框架(Python 内置) |
| 135 | +- **pynput**:跨平台键盘监听 |
| 136 | + |
| 137 | +## 作者 |
| 138 | + |
| 139 | +**AI开发日志** |
| 140 | + |
| 141 | +## GitHub 仓库 |
| 142 | + |
| 143 | +[build-your-own-x-with-ai/ToastKeys](https://github.com/build-your-own-x-with-ai/ToastKeys) |
| 144 | + |
| 145 | +## 许可证 |
| 146 | + |
| 147 | +MIT License |
| 148 | + |
| 149 | +--- |
| 150 | + |
| 151 | +<div align="center"> |
| 152 | +Made with ❤️ by AI开发日志 |
| 153 | +</div> |
0 commit comments