GNU General Public License v3.0

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

DmNote-App/DmNote 深度技术分析

项目背景与痛点

DmNote-App/DmNote 是一款专为 DJMAX RESPECT V 优化的键盘映射工具,能够完全定制化地满足玩家对于键盘输入的需求。其核心价值在于解决了音游玩家逐手优化键盘映射的问题,使得每场演出的按键布局能够更加符合玩家的习惯和需求。在当今多样的游戏中,特别是对于竞技性和节奏感要求极高的音游,能够灵活调整键盘布局对于提升游戏体验至关重要。

技术核心揭秘

DmNote 的开发从用户需求出发,主要使用了 Java 作为开发语言,并通过 Web 技术辅助前端页面交互。其中,比较关键的技术点在于事件监听和键盘映射的动态生成。通过监听键盘事件,DmNote 可以精准识别用户的输入行为,并将这些输入实时地映射到预设的布局中。以下是一张简化的数据流图,展示 DmNote 的技术架构。

graph TD A[用户输入事件] --> B("键盘事件处理器") B --> C{"处理事件?"} C -->|"有效"| D[生成映射] C -->|"无效"| E[忽略事件] D --> F[更新界面] F --> G[保存配置] G --> H[用户确认] H --> I[发送通知]

功能亮点与差异

DmNote 最突出的特点是其完全定制化的键盘映射功能,允许玩家随意调整键位布局,这对用户友好的操作界面使得玩家能够在不熟悉的情况下快速调整到满意的键位映射。另外,全面的事件监听支持也为日后的扩展提供了基础,使得其他音游的键盘映射需求也能得以满足。这是一款面向未来的解决方案,具有高度的可扩展性和灵活性。

应用场景与落地建议

在生产环境中,DmNote 可以被广泛应用于需要精确键盘输入的游戏或是具有特定键位需求的文化娱乐活动,特别是对于电子竞技市场,其在赛前准备中可助玩家提升训练效果、适应不同的键位组合,有助于公平竞技。需要注意的是,由于其运行依赖特定的游戏版本兼容性,所以在部署前需要确保游戏的版本兼容性,以及维护过程中对于新型输入设备的兼容性及时更新。

综合评价

DmNote-App/DmNote 的推出对于音游玩家尤其是DJMAX系列的爱好者来说是一个好消息。它解决了键位定制化的痛点,提供了极高的灵活性和用户体验。然而,它也有其局限性,例如仅限于特定游戏版本的支持,以及在高度自定义后可能出现的兼容性问题。不过,随着游戏开发者和用户社区的共同努力,这些局限性将逐步得到解决。DmNote 作为一个优质的开源项目,未来的发展值得我们保持关注。

关于

GitHub 原始描述(英文)

Make it yours. A customizable key viewer for DJMAX RESPECT V and any game.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
4681
价值分
2547
活跃状态
活跃

语言占比

CSS
HTML
JavaScript
Python
Rust
Shell
Swift
TypeScript

Release

README

한국어 | English | 中文

dmnote Logo

DM Note

Make it yours

나만의 스타일로 완성하는 키뷰어

GitHub release GitHub downloads GitHub license

Screenshot

개요

DM Note는 DJMAX RESPECT V에서 사용하기 위해 만들어진 키뷰어입니다.

다른 게임에서도 자유롭게 사용할 수 있고 설정이 간단해서 스트리밍이나 플레이 영상에 키 입력을 바로 띄울 수 있습니다.

지원 환경 · Windows 10/11 · macOS 리눅스 환경이라면 커뮤니티 포크 버전을 사용해 보시는 것을 추천합니다.

DM NOTE v2.1.0 다운로드

Code signing policy

주요 기능

입력과 표시: 실시간 시각화 · 키 매핑 · 노트 효과 · 키 카운터 · KPS 통계와 그래프 · 키음

꾸미기: 그리드에서 키 편집 · 키마다 이미지 지정 · 사용자 정의 CSS · 플러그인 · 프리셋

오버레이: 항상 위에 표시 · 위치 고정 · 리사이즈 기준점 · OBS 브라우저 소스

그 밖에 다국어 5종, 단축키, 설정 초기화, 자동 업데이트를 지원합니다. 자세한 사용법은 문서를 확인해 주세요.

설치

위 다운로드 링크에서 최신 버전을 받아 압축을 풀고 실행하면 바로 사용할 수 있습니다.

