Skip to content

BambooMintKey_macos-v1.1.5

Choose a tag to compare

@github-actions github-actions released this 09 Oct 18:21
· 18 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.

🐧 BambooMintKey 1.1.5 — Phần Linux (Fcitx 5)

Bản cập nhật 1.1.5 cho Linux sửa lỗi xung đột giữa chế độ gõ song ngữ (Việt – Anh) và tùy chọn "Phím 'w' đứng đầu từ thành 'ư'" (AllowLeadingWAsU), giúp người dùng gõ được chữ w/W độc lập và các từ tiếng Anh bắt đầu bằng w mà không bị kẹt hay biến dạng.

Điểm mới và cải tiến

  • Sửa lỗi hoàn tác (undo) phím w đứng đầu từ khi bật AllowLeadingWAsU:
    • 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/TelexEngine.fs: phân biệt trường hợp cùng case (khôi phục w/W) và mixed-case wW/Ww (undo horn -> uW/Uw) trong nhánh isUndoModifier.
  • tests/BambooMintKey.Core.Tests/UppercaseModifierTests.fs: bổ sung các test gõ song ngữ (ww, WW, Ww, wW, wweb, wwar, wwas, WWORD).
  • src/BambooMintKey.UI.Linux/BambooMintKey.UI.Linux.fsproj: nâng Version lên 1.1.5.
  • src/BambooMintKey.Fcitx5/CMakeLists.txt, scripts/linux/bamboomintkey.spec: nâng version lên 1.1.5.

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ý: docs/3.Issue/019_LeadingW_As_U_Bilingual_Conflict_And_Undo_Fix.md