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
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.#331ghostminhtoan wants to merge 24 commits into
ghostminhtoan wants to merge 24 commits into
Conversation
…ix shift stuck sau double-shift macro
… lien tiep khong bi dau
…secutive number inputs
… for Release|x64 builds
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌 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)
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).
Tối ưu hiệu năng gửi phím (SendInput & Macro Optimization)$\le 2$ dòng): Gửi trực tiếp bằng SendInput (KEYEVENTF_UNICODE) tốc độ cao, không phụ thuộc Clipboard.$\ge 3$ dòng): Tự động chuyển sang cơ chế dán Clipboard để tối ưu hiệu năng.
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 (
Macro dài (
Tính năng mới & Tiện ích trải nghiệm người dùng (New Features & UX)$\rightarrow$ CHỮ HOA $\rightarrow$ Chữ Hoa Đầu Từ.
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
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.