macOS는 별도 권한 설정이 필요합니다. macOS 설치 및 권한 설정 가이드를 먼저 확인해 주세요.

설정은 %appdata%/com.dmnote.desktop 폴더에 저장됩니다.

스트리밍이나 플레이 영상 제작에 자유롭게 사용하셔도 됩니다.

사용 팁

Tip 提示

오버레이를 직접 볼 필요 없이 스트리밍이나 녹화에만 사용한다면 OBS 모드를 권장합니다.

일반 오버레이 모드보다 게임 프레임에 주는 부담이 적습니다.

게임용 컴퓨터와 스트리밍/녹화용 컴퓨터가 따로 있다면 게임용 컴퓨터에서 DM Note를 실행하고 스트리밍/녹화용 컴퓨터에서 OBS 브라우저 소스로 연결하는 방법을 추천합니다.

키뷰어 때문에 생기는 게임 프레임 저하를 거의 없앨 수 있습니다.

오버레이가 게임에 가려질 때

항상 위에 표시를 켜도 일부 게임은 전체화면에서 오버레이를 덮습니다. 이때는 테두리 없는 창 모드를 사용해 주세요.

플러그인과 CSS

Warning 警告

신뢰할 수 없는 플러그인은 절대 불러오지 마세요.

비공식 플러그인을 사용할 때는 ChatGPT 같은 도구로 안전한지 반드시 확인한 뒤 사용해 주세요.

사용자 정의 CSS로 프로그램 인터페이스와 오버레이 스타일을 원하는 대로 바꿀 수 있습니다.

공식 플러그인과 CSS 예제는 assets.zip에 들어 있습니다.

클래스명은 선택자 없이 이름만 입력해 주세요. (blue ✅, .blue ❌)

개발

기술 스택

  • 프론트엔드: React 19 + TypeScript + Vite 7
  • 백엔드: Tauri
  • 스타일링: Tailwind CSS 3
  • 입력 감지: Raw Input API (Windows), 전역 입력 이벤트 (macOS)
  • 패키지 매니저: npm

설치와 실행

터미널에서 다음 명령어를 순서대로 입력해 주세요.

git clone https://github.com/DmNote-App/DmNote.git
cd DmNote
npm install
npm run tauri:dev
Windows ASIO 빌드

Windows에서는 npm run tauri:dev / npm run tauri:build에 키음 ASIO 출력이 기본으로 포함됩니다 (npm 스크립트가 asio-backend 피처를 활성화합니다).

ASIO 빌드에는 일반 종속성 외에 다음이 필요합니다.

  • LLVM/Clang: ASIO 헤더 바인딩 생성(bindgen)에 사용됩니다. LLVM을 설치하고(winget install LLVM.LLVM 또는 scoop install llvm) 환경 변수 LIBCLANG_PATH를 LLVM의 bin 폴더 경로로 설정해 주세요.
  • ASIO SDK: Steinberg ASIO SDK가 저장소에 포함되어 있어(src-tauri/vendor/asio-sdk) 자동으로 사용됩니다. 별도 설정이나 네트워크 연결은 필요 없고 다른 SDK를 사용하려면 CPAL_ASIO_DIR 환경 변수로 바꾸시면 됩니다.

ASIO 없이 빌드하려면(LLVM 불필요, 기여할 때 편합니다) npm run tauri:dev:no-asio / npm run tauri:build:no-asio를 사용해 주세요. src-tauri에서 직접 실행하는 cargo check / cargo build도 기본은 ASIO를 포함하지 않으며 ASIO 코드 경로까지 검사하려면 --features asio-backend를 붙여 주세요.

이 저장소는 Steinberg ASIO SDK를 듀얼 라이선스 중 GPLv3 옵션으로 사용합니다. 자세한 내용은 THIRD_PARTY_NOTICES.txt를 참고해 주세요. ASIO is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.

기여하기

기여는 언제나 환영합니다. 자세한 내용은 기여 가이드를 확인해 주세요.

기여자

이시훈
이시훈

🚧 💻 🤔
연우
연우

🚧 🎨 🤔
mo_hong
mo_hong

🌍
LSVoiid
LSVoiid

🌍 📖
문주
문주

💻
dustingusius
dustingusius

🌍
Dotoritos
Dotoritos

💻
KGH1113
KGH1113

💻
cashmere53
cashmere53

🌍

라이선스

GPL-3.0 License Copyright © 2024 DM NOTE

Special Thanks

评论

暂无评论