🌐 Trang chủ: https://isthaison.github.io/gotv/
Từ phiên bản 0.9.0, dự án của isthaison đổi tên từ GoTiengViet thành GoTV để tránh nhầm với phần mềm GoTiengViet của Trần Kỳ Nam. Hai dự án độc lập. Xem hướng dẫn chuyển đổi cho người đang dùng bản cũ.
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: GoTV 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 an offline dictionary (word suggestions + typo corrections, auto-updated from GitHub).
$ build/gotv-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 ý từ điển ngoại tuyến: hoàn thành tiền tố (
thong→thông) và sửa lỗi chính tả (kông→không), không cần mạng. Từ điển (data/dict-vi.txt, ~7000 từ) tự cập nhật từ GitHub release; từ bạn chọn được nhớ vào từ điển học riêng. - Macro/emoji bằng file text: tự thêm
cty=Công ty TNHH(gõctyrồi nhấn Tab để bung (macro/emoji đều cần Tab), phím Space giữ nguyên chữ),:smile:→😊,(y)→👍. - Nhẹ, riêng tư: lõi C thuần + glib; không keylogger đám mây, mọi gợi ý chạy offline trên máy.
- 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 — gotv-*-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 GoTV
(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 gotv-<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 gotv-<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).
| GoTV | Unikey | EVKey/OpenKey | |
|---|---|---|---|
| Telex + VNI | ✅ | ✅ | ✅ |
| Linux (IBus) / Windows / macOS | ✅ cả 3 | Win + Linux | Win + macOS |
| Chính tả khi gõ | ✅ gạch đỏ (Linux) | ❌ | ❌ (balloon thay thế) |
| Gợi ý từ điển offline | ✅ | ❌ | ❌ |
| Mã nguồn mở | ✅ MIT | ✅ | ✅ |
- Cấu hình & macro/emoji/từ điển · 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/gotv-demo --transform telex duocjwd # thử thuật toán
build/gotv-demo --suggest thong # hoàn thành tiền tố (offline)
build/gotv-demo --correct kông # sửa lỗi (offline)
ibus-setup-gotv # GUI Linux (tự bật tray nền)
ibus-setup-gotv --tray # chỉ indicator
ibus-setup-gotv --cli # terminal
./gtv.sh build | test | vet | install | 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 GoTV trong Input Sources (Linux):
ibus restart, đăng xuất/đăng nhập lại, kiểm tra/usr/share/ibus/component/gotv.xml. - Gõ không ra dấu (Linux): đang ở engine
gotv? Kiểm traSuper+Spacevàmethodtrong~/.config/gotv/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 → GoTV.
- Crash (Linux): xem
~/.cache/gotv/crash.log, báo kèm phiên bản và log liên quan. - Updater (Windows): xem
%APPDATA%\gotv\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-methodimeibustsfunikeylinuxwindowsmacosdictionaryc
Cảm ơn các bạn đã ủng hộ dự án! Xem danh sách chi tiết những người đã star tại GitHub Stargazers.
Giấy phép: MIT.