|
| 1 | +<meta name="google-site-verification" content="tw5pjIDYKCrq1QKYBrD5iyV7DXIM4rsHN9d11WlJFe4" /> |
| 2 | + |
| 3 | +[한국어](../README.md) | [English](docs/readme_en.md) | **中文** |
| 4 | + |
| 5 | +<div align="center"> |
| 6 | + <img src="../src-tauri/icons/icon.ico" alt="dmnote Logo" width="120" height="120"> |
| 7 | + |
| 8 | + <h1>DM Note</h1> |
| 9 | + |
| 10 | + <p> |
| 11 | + <strong>支持广泛自定义的按键显示程序</strong> |
| 12 | + </p> |
| 13 | + <p> |
| 14 | + <strong>提供用户自定义按键映射与样式、可轻松切换的预设,以及现代化、直观的界面</strong> |
| 15 | + </p> |
| 16 | + |
| 17 | + [](https://github.com/lee-sihun/DmNote/releases) |
| 18 | + [](https://github.com/lee-sihun/DmNote/releases/download/1.5.0/DM.NOTE.v.1.5.0.zip) |
| 19 | + [](https://github.com/lee-sihun/DmNote/blob/master/LICENSE) |
| 20 | +</div> |
| 21 | + |
| 22 | +https://github.com/user-attachments/assets/20fb118d-3982-4925-9004-9ce0936590c2 |
| 23 | + |
| 24 | +## 🌟 概述 |
| 25 | + |
| 26 | +**DM Note** 是一款专为配合 DJMAX RESPECT V 使用而创建的按键显示程序. 基于 Tauri 和 React 构建, 它允许您通过简单设置, 在直播或游戏视频创作时可视化显示按键输入. 目前, 它仅官方支持 Windows 10/11 和 macOS 环境. 如果您使用的是 Linux, 我们推荐尝试 [社区分支版本](https://github.com/northernorca/DmNote). |
| 27 | + |
| 28 | +[前往下载 DM NOTE v1.5.0](https://github.com/lee-sihun/DmNote/releases/download/1.5.0/DM.NOTE.v.1.5.0.zip) |
| 29 | + |
| 30 | +## ✨ 功能特性 |
| 31 | + |
| 32 | +### ⌨️ 键盘输入 与 映射 |
| 33 | + |
| 34 | +- 实时键盘输入检测与可视化 |
| 35 | +- 自定义按键映射配置 |
| 36 | + |
| 37 | +### 🎨 按键样式 自定义 |
| 38 | + |
| 39 | +- 基于 网格 的按键编辑 |
| 40 | +- 支持图片分配 |
| 41 | +- 自定义 CSS 支持 |
| 42 | + |
| 43 | +### 💾 预设 与 设置管理 |
| 44 | + |
| 45 | +- 自动保存 用户设置 |
| 46 | +- 保存/加载 预设 |
| 47 | + |
| 48 | +### 🖼️ 覆盖层 与 窗口管理 |
| 49 | + |
| 50 | +- 锁定 悬浮窗 位置 |
| 51 | +- 始终置顶 |
| 52 | +- 选择调整锚点大小 |
| 53 | + |
| 54 | +### 🌧️ 音符键雨 (你没看过冰与火之舞?) 自定义 |
| 55 | + |
| 56 | +- 调整音符键雨的颜色、不透明度、圆角、速度和高度 |
| 57 | +- 反向键雨 |
| 58 | + |
| 59 | +### 🔢 按键计数器 |
| 60 | + |
| 61 | +- 实时显示 每个按键的输入次数 |
| 62 | +- 自定义计数器位置、颜色和样式 |
| 63 | +- 自定义 CSS 支持 |
| 64 | + |
| 65 | +### ⚙️ 图层 与 设置 |
| 66 | + |
| 67 | +- 多语言支持 (韩文、英文、中文) |
| 68 | +- 图层渲染选项 (Direct3D 11/9, OpenGL) |
| 69 | +- 重置设置 |
| 70 | + |
| 71 | +## 🚀 开发 |
| 72 | + |
| 73 | +### 技术结构 |
| 74 | + |
| 75 | +- **前端**: React 19 + Typescript + Vite 7 |
| 76 | +- **后端**: Tauri |
| 77 | +- **样式**: Tailwind CSS 3 |
| 78 | +- **输入检测**: Raw Input API (Windows), 全局输入事件 (macOS) |
| 79 | +- **包管理器**: npm |
| 80 | + |
| 81 | +### 文件夹 结构 |
| 82 | + |
| 83 | +``` |
| 84 | +DmNote/ |
| 85 | +├─ src/ # 前端 |
| 86 | +│ ├─ renderer/ # React 渲染器 |
| 87 | +│ │ ├─ components/ # UI 组件 |
| 88 | +│ │ ├─ hooks/ # 状态/同步钩子 |
| 89 | +│ │ ├─ stores/ # Zustand 状态库 |
| 90 | +│ │ ├─ windows/ # 渲染器窗口 (main/overlay) |
| 91 | +│ │ ├─ styles/ # 全局/通用样式 |
| 92 | +│ │ └─ assets/ # 静态资源 |
| 93 | +│ └─ types/ # 共享类型/模型 |
| 94 | +├─ src-tauri/ # Tauri 后端 |
| 95 | +│ └─ src/ # 命令、服务 |
| 96 | +├─ package.json # 项目依赖项 和 运行脚本 |
| 97 | +├─ tsconfig.json # TypeScript 配置 |
| 98 | +└─ vite.config.ts # Vite 配置 |
| 99 | +``` |
| 100 | + |
| 101 | +### 基本安装 与 运行 |
| 102 | + |
| 103 | +在终端中按顺序输入一下命令: |
| 104 | + |
| 105 | +```bash |
| 106 | +git clone https://github.com/lee-sihun/DmNote.git |
| 107 | +cd DmNote |
| 108 | +npm install |
| 109 | +npm run tauri:dev |
| 110 | +``` |
| 111 | + |
| 112 | +## 🖼️ 截图 |
| 113 | + |
| 114 | +<!--img src="assets/2025-08-29_12-07-12.webp" alt="Note Effect" width="700"--> |
| 115 | + |
| 116 | +<img src="assets/IMG_1005.gif" alt="Note Effect" width="700"> |
| 117 | + |
| 118 | +<!--img src="assets/1.webp" alt="Key Viewer Demo 1" width="700"--> |
| 119 | + |
| 120 | +<img src="assets/2025-09-20_11-55-17.gif" alt="Key Viewer Demo 2" width="700"> |
| 121 | + |
| 122 | +<!--img src="assets/IMG_1008.gif" alt="Key Viewer Demo 3" width="700"--> |
| 123 | + |
| 124 | +<img src="assets/2025-09-20_11-57-38.gif" alt="Key Viewer Demo 4" width="700"> |
| 125 | + |
| 126 | +## 📝 注意事项 |
| 127 | + |
| 128 | +- 部分游戏的全屏模式下可能无法正常运行, 此情况请使用无边框窗口模式. |
| 129 | +- 若出现图形显示问题, 请在设置中更改渲染选项. |
| 130 | +- 可通过 OBS窗口捕获 功能录制透明背景画面, 无需使用色度键. |
| 131 | +- 在游戏屏幕上显示时, 将其 **置于最顶层** 并启用 **锁定叠加窗口**. |
| 132 | +- 自定义 CSS 示例文件位于 `assets` 文件夹中. |
| 133 | +- 分配类名时, 只输入名称, 不输入选择器 (例如, `blue` -> o, `.blue` -> x). |
| 134 | +- 程序默认设置保存在 `store.json` 文件夹的文件 `%appdata%/com.dmnote.desktop` 中. |
| 135 | + |
| 136 | +## 🤝 贡献指南 |
| 137 | + |
| 138 | +我们欢迎各位的贡献!详情请查阅 [贡献指南](CONTRIBUTING.md) |
| 139 | + |
| 140 | +### ✨ 贡献者 |
| 141 | + |
| 142 | +<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> |
| 143 | +<!-- prettier-ignore-start --> |
| 144 | +<!-- markdownlint-disable --> |
| 145 | +<table> |
| 146 | + <tbody> |
| 147 | + <tr> |
| 148 | + <td align="center" valign="top" width="14.28%"><a href="https://github.com/lee-sihun"><img src="https://avatars.githubusercontent.com/u/111095268?v=4?s=100" width="100px;" alt="이시훈"/><br /><sub><b>이시훈</b></sub></a><br /><a href="#maintenance-lee-sihun" title="Maintenance">🚧</a></td> |
| 149 | + <td align="center" valign="top" width="14.28%"><a href="https://github.com/eun-yeon"><img src="https://avatars.githubusercontent.com/u/173552527?v=4?s=100" width="100px;" alt="연우"/><br /><sub><b>연우</b></sub></a><br /><a href="#design-eun-yeon" title="Design">🎨</a> <a href="#ideas-eun-yeon" title="Ideas, Planning, & Feedback">🤔</a></td> |
| 150 | + <td align="center" valign="top" width="14.28%"><a href="https://github.com/mohong2"><img src="https://avatars.githubusercontent.com/u/150683765?v=4?s=100" width="100px;" alt="mo_hong"/><br /><sub><b>mo_hong</b></sub></a><br /><a href="#translation-mohong2" title="Translation">🌍</a></td> |
| 151 | + <td align="center" valign="top" width="14.28%"><a href="https://github.com/LSVoiid"><img src="https://avatars.githubusercontent.com/u/187824877?v=4?s=100" width="100px;" alt="LSVoiid"/><br /><sub><b>LSVoiid</b></sub></a><br /><a href="#translation-LSVoiid" title="Translation">🌍</a></td> |
| 152 | + </tr> |
| 153 | + </tbody> |
| 154 | +</table> |
| 155 | + |
| 156 | +<!-- markdownlint-restore --> |
| 157 | +<!-- prettier-ignore-end --> |
| 158 | + |
| 159 | +<!-- ALL-CONTRIBUTORS-LIST:END --> |
| 160 | + |
| 161 | +## 📄 许可证 |
| 162 | + |
| 163 | +[GPL-3.0 License Copyright (C) 2024 lee-sihun](https://github.com/lee-sihun/DmNote/blob/master/LICENSE) |
| 164 | + |
| 165 | +## ❤️ 特别致谢! |
| 166 | + |
| 167 | +- [tauri-apps/tauri](https://github.com/tauri-apps/tauri) |
| 168 | + |
| 169 | +<!-- |
| 170 | +## 🔜 计划更新 内容 |
| 171 | +
|
| 172 | +- 按键输入次数、输入速度可视化 |
| 173 | +- 同步输入间隔(毫秒)显示 |
| 174 | +- 输入数据统计分析功能 |
| 175 | + --> |
0 commit comments