Skip to content

BambooMintKey_linux-v1.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 13:29
· 3 commits to main since this release

BambooMintKey 1.2.0 — Bản Phát Hành Nâng Cấp Kiến Trúc UI Khay Hệ Thống & Trải Nghiệm Đa Bộ Gõ (Windows, macOS & Linux)

Phiên bản 1.2.0 là bản nâng cấp kiến trúc lớn (Minor Release) của BambooMintKey, tái cấu trúc toàn diện tầng giao diện người dùng trên Windows theo mô hình System Tray độc lập (tương tự kiến trúc StatusBar trên macOS), giải quyết dứt điểm vấn đề tranh chấp biểu tượng với Google Japanese Input (Mozc) và mang lại trải nghiệm đa bộ gõ mượt mà, tiện lợi nhất.


🌟 Các Điểm Nổi Bật Trên Windows

  1. Tách Rời Hoàn Toàn UI Sang Khay Hệ Thống (System Tray Icon Độc Lập):

    • Chuyển toàn bộ biểu tượng hiển thị E/V ra khỏi Windows Taskbar Language Bar và đưa về Khay hệ thống (Notification Area / System Tray) dưới dạng tiến trình UI độc lập, tương tự mô hình BambooMintKey.Mac.StatusBar trên macOS và các bộ gõ truyền thống UniKey/EVKey.
    • Thanh Taskbar Language Bar của Windows giờ đây sạch sẽ 100%, chỉ hiển thị duy nhất profile chuẩn: VIE: BambooMintKey.
  2. Giải Quyết Triệt Để Tranh Chấp Biểu Tượng Với Google Japanese Input (あ / A):

    • Do không còn COM Item Button nhúng vào Language Bar từ Core DLL, khe hiển thị của Windows Taskbar được trả lại nguyên vẹn cho hệ thống.
    • Google Japanese Input (Mozc) và Microsoft Japanese IME có 100% không gian Taskbar của riêng mình để tự do hiển thị biểu tượng あ (Hiragana) / A (Direct Input) mà không còn bị BambooMintKey đè lên hay cướp quyền hiển thị.
  3. Cơ Chế Tự Động Ẩn / Hiện (Auto-Visibility) & Watchdog Tự Phục Hồi:

    • Tự động theo dõi trạng thái Input Source của cửa sổ tiền cảnh (Foreground Window):
      • Khi người dùng chọn VIE: BambooMintKey: Tray Icon E/V chắc chắn được SHOW.
      • Khi người dùng chuyển sang bộ gõ khác (JPN: Google Japanese Input, ENG: US Keyboard...): Tray Icon E/V chắc chắn được HIDE ngay lập tức.
    • Cơ chế Watchdog Tự Hồi Sinh (Auto-Respawn tương tự macOS StatusBarLauncher):
      • Tiến trình UI duy trì một Named Mutex toàn cục (Local\BambooMintKey_UI_Process_Mutex_v1).
      • Kể cả người dùng có cố tình mở Task Manager (Process Manager) để End Task tiến trình UI, thì ngay khi người dùng gõ phím tiếp theo hoặc focus vào ô nhập liệu với BambooMintKey, Core TSF DLL phát hiện Mutex biến mất và tự động khởi chạy lại UI khay hệ thống ngay tức thì.
      • Đúng bản chất của một System IME: Người dùng không thể tắt bộ gõ bằng Task Manager mà chỉ có thể chuyển Input Method trên Language Bar để tắt/bật!
    • Loại bỏ nút "Thoát" thừa thãi: Vận hành đồng bộ với Language Bar, loại bỏ hoàn toàn nút Exit khỏi menu.
  4. Hệ Thống Native Tray Context Menu Đầy Đủ & Tiện Lợi:

    • Click chuột trái vào Icon Tray: Đảo nhanh chế độ Tiếng Việt (V) $\leftrightarrow$ Tiếng Anh (E) với phản hồi thị giác tức thì.
    • Click chuột phải vào Icon Tray: Mở Menu Win32 native siêu nhẹ, hỗ trợ điều chỉnh tức thì:
      • Chế độ gõ: Tiếng Việt (V) / Tiếng Anh (E).
      • Kiểu gõ: Telex, VNI, Simple Telex.
      • Bảng mã: Unicode dựng sẵn, Unicode tổ hợp, TCVN3 (ABC).
      • Kiểu đặt dấu thanh: Kiểu mới (òa, xòe, thủy) / Kiểu cũ (oà, xoè, thuỷ).
      • Tùy chọn gõ thông minh: Cho phép bỏ dấu tự do, Gõ lặp dấu để khôi phục (ss $\rightarrow$ s), Phím 'w' đầu từ thành 'ư' (w $\rightarrow$ ư), Tự động nhận diện từ tiếng Anh.
      • Điều hướng: Mở Bảng điều khiển & Cài đặt, Xem thông tin bản quyền.
  5. Đồng Bộ Dữ Liệu Thời Gian Thực 2 Chiều (Realtime 0-Microsecond IPC):

    • Bền vững: Cấu hình lưu trữ an toàn tại %AppData%\BambooMintKey\config.json.
    • Tốc độ bộ nhớ RAM: Mọi thay đổi từ Tray Menu hoặc GUI được cập nhật ngay lập tức vào vùng nhớ dùng chung 64-byte Shared Memory (Local\BambooMintKey_SharedConfig_v1) và phát tín hiệu Named Event (Local\BambooMintKey_StateChangedEvent_v1).
    • Khi người dùng ấn phím tắt bật/tắt V/E trong lúc đang gõ (trong Word, Notepad, Browser...), Core DLL cập nhật Shared Memory và Tray Icon đổi hình ảnh trong 0ms.
  6. Tự Khởi Động Cùng Windows Với Chế Độ Khay Hệ Thống (--tray):

    • Đăng ký tự khởi động cùng Windows an toàn trong Registry (HKCU\...\Run).
    • Khi khởi động cùng Windows, ứng dụng tự động chạy ở chế độ ngầm (--tray), sẵn sàng phục vụ mà không bật cửa sổ to gây phiền toái.

