Skip to content

Troughie/split-keyboard-macro

Repository files navigation

Split Keyboard Macro

Ứng dụng Windows cho phép chọn 1 bàn phím làm bàn phím macro (kiểu Stream Deck). Chỉ bàn phím đó mới kích hoạt macro; các bàn phím khác hoạt động bình thường.

Tính năng chính:

  • Gán macro cho từng phím (mở app, URL, phím tắt, âm lượng, đổi profile)
  • Nhiều profile, chuyển nhanh bằng phím macro
  • Đa ngôn ngữ: Tiếng Việt / English
  • Popup thông báo khi đổi profile (giống popup âm lượng Windows)
  • Chạy nền (thu nhỏ xuống tray)
  • Tự động bắt đầu với bàn phím đã lưu

Yêu cầu

  • Windows
  • Node.js (khuyến nghị v18+)
  • Driver Interception (cài 1 lần, xem bên dưới)

Cài đặt

1. Clone / tải project

git clone https://github.com/YOUR_USERNAME/split-keyboard-macro.git
cd split-keyboard-macro

2. Cài dependencies

npm install

3. Cài driver Interception (bắt buộc)

Mở Command Prompt hoặc PowerShell với quyền Administrator:

npx node-interception /install

Khởi động lại máy sau khi cài.


Chạy ứng dụng

Chế độ phát triển (dev)

npm start

Lệnh này sẽ:

  1. Khởi động worker (macro-worker.js) trước
  2. Sau đó mở ứng dụng Electron

Chạy trực tiếp (nếu đã chạy worker riêng)

npx electron .

Sử dụng

  1. Chọn bàn phím macro trong danh sách
  2. Nhấn Lưu & Bắt đầu
  3. Bấm vào phím trên bàn phím ảo để gán macro
  4. Nhấn phím trên bàn phím thật để sáng (và chạy macro nếu đã gán)

Build file .exe

npm run dist:folder

Output: release/SplitKeyboardMacro-win32-x64/SplitKeyboardMacro.exe

Hoặc build installer:

npm run dist

Cấu trúc project

split-keyboard-macro/
├── electron-main.js      # Main process Electron
├── preload.js            # Bridge renderer ↔ main
├── index.html            # Giao diện
├── renderer.js           # Logic giao diện
├── profile-overlay.html  # Popup đổi profile (nổi trên desktop)
├── macro-worker.js       # Worker chạy riêng, xử lý intercept
├── macro-service.js      # Logic intercept (dùng chung)
├── config.js             # Lưu/đọc cấu hình
├── i18n.js               # Bản dịch (vi/en)
├── intercept-macro.js    # CLI
├── start.bat             # Script khởi động dev
└── package.json

Cấu hình lưu tại: %APPDATA%\split-keyboard-macro\config.json


Khắc phục sự cố

Không hiện danh sách bàn phím

  1. Đảm bảo đã cài driver: npx node-interception /install (Run as Admin)
  2. Khởi động lại máy sau khi cài
  3. Kiểm tra terminal có lỗi màu đỏ không

Worker không kết nối

  • npm start sẽ tự chạy worker. Nếu chạy npx electron . riêng, cần chạy node macro-worker.js trước (port 38473).

Build exe bị lỗi "EBUSY"

  • Đóng ứng dụng đang chạy trước khi build.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors