Repository navigation
BambooMintKey_linux-v1.1.5
BambooMintKey 1.1.5 — Bản Phát Hành Chính Thức (macOS & Linux)
Phiên bản 1.1.5 đánh dấu cột mốc quan trọng: BambooMintKey chính thức hỗ trợ nền tảng macOS, mang đến trải nghiệm gõ tiếng Việt Telex thuần bản địa, tốc độ cao, ổn định tuyệt đối và đồng bộ giao diện người dùng theo chuẩn Apple Text System.
🌟 Các Điểm Nổi Bật Trên macOS
-
Bộ Gõ Bản Địa Chuẩn Apple InputMethodKit (
BambooMintKey.app):- Vận hành trực tiếp qua giao thức
NSTextInputClientcủa hệ điều hành macOS. - Hoàn toàn không dùng hook phím ảo (
CGEventTap), không giả lập phím xóa lùi Backspace, loại bỏ triệt để hiện tượng giật con trỏ, nuốt phím hay xung đột bảo mật. - Tái sử dụng trọn vẹn lõi thuật toán Telex F# thông qua thư viện động C-ABI NativeAOT (
BambooMintKeyCore.dylib), tối ưu bộ nhớ cực nhẹ (~4MB).
- Vận hành trực tiếp qua giao thức
-
Tích Hợp Menu Bar Động Với Biểu Tượng Cờ Việt Nam (
BambooMintKeyStatusBar.app):- Hiển thị biểu tượng động chữ V (tiếng Việt) và chữ E (tiếng Anh) màu vàng trên nền đỏ (quốc kỳ Việt Nam) ngay trên thanh trạng thái macOS.
- Tự động đồng bộ theo Input Source: Khi người dùng kích hoạt BambooMintKey (B), biểu tượng EV tự động xuất hiện. Khi chuyển sang các bộ gõ khác (ABC, Simple Telex...), biểu tượng EV tự động ẩn đi để giữ thanh Menu Bar gọn gàng.
- Tự động khởi chạy an toàn: Bộ gõ IMK tự động đảm bảo ứng dụng Menu Bar luôn hoạt động kể cả sau khi reset hay khởi động lại máy tính.
- Phím tắt chuyển nhanh V/E tức thì bằng phím
~(phím dưới Escape, giống chuẩn Windows & Linux).
-
Khắc Phục Hoàn Toàn Lỗi Phím Mũi Tên & Điều Hướng Trong Preedit:
- Khi đang gõ dở một từ (preedit) mà người dùng nhấn các phím mũi tên (Trái, Phải, Lên, Xuống) hoặc các phím điều hướng (Home, End, PageUp, PageDown, Escape): bộ gõ tự động chốt dứt khoát từ đang gõ vào văn bản trước khi chuyển giao phím cho ứng dụng.
- Con trỏ di chuyển mượt mà vào giữa từ mà không làm biến dạng chữ, không sinh ký tự lạ (
\u{F700}..\u{F703}), và không phát sinh rác chữ khi gõSpacetiếp theo.
-
Hiển Thị Soạn Thảo Tự Nhiên (Chuẩn Apple Text Styling):
- Chuẩn hóa thuộc tính Marked Text (
kTSMHiliteRawText), giúp các ứng dụng bản địa của Apple (Safari, Apple Notes, TextEdit, Pages...) hiển thị từ đang gõ hoàn toàn không có đường gạch chân, mang lại cảm giác chữ sạch đẹp, không che khuất dấu nặng (.).
- Chuẩn hóa thuộc tính Marked Text (
-
Giao Diện Cài Đặt Bản Địa Avalonia UI (
BambooMintKey.UI.Mac.app):- Giao diện cấu hình hiện đại với đầy đủ 6 tab: Tùy chọn gõ nâng cao, Phím tắt, Bảng gõ tắt (Macro), Khung thử nghiệm (Sandbox) và Thông tin.
- Sử dụng font chữ hệ thống bản địa
.AppleSystemUIFont. - Lưu trữ cấu hình an toàn, nguyên tử tại
~/Library/Application Support/BambooMintKey/config.json, tự động đồng bộ thời gian thực đa chiều (IMK ↔ StatusBar ↔ UI) qua cơ chế File Watcher.
-
Đóng Gói Trình Cài Đặt Bản Địa macOS (.pkg Installer):
- Hỗ trợ gói cài đặt chuẩn macOS
.pkg(BambooMintKey-macos-arm64.pkg): Người dùng chỉ cần click đúp chuột để cài đặt tự động toàn bộ bộ gõ và ứng dụng cấu hình vào hệ thống mà không cần gõ bất kỳ dòng lệnh nào. - Tích hợp kịch bản gỡ cài đặt sạch sẽ
uninstall.sh. - Tích hợp đường ống CI/CD tự động trên GitHub Actions (
.github/workflows/release-macos.yml) chạy trên runnermacos-latest(Apple Silicon).
- Hỗ trợ gói cài đặt chuẩn macOS
📥 Hướng Dẫn Cài Đặt Trên macOS
Important
Lưu ý quan trọng cho macOS: Sau khi cài đặt xong (dù bằng file .dmg, .pkg hay .zip), bạn cần Đăng xuất (Log Out) hoặc Khởi động lại máy (Restart) một lần để hệ thống macOS nạp BambooMintKey vào danh sách bàn phím dấu [+].
Cách 1: Sử Dụng Đĩa Ảo .dmg (Khuyên Dùng — Cực Kỳ Đơn Giản)
- Tải tệp
BambooMintKey-macos-arm64.dmgtrong mục Assets bên dưới và click đúp mở đĩa ảo. - Bạn có thể:
-
Click đúp vào
Cài Đặt BambooMintKey.command: Bộ gõ sẽ tự động được cài vào máy trong 1 giây mà không hỏi mật khẩu root. - Hoặc kéo biểu tượng
BambooMintKey.appthả vào thư mụcInput Methodscó sẵn ngay bên cạnh.
-
Click đúp vào
- Mở Cài đặt hệ thống (System Settings)
$\rightarrow$ Bàn phím (Keyboard)$\rightarrow$ Nguồn nhập liệu (Input Sources). - Bấm dấu [+]
$\rightarrow$ chọn Tiếng Việt$\rightarrow$ chọn BambooMintKey$\rightarrow$ bấm Thêm (Add).
Cách 2: Sử Dụng Gói Installer .pkg
- Tải tệp
BambooMintKey-macos-arm64.pkg. - Click phải vào file
.pkg$\rightarrow$ chọn Mở (Open)$\rightarrow$ Bấm Tiếp tục$\rightarrow$ Cài đặt. - Thêm BambooMintKey trong Cài đặt hệ thống như trên.
Cách 3: Cài Đặt Thủ Công Bằng Gói Nén .zip
- Tải file
BambooMintKey-macos-arm64.zipvà giải nén. - Mở Terminal tại thư mục vừa giải nén và chạy lệnh:
bash install.sh
- Thêm BambooMintKey trong Cài đặt hệ thống như trên.
🗑️ Gỡ Cài Đặt Trên macOS
Cách 1 & 2 (.dmg / .pkg): Gỡ bằng file double-click (khuyên dùng)
- Mở Finder → Go → Applications (⇧⌘A), hoặc mở lại đĩa
.dmgđã tải. - Click đúp file
Gỡ Cài Đặt BambooMintKey.command. - Terminal mở ra tự chạy gỡ; nhập mật khẩu quản trị khi được hỏi (vì bộ gõ cài ở thư mục hệ thống).
- Hoàn tất: bộ gõ và app Cài đặt được xóa sạch, danh sách Input Sources được làm mới.
Cách 3 (.zip): Gỡ bằng lệnh
bash uninstall.sh # gỡ app, giữ lại cấu hình
bash uninstall.sh --purge # gỡ app + xóa luôn cấu hìnhNote
Uninstaller mặc định giữ lại cấu hình (thân thiện khi cài lại). Muốn gỡ hoàn toàn thì dùng --purge, hoặc xóa tay thư mục ~/Library/Application Support/BambooMintKey.
🐧 BambooMintKey 1.1.5 — Phần Linux (Fcitx 5)
Bản cập nhật 1.1.5 cho Linux mang đến các cải tiến quan trọng về tính tương thích ngôn ngữ, xử lý triệt để xung đột phím w và chuẩn hóa quy tắc chính tả tiếng Việt trong lõi gõ Telex.
Điểm mới và cải tiến
-
Khắc phục triệt để các tổ hợp nguyên âm dị thường và phân giải phím móc
w(Issue 022):-
Phân giải thông minh cho nguyên âm đôi
uo/uô: Gõdduoocjwrađược(thay vì sinh vần dị thườngđưộc),luoocjwralược, trong khi gõluoojcvẫn giữ trọn vẹnluộc. -
Chuẩn hóa biến dạng âm tiết mở: Loại bỏ tình trạng sinh dấu mũ dị thường khi bỏ dấu thanh trên các từ âm tiết mở (
vuaxa$\rightarrow$ vũathay vìvuẫ,buafa/buaaf$\rightarrow$ bùathay vìbuầ,suwaxa$\rightarrow$ sữathay vìsữâ). -
Kiểm soát ngữ âm chặt chẽ: Tự động loại trừ và chuẩn hóa các cụm nguyên âm không tồn tại trong tiếng Việt như
ưô,uâ(khi không có phụ âm cuối),uă,ữâ.
-
Phân giải thông minh cho nguyên âm đôi
-
Sửa lỗi hoàn tác (undo) phím
wđứng đầu từ khi bậtAllowLeadingWAsU(Issue 019):- Trước đây, gõ lặp phím
wđể khôi phục ký tự thô lại sinh rauw/UW/Uw(tự chèn thêm chữu), khiến người dùng không thể gõ chữw/Wđộc lập hay bắt đầu gõ từ tiếng Anh (web,win,word,what...). - Nay:
ww$\rightarrow$ w,WW$\rightarrow$ W,Ww$\rightarrow$ Uw, vàwW$\rightarrow$ uW(mixed-case undo horn, không tự ý viết hoa).
- Trước đây, gõ lặp phím
-
Bảo vệ từ tiếng Anh tiếp nối sau khi khôi phục
w: gõwweb$\rightarrow$ web,wwar$\rightarrow$ war(không thànhwả),wwas$\rightarrow$ was(không thànhwá). -
Không tự ý viết hoa: để gõ chữ hoa (ví dụ
WORD) phải gõ hoa toàn bộ (WWORD); các tổ hợp tiếng Việt hợp lệ (wa$\rightarrow$ ưa,wong$\rightarrow$ ương,ws$\rightarrow$ ứ) được bảo toàn tuyệt đối.
Thay đổi kỹ thuật
-
src/BambooMintKey.Core/Engine/ModifierRules.fs: bổ sung tone-agnostic matching, cluster harmonization (uô + w$\rightarrow$ ươ), ngăn chặn cụm nguyên âm dị thường (ưô). -
src/BambooMintKey.Core/Engine/ToneRules.fs: chuẩn hóa cụmuâkhông có phụ âm cuối vềuakhi đặt dấu thanh. -
src/BambooMintKey.Core/Engine/SyllableParser.fs: từ chối các âm tiết mở không hợp lệ (uâ,ă,oă) để kích hoạt cơ chế hồi phục fallback. -
src/BambooMintKey.Core/Engine/TelexEngine.fs: tự động bảo toàn và tái áp dụng dấu thanh khi biến đổi modifier trên âm tiết đã mang thanh điệu; phân biệt trường hợp cùng case (khôi phụcw/W) và mixed-casewW/Ww. -
tests/BambooMintKey.Core.Tests/RuleTests.fs: bổ sung bộ test kiểm thử phonotactic rules toàn diện cho Issue 022.
Cài đặt (Linux)
- Tải gói phù hợp ở mục Assets bên dưới (
.deb,.rpmhoặc.tar.gz). - Cài đặt rồi thêm bộ gõ
BambooMintKeyvào danh sách Input Method trongfcitx5-configtool. - Khởi động lại Fcitx5 (hoặc đăng xuất/đăng nhập) để kích hoạt.
Tham chiếu
- Tài liệu điều tra & phương án xử lý phím W:
docs/3.Issue/019_LeadingW_As_U_Bilingual_Conflict_And_Undo_Fix.md - Báo cáo phân tích ngữ âm & giải thuật biến dị nguyên âm:
docs/3.Issue/022_Phonotactic_VowelCluster_Mutations_And_Disambiguation.md