📥 Hướng Dẫn Sử Dụng & Cài Đặt Trên Windows

Cài Đặt Mới / Nâng Cấp:
  1. Tải tệp BambooMintKey-Setup.exe từ mục Assets bên dưới.
  2. Chạy tệp cài đặt và làm theo hướng dẫn trên màn hình (Next $\rightarrow$ Install $\rightarrow$ Finish).
  3. Trình cài đặt sẽ tự động nạp thư viện BambooMintKey.dll, kích hoạt dịch vụ TSF của Windows và khởi động Tray Icon chạy ngầm.
Phím Tắt Tiện Dụng:
  • Win + Space: Chuyển đổi giữa các bộ gõ đã cài đặt (BambooMintKey $\leftrightarrow$ Google Japanese Input $\leftrightarrow$ English US).
  • ~ (phím dưới Escape) hoặc Ctrl + Shift: Bật/tắt nhanh chế độ Tiếng Việt (V) và Tiếng Anh (E).
  • Click chuột trái vào Icon Tray (V/E): Đảo nhanh trạng thái gõ.
  • Click chuột phải vào Icon Tray: Mở Menu tùy chỉnh nhanh.

🍏 Các Điểm Nổi Bật Trên macOS

  1. Đồng Bộ Hoàn Toàn Thuật Toán Lõi F# Tiên Tiến Nhất (Issue 019 & Issue 022):

    • Tái biên dịch thư viện động C-ABI NativeAOT BambooMintKeyCore.dylib đồng bộ với Lõi F# Core mới nhất.
    • Mang trọn vẹn thuật toán đồng bộ nhị trùng âm uô + w -> ươ, khắc phục dứt điểm lỗi vần dị dạng và cơ chế hoàn tác phím w đầu từ sang môi trường Apple Silicon & Intel.
    • Vượt qua 100% bộ kiểm thử tự động: 463/463 Core Unit Tests và 11/11 C-ABI Integration Tests.
  2. Nâng Cấp Phiên Bản Đồng Bộ 1.2.0 Trên Toàn Hệ Thống:

    • Đồng bộ số phiên bản 1.2.0 trên toàn bộ 3 thành phần macOS:
      • Dịch vụ bộ gõ bản địa Apple InputMethodKit: BambooMintKey.app
      • Tiến trình Menu Bar trạng thái E/V: BambooMintKeyStatusBar.app
      • Ứng dụng Bảng điều khiển & Cài đặt Avalonia UI: BambooMintKey.UI.Mac.app
    • Cập nhật gói cài đặt tự động bản địa .pkg và đĩa ảo kéo-thả .dmg lên phiên bản 1.2.0.
  3. Cơ Chế Phím Bổ Trợ Tự Nhiên & Trải Nghiệm Gõ Mượt Mà:

    • Giữ trọn tính năng gõ nhanh song ngữ: gõ w ra ư, gõ lặp ww khôi phục w và gõ tiếp tiếng Anh tự nhiên (web, war, was).
    • Sự kiện phím Shift (.flagsChanged) được bảo toàn trọn vẹn, cho phép gõ hoa chữ cái giữa chừng hoặc hoàn tác wW -> uW mà không làm gián đoạn chuỗi gõ dở (Preedit).

🧠 Cải Tiến Lõi Gõ F# Core (BambooMintKey.Core) (Windows, macOS & Linux)

  1. Khắc Phục Xung Đột Phím w Đầu Từ & Hoàn Tác Song Ngữ (AllowLeadingWAsU - Issue 019):

    • Khi bật tùy chọn "Phím 'w' đứng đầu từ biến thành 'ư'":
      • Gõ cùng case (ww, WW): Khôi phục chính xác ký tự thô w hoặc W.
      • Gõ mixed case (wW, Ww): Hoàn tác dấu móc trả về uW hoặc Uw, tuyệt đối tôn trọng case của từng phím gõ thô.
      • Bảo vệ từ tiếng Anh tiếp nối (IsEnglishCommitted): Sau khi thoát w, người dùng tiếp tục gõ các từ tiếng Anh (web, war, was, WWORD...) sẽ không bị dính dấu tiếng Việt ngoài ý muốn.
      • Bảo toàn 100% các tổ hợp âm tiết tiếng Việt hợp lệ (wa -> ưa, wong -> ương, ws -> ứ, wf -> ừ...).
  2. Khắc Phục Sinh Vần Dị Dạng & Phân Giải Nhị Trùng Âm Chuẩn Xác (Issue 022):

    • Bóc tách thanh điệu độc lập & Đồng bộ hóa cặp nhị trùng âm uo/uô + w -> ươ:
      • Gõ dduoocjw chuyển đổi mượt mà thành được (thay vì sinh vần dị dạng đưộc).
      • Gõ luoocjw chuyển đổi thành lược (thay vì lưộc), buoocjw thành bược.
      • Tôn trọng từ gốc khi người dùng không gõ w: dduoocj ra đuộc, luoocj ra luộc.
    • Ma trận ràng buộc âm vị học (Phonotactic Grammar Matrix):
      • Chặn vần khép tại âm tiết mở: Vần uâ bắt buộc phải có phụ âm cuối mới được hình thành. Ngăn chặn triệt để hiện tượng sinh từ vô nghĩa khi gõ vuaxa -> vũa (thay vì vuẫ), buafa/buaaf -> bùa (thay vì buầ), duaxa -> dũa (thay vì duẫ).
      • Khi có phụ âm cuối (xuan + a -> xuân): Biến đổi vần khép được chấp thuận hoàn toàn hợp lệ.
    • Khóa nhị trùng âm bão hòa:
      • Cụm nguyên âm ưa đã bão hòa bị khóa biến đổi đối với phím a: suwaxa giữ nguyên sữa (thay vì tự ý sinh sữâ), muaxa -> mũa, cuaxa -> cũa.

📥 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 để 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. Nhập mật khẩu quản trị khi được hỏi; bộ gõ và ứng dụng Cài đặt được dọn dẹp sạch sẽ.
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

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

Bản cập nhật 1.2.0 cho Linux đồng bộ lõi gõ Telex F# mới nhất, nổi bật là tính năng hợp nhất phím w thành ư ở mọi vị trí trong từ (Phase 11), cùng các cải tiến chính tả và bảo vệ từ tiếng Anh.

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

  • Hợp nhất phím w → ư ở mọi vị trí trong từ (AllowLeadingWAsU — Phase 11):

    • Trước đây w chỉ thành ư khi đứng đầu từ. Nay khi bật tùy chọn "Phím 'w' biến thành 'ư' ở mọi vị trí", gõ tw → tư, thw → thư, nhwng → nhưng, trwowngf → trường, ddw → đư, gwf → gừ, giwx → giữ, mwa → mưa.
    • Bảo vệ chính tả: các phụ âm đầu k, qu, gh, ngh, p không đi với ư nên w giữ nguyên (kw, quw...).
    • Không thêm cờ cấu hình mới — dùng lại allowLeadingWAsU trong config.json.
  • Bảo vệ từ tiếng Anh tự động:

    • Từ tiếng Anh thông dụng (twin, swim, dwell, two, sweet...) được nhận diện và giữ nguyên nhờ từ điển 20.000 từ + backtrack.
    • Gõ lặp ww để khôi phục ký tự thô khi cần (tww → tw, dwwarf → dwarf).
  • Kế thừa trọn vẹn cải tiến lõi F# Core (Issue 019 & 022): hoàn tác phím w đầu từ, phân giải nhị trùng âm uô + w → ươ, chuẩn hóa âm tiết mở.

Thay đổi kỹ thuật

  • src/BambooMintKey.Core/Engine/TelexEngine.fs: thêm bảng initialsAllowingHornU, hàm initialAllowsHornU và tryHornUAfterInitial; thay nhánh leading w cũ.
  • tests/BambooMintKey.Core.Tests/UppercaseModifierTests.fs: bổ sung nhóm 8c/8d/8e/8f/8g.
  • src/BambooMintKey.UI.Linux/MainWindow.axaml: cập nhật nhãn tùy chọn thành "... ở mọi vị trí".

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.