Skip to content

BambooMintKey_linux-v1.1.5

Choose a tag to compare

@github-actions github-actions released this 10 Oct 03:45
· 16 commits to main since this release

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

  1. Bộ Gõ Bản Địa Chuẩn Apple InputMethodKit (BambooMintKey.app):

    • Vận hành trực tiếp qua giao thức NSTextInputClient củ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).
  2. 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).
  3. 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õ Space tiếp theo.
  4. 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 (.).
  5. 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.
  6. Đó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 runner macos-latest (Apple Silicon).

📥 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)
  1. Tải tệp BambooMintKey-macos-arm64.dmg trong mục Assets bên dưới và click đúp mở đĩa ảo.
  2. 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.app thả vào thư mục Input Methods có sẵn ngay bên cạnh.
  3. Mở Cài đặt hệ thống (System Settings) $\rightarrow$ Bàn phím (Keyboard) $\rightarrow$ Nguồn nhập liệu (Input Sources).
  4. 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
  1. Tải tệp BambooMintKey-macos-arm64.pkg.
  2. Click phải vào file .pkg $\rightarrow$ chọn Mở (Open) $\rightarrow$ Bấm Tiếp tục $\rightarrow$ Cài đặt.
  3. 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
  1. Tải file BambooMintKey-macos-arm64.zip và giải nén.
  2. Mở Terminal tại thư mục vừa giải nén và chạy lệnh:
    bash install.sh
  3. 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)
  1. Mở Finder → Go → Applications (⇧⌘A), hoặc mở lại đĩa .dmg đã tải.
  2. Click đúp file Gỡ Cài Đặt BambooMintKey.command.
  3. 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).
  4. 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ình

Note

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õ dduoocjw ra được (thay vì sinh vần dị thường đưộc), luoocjw ra lược, trong khi gõ luoojc vẫn giữ trọn vẹn luộ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ũa thay vì vuẫ, buafa/buaaf $\rightarrow$ bùa thay vì buầ, suwaxa $\rightarrow$ sữa thay 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ă, ữâ.
  • Sửa lỗi hoàn tác (undo) phím w đứng đầu từ khi bật AllowLeadingWAsU (Issue 019):
    • Trước đây, gõ lặp phím w để khôi phục ký tự thô lại sinh ra uw / 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).
  • 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ành wả), wwas $\rightarrow$ was (không thành wá).
  • 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ụm uâ không có phụ âm cuối về ua khi đặ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ục w/W) và mixed-case wW/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)

  1. Tải gói phù hợp ở mục Assets bên dưới (.deb, .rpm hoặc .tar.gz).
  2. Cài đặt rồi thêm bộ gõ BambooMintKey vào danh sách Input Method trong fcitx5-configtool.
  3. 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