TextVN: Bộ gõ tiếng Việt mã nguồn mở thế hệ mới — Tạm biệt lỗi nuốt chữ với kiến trúc Rust và Native IME
Trong suốt hơn hai thập kỷ qua, thói quen gõ tiếng Việt trên máy tính của chúng ta gắn liền với các bộ gõ hoạt động theo cơ chế bắt phím toàn cục (Global Keyboard Hook) và giả lập phím xóa (Fake Backspace). Khi bạn gõ chữ v, rồi gõ tiếp i, e, t, j, bộ gõ sẽ chặn phím j, tự động gửi hàng loạt phím Backspace ẩn về phía ứng dụng để xóa chữ viet vừa hiện, rồi bơm chuỗi ký tự việt đã bỏ dấu vào.
Cơ chế "xóa đi viết lại" này từng hoạt động rất tốt trên các ứng dụng Win32 cổ điển. Nhưng khi thế giới phần mềm dịch chuyển sang các trình duyệt hiện đại (Chrome, Edge), các ứng dụng nền Electron (VS Code, Slack, Discord, Notion) và các ô tính phức tạp (Excel, Google Sheets) với hệ thống gợi ý tự động (Autocomplete) liên tục lắng nghe từng phím bấm, điểm yếu của cơ chế giả lập Backspace bộc lộ rõ rệt: nuốt chữ, nhân đôi ký tự, nhảy con trỏ hoặc mất dấu câu.
TextVN ra đời để giải quyết triệt để bài toán đó từ gốc rễ bằng một kiến trúc hoàn toàn khác biệt.
1. Kiến trúc lõi Rust dùng chung & Tích hợp chuẩn Native IME
TextVN là bộ gõ tiếng Việt mã nguồn mở được phát triển với một engine viết bằng Rust duy nhất dùng chung cho cả ba hệ điều hành:
Windows: Tích hợp qua chuẩn Text Services Framework (TSF).
macOS: Tích hợp qua Input Method Kit (IMK).
Linux: Tích hợp qua IBus và Fcitx5.
Người dùng trên cả ba nền tảng đều làm việc với cùng một giao diện bảng điều khiển, cùng các tùy chọn cấu hình và có thể dùng chung một file cấu hình duy nhất.
Không mất chữ, không lặp chữ, không gạch chân
Thay vì đứng ngoài ứng dụng để chặn phím và gửi Backspace giả, TextVN giao tiếp trực tiếp với từng ứng dụng thông qua giao thức chuẩn của hệ điều hành:
Vùng soạn thảo sạch (Clean Preedit/Composition): Toàn bộ từ bạn đang gõ nằm gọn trong vùng đệm soạn thảo (
composition) với định dạng ẩn đường kẻ (TF_LS_NONEtrên Windows TSF, tắt gạch chân trên macOS và Linux). Bạn hoàn toàn không thấy đường gạch chân đứt đoạn gây rối mắt thường gặp ở các bộ gõ IME mặc định.Chốt từ tại ranh giới từ (Word-boundary Commit): Từ chỉ được chốt xuống ứng dụng khi bạn kết thúc từ (bấm phím cách, dấu câu hoặc chuyển ngữ cảnh). Vì không bao giờ gửi phím Backspace giả, TextVN loại bỏ 100% hiện tượng xung đột với thanh địa chỉ Chrome, ô tìm kiếm Excel hay trình soạn thảo code.
2. Gõ song ngữ Anh – Việt liền mạch, không cần tắt/bật mode
Với lập trình viên, nhân viên văn phòng hay người làm việc trong môi trường quốc tế, việc phải bấm phím tắt chuyển đổi V/E liên tục khi gõ một câu pha trộn tiếng Việt và tiếng Anh là một sự ngắt quãng khó chịu. TextVN giải quyết vấn đề này bằng hệ thống xử lý ngôn ngữ thông minh ngay trong lõi engine:
Tự động nhận diện EN/VI trong cùng đoạn văn: Kết hợp giữa Từ điển tiếng Anh thông dụng và Lưới bảo vệ âm tiết tiếng Việt, TextVN cho phép bạn để nguyên chế độ tiếng Việt và gõ xen kẽ hai ngôn ngữ. Khi bạn gõ một từ tiếng Anh (như
text,issue,window,function) rồi nhấn phím cách, bộ gõ tự động khôi phục từ tiếng Anh nguyên vẹn thay vì biến dạng thànhtẽt,ísue,ưindow.Ưu tiên tiếng Việt theo ngữ cảnh (Mode Priority): Với các cặp từ trùng lặp giữa hai ngôn ngữ (như
cow/cơ,sex/sẽ,queen/quên), TextVN phân giải chính xác theo chế độ đang bật — giữ trọn chuẩn gõ tiếng Việt như UniKey nhưng vẫn trả lại sự tự do cho các từ tiếng Anh khác.Phím
Tabgợi ý hoàn tất từ tiếng Anh: Khi đang gõ dở một từ tiếng Anh (ví dụtes), nhấn phím Tab sẽ lập tức hoàn tất thànhtestdựa trên từ điển tích hợp sẵn và từ điển cá nhân của bạn.Từ điển tiếng Anh cá nhân hóa (Custom UI): Bạn có thể chủ động thêm hoặc xóa các thuật ngữ chuyên ngành của riêng mình ngay trên giao diện đồ họa (Từ điển EN…). Quyết định của người dùng luôn có quyền ưu tiên cao nhất.
Phím
Escapekhôi phục nguyên trạng: Bất kỳ lúc nào bạn muốn giữ nguyên chuỗi ký tự thô vừa gõ (ví dụ gõ mã code hoặc tên biến đặc biệt), chỉ cần nhấn Escape — TextVN sẽ lập tức trả lại đúng từng phím gốc bạn đã chạm.
3. Quen thuộc từ phút đầu tiên, hoàn thiện ở từng chi tiết nhỏ
Bạn không cần học lại cách gõ khi chuyển sang TextVN. Bộ gõ hỗ trợ đầy đủ mọi thói quen nhập liệu tại Việt Nam cùng hàng loạt cải tiến cấp hệ thống:
Đầy đủ kiểu gõ & Bảng mã: Hỗ trợ Telex, VNI, VIQR, Telex đơn giản; các bảng mã Unicode dựng sẵn, Unicode tổ hợp, TCVN3 (ABC), VNI Windows.
Linh hoạt quy tắc bỏ dấu: Tùy chọn đặt dấu kiểu mới hoặc kiểu cũ (
hoà/hòa), gõ tắtuow→ươ, phímzxóa dấu, bỏ dấu tự do ở giữa từ hoặc cuối từ, hỗ trợ gõ có dấu ngay cả khi đang bật Caps Lock.Tiện ích tăng tốc: Bảng gõ tắt (Macro), Quick Telex (
cc=ch,gg=gi...), tự động viết hoa chữ cái đầu câu.Chuyển đổi
Ctrl+Shiftchống lật đôi: Bộ dò phím tắt của TextVN chỉ quan sát thao tác chạm (passive tap observer — không nuốt phím của các phần mềm khác) kèm thuật toán chống dội phím (debounce), đảm bảo đổi trạng tháiV/Etức thì ở mọi ứng dụng và đồng bộ biểu tượng dưới khay hệ thống.
4. So sánh TextVN và các bộ gõ truyền thống
(Bảng đối chiếu dựa trên các tính năng công khai tính đến tháng 10/2026 so với UniKey, EVKey và OpenKey)
| Tính năng | TextVN | Bộ gõ truyền thống (UniKey / EVKey / OpenKey) |
| Gõ chung đoạn văn EN/VI | Từ điển EN thông dụng + lưới bảo vệ âm tiết Việt: gõ xen kẽ 2 ngôn ngữ không cần đổi mode, từ tiếng Anh tự được trả lại nguyên vẹn khi bấm phím cách. | Quy tắc Telex áp lên mọi từ (text → tẽt, is → í). Muốn gõ tiếng Anh phải bấm tắt mode từng từ hoặc tự gỡ dấu. |
| Xử lý từ mơ hồ (Ambiguous pairs) | Các cặp như cow/cơ, sex/sẽ, queen/quên được giải theo mode đang bật — đúng chuẩn UniKey cho tiếng Việt mà vẫn giải phóng tiếng Anh. | Phải đánh đổi: hoặc làm hỏng từ tiếng Anh, hoặc phải tắt tính năng biến đổi dấu. |
Phím Tab hoàn tất từ tiếng Anh | Gõ dở tes → nhấn Tab thành test theo từ điển dựng sẵn và từ điển cá nhân. | Không hỗ trợ. |
| Quản lý Từ điển EN cá nhân | Thêm/xóa từ trực tiếp bằng giao diện đồ họa; quyết định của người dùng thắng mọi phỏng đoán của engine. | Phải sửa file cấu hình thủ công (nếu có hỗ trợ). |
Phím Escape khôi phục phím gốc | Gõ sai ở mọi thời điểm → nhấn Escape trả lại đúng chuỗi phím thô đã gõ. | Đa số chỉ hỗ trợ hoàn tác ở mức độ câu hoặc để lại ký tự thừa. |
Ctrl+Shift đổi mode toàn cục | Bộ dò tap chỉ quan sát (không ăn phím) + debounce chống lật đôi khi cả tray lẫn engine cùng nhận. | Hook toàn cục dễ gây lật trạng thái kép hoặc bị phần mềm diệt virus / anti-cheat chặn. |
| Hiển thị & Quyền cài đặt | Không gạch chân vùng soạn thảo; đăng ký TSF per-user (HKCU), bản portable giải nén chạy ngay, không đòi quyền Admin (UAC). | Thường cần cài đặt hoặc yêu cầu cấp quyền Administrator để gõ trong các ứng dụng chạy quyền cao. |
| Tự sửa lỗi đường dẫn (Self-healing) | Nếu xóa hoặc di chuyển thư mục cài đặt gây lỗi đăng ký, chỉ cần chạy lại TextVN.exe ở vị trí mới là hệ thống tự động sửa lại Registry. | Phải gỡ cài đặt và đăng ký lại thủ công. |
| Hiển thị đa màn hình (Multi-DPI) | Giao diện Per-Monitor DPI-aware: kéo cửa sổ giữa các màn hình khác độ phân giải tự động co giãn bố cục và phông chữ sắc nét. | Thường bị mờ nhòe hoặc lệch khung giao diện khi dùng nhiều màn hình khác tỷ lệ scale. |
| Quyền riêng tư (Privacy) | Xử lý phím 100% cục bộ, không telemetry, không kết nối mạng; tự động ngắt ở ô nhập mật khẩu; chính sách riêng tư công khai trong repo. | Thường đóng mã nguồn hoặc không công bố chính sách xử lý dữ liệu rõ ràng. |
| Kiểm thử chất lượng tự động | Lõi Rust an toàn bộ nhớ; kiểm thử tự động bằng Corpus Replay (250+ tình huống thực tế × 3 nền tảng) chạy trên CI ở mỗi commit. | Ít có bộ kiểm thử hồi quy tự động công khai cho các kịch bản gõ phức tạp. |
5. Minh bạch, Riêng tư tuyệt đối & Chuẩn mực Kỹ thuật
Một bộ gõ là phần mềm nhạy cảm nhất trên máy tính vì mọi phím bạn chạm đều đi qua nó. Với TextVN, quyền riêng tư là mặc định:
100% Offline: Ứng dụng không chứa bất kỳ đoạn mã kết nối mạng hay thu thập dữ liệu (telemetry) nào.
Bảo vệ mật khẩu: Khi con trỏ đặt vào các ô nhập mật khẩu (Password fields), TextVN tự động vô hiệu hóa quá trình xử lý phím ở tầng hệ thống.
Mã nguồn mở hoàn toàn: Toàn bộ mã nguồn, quy tắc phân giải xung đột ngôn ngữ (
docs/specs/language-detection.md) và quy trình đóng gói CI/CD trên GitHub Actions đều mở hoàn toàn để cộng đồng kiểm chứng.
6. Tải về và Trải nghiệm TextVN
Hiện tại, TextVN đã có mặt chính thức trên Microsoft Store (hỗ trợ tự động cập nhật) cũng như phân phối trực tiếp qua GitHub Releases cho cả Windows, macOS và Linux:
🛒 Cài đặt từ Microsoft Store (Windows 10/11):
TextVN trên Microsoft Store 📦 Tải bản cài đặt / Portable (Windows, macOS, Linux):
GitHub Releases - TextVN 💻 Mã nguồn & Tài liệu kỹ thuật:
github.com/hunglinhpt/TextVN
Nếu bạn phát hiện bất kỳ từ vựng nào xử lý chưa tự nhiên hoặc muốn đóng góp thêm tính năng mới, đừng ngần ngại mở một Issue hoặc Pull Request trên GitHub của dự án!
