🌐 Trang chủ: https://isthaison.github.io/gotiengviet/
Bộ gõ tiếng Việt mã nguồn mở: một lõi gõ duy nhất viết bằng C (không Go, không CGO, không runtime ngoài), chạy trên cả ba hệ điều hành qua adapter mỏng của từng nền tảng — IBus trên Linux, TSF Text Service trên Windows, InputMethodKit trên macOS.
English: GoTiengViet is a free, open-source Vietnamese input method (Telex & VNI) for Linux (IBus), Windows 10/11 (TSF) and macOS (InputMethodKit) — a lightweight Unikey/EVKey alternative with offline spellcheck, text macros/emoji and optional local AI suggestions via Ollama.
$ build/gotiengviet-demo --transform telex duocjwd
được
- Một thuật toán chung cho Telex và VNI — chỉ khác bảng ánh xạ phím; kiểu đặt dấu hiện đại (
hòa) hoặc truyền thống (hoà). - Chính tả ngoại tuyến (Linux): gạch đỏ ngay khi gõ theo quy tắc âm tiết (âm đầu–vần–phụ âm cuối–thanh), không cần mạng. Bản Windows/macOS dùng AI balloon thay thế.
- Gợi ý AI cục bộ (tùy chọn): Ollama trên máy bạn — debounce 350 ms, hủy khi gõ tiếp, rớt mạng vẫn gợi ý từ dữ liệu đã học.
- Macro/emoji bằng file text: tự thêm
cty=Công ty TNHH,:smile:→😊,(y)→👍. - Nhẹ, riêng tư: lõi C thuần + glib; không keylogger đám mây, AI chạy local.
- Tự cập nhật: kiểm tra release GitHub mỗi ngày, cài đè giữ nguyên cấu hình.
| Nền tảng | Cách gõ | Trạng thái |
|---|---|---|
| Linux (Ubuntu/GNOME) | IBus engine + app khay (indicator) | ✅ Ổn định — .deb ở Releases |
| Windows 10/11 | TSF Text Service + app khay | ✅ Ổn định — gotiengviet-*-x64-setup.exe ở Releases |
| macOS | InputMethodKit .app |
🧪 Preview (đang hoàn thiện) — xem docs/macos.md |
Linux (Ubuntu/GNOME):
sudo apt install build-essential pkg-config libibus-1.0-dev libgtk-3-dev \
libayatana-appindicator3-dev librsvg2-bin
./gtv.sh build
sudo ./gtv.sh installRồi vào Settings → Keyboard → Input Sources thêm GoTiengViet
(một nguồn duy nhất; chuyển Telex/VNI trong app indicator hoặc Setup),
chuyển bằng Super+Space. Chi tiết: docs/dev.md.
Windows 10/11: tải gotiengviet-<version>-x64-setup.exe ở trang
Releases và chạy
(cài per-user, không cần admin) → đăng xuất/đăng nhập lại → chọn GoTV bằng Win+Space.
Chi tiết: docs/windows.md.
macOS: tải gotiengviet-<version>-macos.dmg hoặc .pkg ở trang Releases (bản preview),
cài vào ~/Library/Input Methods (.pkg tự cài, .dmg kéo thả), đăng xuất/đăng nhập lại.
Chuyển bằng Fn/Caps Lock hoặc Control+Space. Chi tiết: docs/macos.md.
| Thao tác | Telex | VNI |
|---|---|---|
| Sắc, huyền, hỏi, ngã, nặng | s f r x j |
1 2 3 4 5 |
Mũ (â ê ô) |
lặp nguyên âm (aa) |
6 |
Móc/trăng (ơ ư, ă) |
w |
7 / 8 |
Gạch chữ đ |
dd |
9 |
| Xóa dấu thanh | z |
0 |
| Chữ thô (không dấu) | gõ lặp (ass → as) |
gõ lặp tương tự |
Ví dụ: bawst → bắt, duocjwd → được, hoaf → hoà/hòa (tùy kiểu đặt dấu).
| GoTiengViet | Unikey | EVKey/OpenKey | |
|---|---|---|---|
| Telex + VNI | ✅ | ✅ | ✅ |
| Linux (IBus) / Windows / macOS | ✅ cả 3 | Win + Linux | Win + macOS |
| Chính tả khi gõ | ✅ gạch đỏ (Linux) | ❌ | ❌ (AI balloon thay thế) |
| Gợi ý AI local (Ollama) | ✅ | ❌ | ❌ |
| Mã nguồn mở | ✅ MIT | ✅ | ✅ |
- Cấu hình & macro/emoji/AI · Bản Windows · Bản macOS · Phát triển & đóng gói · Đối chiếu tính năng theo nền tảng · Trang chủ
build/gotiengviet-demo --transform telex duocjwd # thử thuật toán
build/gotiengviet-demo --suggest kông # cần Ollama
ibus-setup-gotiengviet # GUI Linux (tự bật tray nền)
ibus-setup-gotiengviet --tray # chỉ indicator
ibus-setup-gotiengviet --cli # terminal
./gtv.sh build | test | vet | install | install-ollama | uninstall | package | bump | help
# Windows (MSYS2 MinGW hoặc cmd): gtv build | test | install | uninstall | package
# macOS: ./gtv.sh build | test | install | uninstall | package (app vào ~/Library/Input Methods)- Không thấy GoTiengViet trong Input Sources (Linux):
ibus restart, đăng xuất/đăng nhập lại, kiểm tra/usr/share/ibus/component/gotiengviet.xml. - Gõ không ra dấu (Linux): đang ở engine
gotiengviet? Kiểm traSuper+Spacevàmethodtrong~/.config/gotiengviet/config. - Không thấy GoTV sau khi cài (Windows): đăng xuất/đăng nhập lại; Settings → Time & Language → Language → Options → Add a keyboard → GoTiengViet.
- Crash (Linux): xem
~/.cache/gotiengviet/crash.log, báo kèm phiên bản và log liên quan. - Updater (Windows): xem
%APPDATA%\gotiengviet\update.log.
Mời issue/PR: mở issue mô tả lỗi kèm OS + phiên bản + log, hoặc PR nhỏ, test xanh
(./gtv.sh test mọi nền tảng — Windows chạy trong MSYS2 MinGW hoặc gtv test từ cmd).
Chuẩn code: engine/ thuần C đa nền tảng, adapter riêng từng OS trong linux/, windows/, macos/.
💡 Gợi ý topics cho repo (mục About → ⚙️):
vietnamesetieng-viettelexvniinput-methodimeibustsfunikeylinuxwindowsmacosollamac
Giấy phép: MIT.