Skip to content

Tối ưu hóa hiệu năng, bổ sung tính năng gõ nâng cao và cải tiến trải nghiệm người dùng. - #331

Closed
ghostminhtoan wants to merge 24 commits into
tuyenvm:masterfrom
ghostminhtoan:GMTPC
Closed

Tối ưu hóa hiệu năng, bổ sung tính năng gõ nâng cao và cải tiến trải nghiệm người dùng.#331
ghostminhtoan wants to merge 24 commits into
tuyenvm:masterfrom
ghostminhtoan:GMTPC

Conversation

@ghostminhtoan

Copy link
Copy Markdown

📌 Tổng quan thay đổi (Summary)
Bản cập nhật đi từ nền tảng sửa lỗi logic gõ (kiểu gõ Tư Bình Trần, dãy số liên tiếp, hoàn phím), tối ưu hóa kiến trúc gửi phím SendInput/Macro, đến việc bổ sung các tính năng nâng cao (Per-App Exclusion, Caret Tooltip Overlay, xoay vòng kiểu chữ Shift + F3).

🚀 Chi tiết thay đổi theo trình tự phát triển (Changelog)

  1. Sửa lỗi nền tảng & Logic gõ (Bug Fixes & Core Fixes)
    Tối ưu & Sửa lỗi kiểu gõ Tư Bình Trần:
    Sửa lỗi gõ dãy số liên tiếp bị dính phím dấu, cho phép nhập số trơn tru.
    Tách biệt độc lập các phím số 6, 7, 8, 9 và sửa logic tổ hợp nguyên âm giu]/uo.
    Sửa lỗi khôi phục từ sai chính tả: Chỉ kích hoạt khi ngắt từ bằng Space, Enter hoặc dấu câu; tuyệt đối không kích hoạt sai khi dùng phím mũi tên điều hướng.
    Tránh kẹt phím bổ trợ (Modifier Flags): Sửa triệt để tình trạng kẹt cờ Ctrl, Alt, Shift khi Alt-Tab ra khỏi game hoặc sau khi gõ macro.
    Phím tắt Alt + \ & Âm thanh Beep:
    Hỗ trợ phím tắt Alt + \ bật/tắt chặn gạch chéo ngược.
    Phân biệt cao độ âm thanh Beep: Tiếng Việt (âm bổng) và Tiếng Anh (âm trầm).

  2. Tối ưu hiệu năng gửi phím (SendInput & Macro Optimization)
    Batch SendInput Events: Gộp chuỗi sự kiện phím liên tiếp thành một lượt gửi duy nhất, giảm độ trễ gõ và tránh mất phím trên các ứng dụng Chromium/Electron.
    Cơ chế gửi Macro lai (Hybrid Macro Injection):
    Macro ngắn ($\le 2$ dòng): Gửi trực tiếp bằng SendInput (KEYEVENTF_UNICODE) tốc độ cao, không phụ thuộc Clipboard.
    Macro dài ($\ge 3$ dòng): Tự động chuyển sang cơ chế dán Clipboard để tối ưu hiệu năng.

  3. Tính năng mới & Tiện ích trải nghiệm người dùng (New Features & UX)
    Mặc định phím chuyển Eng-Vi: Cập nhật phím tắt chuyển ngôn ngữ mặc định sang Ctrl + Shift.
    Loại trừ ứng dụng thông minh (Per-App Exclusions): Tự động phát hiện và chuyển sang chế độ Tiếng Anh cho các Terminal (cmd, powershell, wt, git-bash, alacritty), IDE (VS Code, Visual Studio, JetBrains) và Game.
    Overlay chỉ báo trạng thái gõ tại con trỏ (Caret Tooltip):
    Hiển thị tooltip bán trong suốt [V] / [E] neo chính xác theo con trỏ nhập liệu (Caret) hoặc góc của cửa sổ/tab đang kích hoạt.
    Tự động hiển thị khi chuyển chế độ hoặc chuyển qua lại giữa các cửa sổ ứng dụng (kể cả cùng chế độ gõ), tự ẩn sau 1.6 giây.
    Phím tắt chuyển nhanh chữ HOA / thường / Title Case (Shift + F3 / Ctrl + Alt + U):
    Bôi đen văn bản và ấn phím tắt để xoay vòng: chữ thường $\rightarrow$ CHỮ HOA $\rightarrow$ Chữ Hoa Đầu Từ.
    Tự động bôi đen lại đúng số lượng ký tự sau khi đổi để người dùng có thể ấn Shift + F3 liên tục mà không cần bôi đen lại thủ công.

🛠 File ảnh hưởng (Key Modified Files)
Sources/OpenKey/engine/Engine.cpp, Engine.h: Tối ưu buffer gõ, logic hoàn phím và kiểu gõ Tư Bình Trần.
Sources/OpenKey/engine/SmartSwitchKey.cpp: Danh sách loại trừ thông minh cho Terminal, IDE, Game.
Sources/OpenKey/win32/OpenKey/OpenKey/OpenKey.cpp: Hook bàn phím, hybrid SendInput/Macro, Caret Overlay, phím tắt Shift+F3/Ctrl+Alt+U.
Sources/OpenKey/win32/OpenKey/OpenKey/OpenKeyHelper.cpp, OpenKeyHelper.h: Xử lý Clipboard, Unicode string và thuật toán chuyển đổi case có bôi đen lại.
Sources/OpenKey/win32/OpenKey/OpenKey/AppDelegate.cpp: Cập nhật cấu hình mặc định Ctrl + Shift.

@ghostminhtoan
ghostminhtoan deleted the GMTPC branch August 31, 2026 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant