Bộ gõ tiếng Việt offline hoàn toàn cho macOS, hoạt động nhanh, riêng tư, không cần Internet.
- Tải từ phamhungtien.com/PHTV
- Kéo
PHTV.appvàoApplications - Cấp quyền Accessibility khi được nhắc
- Hoàn toàn offline - Không cần Internet
- Telex & VNI - Hỗ trợ cả hai phương pháp gõ
- Dark Mode - Giao diện hiện đại macOS 14+
- Spotlight Search - Gõ tiếng Việt trong Spotlight không bị lỗi
- Macro/Gõ tắt - Tùy chỉnh nhanh phím
- Riêng tư - Không gửi dữ liệu ra ngoài
- macOS 14 hoặc mới hơn
- Cấp quyền Accessibility
GPL v3 - Xem LICENSE
- macOS 14.0 trở lên (Sonoma và các phiên bản mới hơn)
- Quyền Accessibility (sẽ được yêu cầu khi khởi động lần đầu)
- Xcode 26.0+ (nếu build từ source)
| Kiến trúc | Trạng thái | Ghi chú |
|---|---|---|
| Apple Silicon (arm64) | ✅ Hỗ trợ | Build universal mặc định |
| Intel (x86_64) | ✅ Hỗ trợ | Build universal mặc định |
| macOS < 14 | Yêu cầu LSMinimumSystemVersion = 14 |
📖 Hướng dẫn chi tiết: Xem INSTALL.md hoặc tại phamhungtien.com/PHTV
- Truy cập phamhungtien.com/PHTV hoặc GitHub Releases
- Tải
PHTV.dmg(khuyên dùng) hoặcPHTV.zip - DMG: mở, kéo
PHTV.appvàoApplications - ZIP: giải nén, kéo
PHTV.appvàoApplications - Mở PHTV từ Launchpad/Spotlight
brew install --cask phtv- Clone repository:
git clone https://github.com/PhamHungTien/PHTV.git
cd PHTV- Mở file
PHTV.xcodeprojtrong Xcode:
open PHTV.xcodeproj-
Build và chạy:
- Dùng Xcode: Cmd+R hoặc Product > Run
- Dòng lệnh (universal):
xcodebuild -project PHTV.xcodeproj -scheme PHTV -configuration Release -arch arm64 -arch x86_64- Cấp quyền Accessibility:
- Khi ứng dụng khởi động lần đầu, nó sẽ yêu cầu quyền Accessibility
- Mở System Settings > Privacy & Security > Accessibility
- Thêm PHTV vào danh sách ứng dụng được phép
PHTV hoạt động từ menu bar với biểu tượng "Vi" (tiếng Việt) hoặc "En" (tiếng Anh).
Click vào biểu tượng để:
- 🔄 Chuyển đổi giữa tiếng Việt và tiếng Anh
- ⌨️ Chọn phương pháp gõ (Telex, VNI, Simple Telex)
- 🔤 Chọn bảng mã (Unicode, TCVN3, VNI Windows, v.v.)
- ✓ Bật/tắt kiểm tra chính tả
- 📝 Bật/tắt gõ tắt (macro)
- ⚙️ Mở cài đặt chi tiết
- Control + Shift: Chuyển đổi tiếng Việt/Anh (có thể tùy chỉnh)
Mở Cài đặt từ menu bar để truy cập:
- Kiểu gõ: Cấu hình phương pháp gõ và bảng mã
- Tính năng: Bật/tắt kiểm tra chính tả, chính tả hiện đại, Quick Telex
- Macro: Quản lý từ viết tắt tùy chỉnh
- Excluded Apps: Danh sách ứng dụng tự động chuyển sang tiếng Anh
- Hệ thống: Cấu hình khởi động cùng macOS, sửa lỗi trình duyệt Chromium
PHTV/
├── PHTV/
│ ├── Application/ # Delegates và entry point
│ ├── Core/
│ │ ├── Engine/ # Core engine xử lý input (C++, từ OpenKey)
│ │ │ ├── Engine.cpp # Xử lý chính sự kiện bàn phím
│ │ │ ├── Vietnamese.cpp# Bảng mã và dữ liệu tiếng Việt
│ │ │ ├── Macro.cpp # Xử lý macro (gõ tắt)
│ │ │ └── ...
│ │ └── Platforms/ # Tích hợp platform-specific
│ ├── Managers/ # Quản lý sự kiện và cấu hình
│ ├── SwiftUI/ # Giao diện người dùng
│ │ ├── Views/ # Các view chính
│ │ ├── Controllers/ # Window và Status Bar controllers
│ │ └── Utilities/ # Helper functions cho UI
│ └── Utils/ # Tiện ích (accessibility, stats, v.v.)
├── PHTV.xcodeproj/ # Xcode project configuration
└── README.md # File này
- Swift 6.0+ - Ngôn ngữ chính cho giao diện
- SwiftUI - Giao diện người dùng hiện đại với Liquid Glass design
- Objective-C/C++ - Engine xử lý input method (kế thừa từ OpenKey)
- Core Graphics (CGEvent API) - Event tap để xử lý bàn phím
- Cocoa Framework - Tích hợp macOS
- NSUserDefaults - Lưu trữ cài đặt người dùng
Chúng tôi rất mong nhận được đóng góp từ cộng đồng! Xem CONTRIBUTING.md để biết chi tiết.
Các cách bạn có thể giúp đỡ:
- 🐛 Báo cáo lỗi (GitHub Issues)
- 💡 Đề xuất tính năng mới (GitHub Discussions)
- 🔧 Gửi Pull Request với cải thiện
- 📝 Cải thiện tài liệu
- 🌍 Hỗ trợ dịch (i18n)
PHTV được phát hành dưới giấy phép GNU General Public License v3.0 - xem file LICENSE để biết chi tiết.
Dự án này kế thừa và mở rộng engine từ OpenKey, một bộ gõ tiếng Việt nổi tiếng được phát triển bởi Tuyến Võ Minh. Chúng tôi cảm ơn những người phát triển OpenKey vì nền tảng tuyệt vời.
Nếu bạn phát hiện lỗi, vui lòng:
- Kiểm tra GitHub Issues xem lỗi đã được báo cáo chưa
- Xem FAQ.md để tìm giải pháp cho các vấn đề phổ biến
- Nếu chưa, tạo issue mới với:
- Mô tả chi tiết lỗi
- Cách tái hiện lỗi
- Thông tin hệ thống (macOS version, Xcode version)
- Log (nếu có)
📋 Câu hỏi thường gặp: Xem FAQ.md để biết thêm chi tiết
Câu hỏi phổ biến:
- PHTV tiêu thụ bao nhiêu tài nguyên? - Rất nhẹ! ~30-50 MB bộ nhớ
- Có thể tùy chỉnh phím tắt được không? - Có! Settings → Keyboard Shortcuts
- PHTV có gửi dữ liệu gì lên internet không? - Không! Hoàn toàn offline
- Phương pháp gõ nào phù hợp nhất? - Telex phổ biến nhất, nhưng thử từng cái để tìm phù hợp
Xem FAQ.md để có câu trả lời chi tiết hơn.
- ✅ Khắc phục Spotlight: Gõ tiếng Việt trong Spotlight Search giờ hoạt động bình thường
- 🔤 Sửa lỗi garbling: "Phaạm Huùng Tieiến" → "Phạm Hùng Tiến"
- 🎯 Accessibility API integration: AX text replacement + per-character Unicode posting
- 🐛 HID tap posting + non-coalesced flags + delays cho Spotlight field sensitivity
- 🔍 Debug logging: Opt-in via
PHTV_SPOTLIGHT_DEBUG=1env var
- Cấu hình cơ bản, Macro, Excluded Apps, Smart Switch Key
- macOS integration tốt, giao diện SwiftUI
- Hỗ trợ input method plugin cho các ứng dụng web
- Đồng bộ hóa cài đặt qua iCloud
- Theme tùy chỉnh
- Tiếng Việt Hán Nôm
- Giao diện đa ngôn ngữ (English, 中文, etc.)
- INSTALL.md - Hướng dẫn cài đặt chi tiết & troubleshooting
- FAQ.md - Câu hỏi thường gặp
- Releases - Lịch sử phiên bản và tải xuống
- CONTRIBUTING.md - Hướng dẫn đóng góp
- CODE_OF_CONDUCT.md - Quy tắc ứng xử
- Issues: GitHub Issues - Báo cáo lỗi, yêu cầu tính năng
- Email: [email protected]
- LinkedIn: https://www.linkedin.com/in/ph%E1%BA%A1m-h%C3%B9ng-ti%E1%BA%BFn-a1b405327/
- Website: phamhungtien.com/PHTV
PHTV được phát triển dựa trên OpenKey - một công cụ nhập liệu tiếng Việt mạnh mẽ và linh hoạt. Cảm ơn tác giả OpenKey đã tạo ra nền tảng tuyệt vời này.
OpenKey là một dự án open-source cung cấp công cụ xử lý tiếng Việt chất lượng cao. PHTV mở rộng OpenKey với tích hợp native cho macOS, giao diện SwiftUI hiện đại, và các tính năng bổ sung như Smart Switch Key, Macros, và Excluded Apps.