Phiên bản Windows
Windows 10
Kiểu gõ
Telex
Mô tả lỗi
@phatMT97 Có những lỗi mình đã báo trước đó nay lại xuất hiện trở lại nhưng không phải lỗi cũ. Và ngoài ra còn có những lỗi mới thì nay mình trình bày lại cho dễ hiểu. Mình chuyển phần mình gặp khi test TSF mode thành từng report riêng cho dễ theo dõi.
Môi trường test
- VKey: v4.0.0 release
- Mode đã test:
- Trình duyệt: Microsoft Edge
- File manager: OneCommander làm mặc định thay cho File Explorer
- Debug log:
- Trong UI
Bảng điều khiển VKey: đã thấy bằng mắt là Bật Debug log đang tắt
- Trong
config.toml: đã kiểm tra là debug_log = false
- Ghi chú:
- Lỗi liên quan
Bật Debug log mình đã check lại và thấy xảy ra ở cả Hook mode lẫn TSF mode.
- Các lỗi liên quan
BS giữ chữ khi có gợi ý và TSF/Input Indicator bên dưới là phần mình đang ghi nhận khi test TSF mode.
1. BS giữ chữ khi có gợi ý không hoạt động trong TSF mode
Mô tả
Mình thấy chức năng BS giữ chữ khi có gợi ý không hoạt động đúng khi dùng TSF mode.
Theo tooltip của option này thì khi trình duyệt có gợi ý và mình bấm Backspace, VKey nên giữ chữ đã gõ, để tránh bị xóa sai do gợi ý của trình duyệt.
Cách tái hiện
Trong Edge, bật các option gợi ý/tìm kiếm của trình duyệt như ảnh mình gửi.
Sau đó test trong Native Search Bar / thanh tìm kiếm của Edge:
Khi Edge gợi ý sẵn thành:
Sau đó bấm Backspace 1 lần.
Kết quả thực tế
Thay vì trả về chữ ban đầu:
thì kết quả chỉ còn:
Tức là bị xóa mất ký tự e.
Kết quả kỳ vọng
Khi bật BS giữ chữ khi có gợi ý, nếu trình duyệt đang có gợi ý autocomplete thì bấm Backspace nên giữ lại chữ người dùng đã gõ ban đầu:
chứ không nên bị xóa thành:
Thông tin bổ sung
Mình đã thử cùng case này với EVKey thì không gặp lỗi tương tự.
Mình chưa chắc lỗi này chỉ xảy ra trong TSF mode hay có liên quan thêm tới Edge Native Search Bar, nhưng hiện tại mình thấy khi dùng TSF mode thì option BS giữ chữ khi có gợi ý không xử lý đúng case này.
2. VKey vẫn tạo/khóa file log dù đã tắt Bật Debug log
Bối cảnh
Trước đó mình có feedback về chức năng Bật Debug log như sau:
Mình đang dùng OneCommander làm mặc định thay cho File Explorer, và hầu hết thao tác file/folder mình đều làm trong OneCommander.
Trước đây mình từng gặp case:
Lần thử 1
Mình vào cửa sổ chính VKey để tắt Bật Debug log, sau đó exit app VKey.
Sau đó vào check path:
thì vẫn thấy file log cũ và file log mới nhất.
Các file log cũ thì xóa được, nhưng một số file log mới nhất không xóa được.
Lần thử 2
Sau khi thấy các file log mới nhất không xóa được, mình mở VKey lên lại để kiểm tra thì thấy Bật Debug log vẫn đang được bật.
Check path:
thì thấy VKey tạo thêm 1 file log nữa.
Mình tắt Bật Debug log lần 2 trong giao diện chính, exit app VKey lần 2, rồi quay lại xóa log thì vẫn còn file log không xóa được.
Lần thử 3
Mình vào thẳng file config:
và đổi:
thành:
Sau đó mở VKey lên lại thì mới thấy giao diện chính không còn hiện Bật Debug log đang bật nữa.
Lúc này mình mới xóa sạch được các file log.
Trạng thái hiện tại sau khi test lại
Mình test lại trong VKey v4.0.0 release thì thấy vấn đề Bật Debug log không chỉ xảy ra với TSF mode, mà Hook mode hay TSF mode vẫn có thể bị lỗi liên quan log.
Điểm mình muốn đính chính rõ hơn là:
- Mình đã nhìn bằng mắt trong UI
Bảng điều khiển VKey và thấy Bật Debug log đang ở trạng thái tắt.
- Mình cũng đã kiểm tra trong
config.toml và thấy:
- Nhưng dù UI đã tắt và config cũng đã là
debug_log = false, vẫn có file log không xóa được.
- Có vài lần mình exit VKey rồi mở lại thì VKey vẫn tạo được các file log mới.
Vì vậy case hiện tại không chỉ là vấn đề UI và config.toml chưa đồng bộ. Ngay cả khi UI và config đã thể hiện đúng là debug log đang tắt, VKey vẫn có thể giữ khóa file log hoặc tạo thêm log mới.
Mình chưa kết luận nguyên nhân nằm ở Hook mode, TSF mode, hay cơ chế ghi log chung. Nhưng hiện tại phần Bật Debug log nên xem là lỗi chung, không nên chỉ giới hạn ở TSF mode.
3. File log vẫn bị khóa và không xóa được
Mô tả
Hiện tại dù Bật Debug log đang tắt trong UI Bảng điều khiển VKey, và config.toml cũng đã là:
mình vẫn thấy VKey tạo/thừa lại các file log và có file không xóa được.
Ví dụ các file log mình thấy xuất hiện:
VKey_TSF-Explorer_09062026_1751_p6300.log
VKey_TSF-NOTEPAD_09062026_1832_p14040.log
VKey_TSF-VKey_09062026_1749_p20392.log
VKey_TSF-VKey_09062026_1751_p15460.log
Trong đó có 2 file:
VKey_TSF-Explorer_09062026_1751_p6300.log
VKey_TSF-NOTEPAD_09062026_1832_p14040.log
vẫn hiện bảng thông báo bên dưới và không xóa được:
---------------------------
Notepad
---------------------------
The process cannot access the file because it is being used by another process.
---------------------------
OK
---------------------------
Process ID mình kiểm tra được
Mình kiểm tra theo PID trong tên file log thì thấy:
C:\Users\Administrator>tasklist /FI "PID eq 6300"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
explorer.exe 6300 Console 1 145.904 K
C:\Users\Administrator>tasklist /FI "PID eq 14040"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
notepad.exe 14040 Console 1 19.216 K
Trong đó mình đang dùng OneCommander để thay thế File Explorer gần như hoàn toàn, nhưng PID 6300 lại đang là explorer.exe.
Mình chưa kết luận nguyên nhân, chỉ ghi lại đúng thông tin mình kiểm tra được để bạn dễ debug.
Kết quả thực tế
Dù Bật Debug log đang tắt trong UI Bảng điều khiển VKey và config.toml cũng đã là:
mình vẫn thấy các hiện tượng sau:
- VKey vẫn có thể tạo log mới sau khi exit rồi mở lại.
- Có file log không xóa được.
- Có vẻ file log vẫn đang bị process nào đó giữ handle.
- Một số file log liên quan tới
Explorer, Notepad, VKey.
- Mình đã check lại và thấy vấn đề
Bật Debug log xảy ra ở cả Hook mode lẫn TSF mode, không chỉ riêng TSF mode.
Nói cách khác, trạng thái UI và config có thể đã đúng là “debug log đang tắt”, nhưng hành vi thực tế vẫn chưa đúng vì file log vẫn bị khóa hoặc vẫn có thể được tạo mới.
Khi mở file log bằng Notepad
Khi mở file log bị khóa bằng Notepad thì Notepad hiện thông báo:
The process cannot access the file because it is being used by another process.
Kết quả kỳ vọng
Khi Bật Debug log đã tắt trong UI và config.toml cũng là:
thì VKey nên xử lý như sau:
- Không tạo thêm file log mới sau khi exit rồi mở lại.
- Không giữ handle khiến file log không xóa được.
- Nếu có log nội bộ bắt buộc cho một số module thì nên có setting riêng để bật/tắt rõ ràng.
- Khi VKey exit, các file handle liên quan tới log nên được đóng đúng cách để người dùng có thể xóa log.
- Nếu tắt
Bật Debug log trong UI thì cả Hook mode và TSF mode đều nên tôn trọng setting này.
4. TSF/Input Indicator chưa đồng bộ rõ với Hook tray icon
Mô tả
Mình thấy khi đổi mode trong TSF/Input Indicator thì Hook tray icon chưa đồng bộ theo, hoặc ít nhất là nhìn vào Hook tray icon chưa biết chắc TSF đang ở trạng thái gõ tiếng Anh hay tiếng Việt.
Ngoài ra, khi dùng TSF/Input Indicator mode, tray icon của VKey cũng chưa có màu/ký hiệu riêng để phân biệt rõ với Hook mode.
4.1. Khi chỉ dùng Hook mode
Nếu chỉ dùng Hook mode thì trạng thái rất dễ hiểu:
Gõ tiếng Anh = E mode
VKey tray icon: chữ E viết hoa, màu xanh nước biển
Gõ tiếng Việt = V mode
VKey tray icon: chữ V viết hoa, màu đỏ
Nhìn vào icon VKey là biết đang E mode hay V mode.
4.2. Khi dùng TSF/Input Indicator mode
Khi dùng TSF/Input Indicator thì Windows Input Indicator đang thể hiện như sau:
Gõ tiếng Anh = Eng_US [English (United States) - US Keyboard]
Gõ tiếng Việt = Eng [English (United States) - VKey Vietnamese IME]
4.3. Kỳ vọng mapping khi dùng TSF/Input Indicator
Mình kỳ vọng trạng thái TSF/Input Indicator có thể đồng bộ rõ ràng với logic E/V như này:
E mode = Eng_US [English (United States) - US Keyboard]
V mode = Eng [English (United States) - VKey Vietnamese IME]
4.4. Vấn đề hiện tại
Hiện tại khi dùng TSF/Input Indicator mode, mình chưa thấy Hook tray icon đồng bộ hoặc thể hiện khác biệt đủ rõ để biết đang dùng TSF/Input Indicator ở trạng thái nào.
Ví dụ:
E mode trên Hook tray icon:
VKey tray icon hiện chữ E viết hoa, màu xanh nước biển
= Eng_US [English (United States) - US Keyboard]
V mode trên Hook tray icon:
VKey tray icon hiện chữ V viết hoa, màu đỏ
= Eng [English (United States) - VKey Vietnamese IME]
Nhưng khi đang dùng TSF/Input Indicator, chỉ nhìn vào Hook tray icon thì chưa phân biệt rõ được:
- đang dùng Hook mode hay TSF mode
- TSF/Input Indicator hiện tại đang là
US Keyboard hay VKey Vietnamese IME
- trạng thái Hook tray icon có đang phản ánh đúng trạng thái TSF thực tế hay không
4.5. Gợi ý cách hiển thị riêng cho TSF mode
Mình nghĩ TSF/Input Indicator mode nên có màu hoặc ký hiệu riêng trên tray icon để phân biệt với Hook mode.
Cách 1: Hiện chữ TSF, màu thay đổi theo trạng thái E/V
Khi TSF đang ở trạng thái gõ tiếng Anh:
TSF/Input Indicator:
Eng_US [English (United States) - US Keyboard]
VKey tray icon:
chữ TSF viết hoa, màu xanh nước biển
Màu xanh nước biển này có thể cùng màu với E mode của Hook mode.
Khi TSF đang ở trạng thái gõ tiếng Việt:
TSF/Input Indicator:
Eng [English (United States) - VKey Vietnamese IME]
VKey tray icon:
chữ TSF viết hoa, màu đỏ
Màu đỏ này có thể cùng màu với V mode của Hook mode.
Ý nghĩa:
TSF xanh nước biển = TSF đang ở trạng thái tiếng Anh / US Keyboard
TSF đỏ = TSF đang ở trạng thái tiếng Việt / VKey Vietnamese IME
Cách 2: Vẫn hiện chữ E/V, nhưng đổi màu khác Hook mode để phân biệt TSF
Nếu không muốn hiện chữ TSF trên tray icon, có thể vẫn dùng chữ E/V, nhưng đổi màu khác với Hook mode để người dùng biết đây là TSF mode.
Khi TSF đang ở trạng thái gõ tiếng Anh:
TSF/Input Indicator:
Eng_US [English (United States) - US Keyboard]
VKey tray icon:
chữ E viết hoa, màu xanh lá cây
Màu xanh lá cây này vẫn cùng tông màu lạnh với màu xanh nước biển của E mode bên Hook, nhưng khác đủ rõ để phân biệt TSF mode với Hook mode.
Khi TSF đang ở trạng thái gõ tiếng Việt:
TSF/Input Indicator:
Eng [English (United States) - VKey Vietnamese IME]
VKey tray icon:
chữ V viết hoa, màu vàng
Màu vàng này vẫn cùng tông màu nóng với màu đỏ của V mode bên Hook, nhưng khác đủ rõ để phân biệt TSF mode với Hook mode.
Ý nghĩa:
Hook E mode = chữ E màu xanh nước biển
Hook V mode = chữ V màu đỏ
TSF English / US Keyboard = chữ E màu xanh lá cây
TSF Vietnamese / VKey Vietnamese = chữ V màu vàng
Như vậy người dùng nhìn vào tray icon sẽ biết được cả 2 thông tin:
- đang là E/V hay đang dùng tiếng Anh/tiếng Việt
- đang ở Hook mode hay TSF/Input Indicator mode
Kỳ vọng
Nếu có thể, khi dùng TSF/Input Indicator mode thì VKey nên có một trong các hướng xử lý sau:
- Đồng bộ Hook tray icon theo trạng thái TSF/Input Indicator hiện tại.
- Hoặc có icon/trạng thái/màu riêng để phân biệt rõ đang dùng TSF mode.
- Hoặc nếu Hook tray icon không đại diện cho TSF mode thì nên có cách hiển thị khác để người dùng biết trạng thái TSF hiện tại.
Ví dụ kỳ vọng dễ hiểu:
TSF đang dùng US Keyboard => VKey hiện trạng thái tiếng Anh
TSF đang dùng VKey Vietnamese IME => VKey hiện trạng thái tiếng Việt
Gợi ý hiển thị có thể là:
TSF xanh nước biển = TSF + US Keyboard
TSF đỏ = TSF + VKey Vietnamese IME
hoặc:
E xanh lá cây = TSF + US Keyboard
V vàng = TSF + VKey Vietnamese IME
Mục tiêu là người dùng nhìn vào icon/tray là biết ngay hiện tại đang gõ bằng TSF tiếng Anh hay TSF tiếng Việt, và cũng biết mình đang ở Hook mode hay TSF mode.
5. Tóm tắt vấn đề
Mình thấy có 3 nhóm vấn đề chính khi test VKey v4.0.0 release:
-
BS giữ chữ khi có gợi ý không hoạt động đúng trong TSF mode.
- Test case: gõ
face trong Edge Native Search Bar.
- Edge gợi ý
facebook.com.
- Bấm
Backspace 1 lần.
- Kết quả bị thành
fac thay vì giữ face.
-
Bật Debug log vẫn có vấn đề ở cả Hook mode lẫn TSF mode.
- UI
Bảng điều khiển VKey đã hiện Bật Debug log đang tắt.
config.toml cũng đã là debug_log = false.
- Nhưng vẫn có file log bị khóa, không xóa được.
- Có vài lần exit VKey rồi mở lại thì VKey vẫn tạo được file log mới.
- Có các file log dạng
VKey_TSF-....
- Có 2 file log bị khóa, không xóa được:
VKey_TSF-Explorer_09062026_1751_p6300.log
VKey_TSF-NOTEPAD_09062026_1832_p14040.log
- Notepad báo file đang được process khác sử dụng.
- PID trong file log mình kiểm tra được có liên quan tới
explorer.exe và notepad.exe.
- Mình đang dùng OneCommander để thay thế File Explorer gần như hoàn toàn.
- Mình chưa chắc nguyên nhân nằm ở Hook/TSF hay cơ chế ghi log chung, nhưng hiện tại lỗi log không nên xem là chỉ riêng TSF mode.
-
TSF/Input Indicator chưa đồng bộ rõ với Hook tray icon.
- Hook mode nhìn icon E/V rất dễ hiểu.
- TSF/Input Indicator thì Windows hiển thị
US Keyboard hoặc VKey Vietnamese IME.
- Nhưng Hook tray icon chưa thể hiện rõ hoặc chưa đồng bộ rõ với trạng thái TSF/Input Indicator.
- Người dùng khó biết hiện đang ở TSF tiếng Anh hay TSF tiếng Việt nếu chỉ nhìn icon VKey.
- Cũng khó phân biệt hiện tại đang dùng Hook mode hay TSF mode nếu chỉ nhìn icon VKey.
- Gợi ý: có thể hiển thị
TSF đổi màu theo E/V, hoặc vẫn dùng E/V nhưng đổi màu khác Hook mode để phân biệt TSF mode.
6. Câu hỏi thêm
Mình muốn hỏi thêm để hiểu đúng thiết kế hiện tại:
-
BS giữ chữ khi có gợi ý đã hỗ trợ TSF mode chưa, hay hiện mới xử lý tốt bên Hook mode?
-
Khi UI đã tắt Bật Debug log và config.toml đã là debug_log = false, VKey có còn được phép tạo log mới không?
-
Nếu debug_log = false thì cả Hook mode và TSF mode có nên ngừng tạo log hoàn toàn không?
-
Nếu VKey bắt buộc phải tạo log nội bộ cho một số module, có thể đóng file handle khi exit VKey để người dùng xóa log được không?
-
Khi dùng TSF/Input Indicator, Hook tray icon có được thiết kế để đồng bộ theo trạng thái TSF không?
-
Nếu Hook tray icon không đại diện cho TSF mode, có thể thêm trạng thái/icon riêng để phân biệt TSF tiếng Anh và TSF tiếng Việt không?
-
Có thể thêm màu/icon/ký hiệu riêng cho TSF mode để phân biệt với Hook mode không?
-
Nếu thêm hiển thị riêng cho TSF mode, bạn thấy hướng nào hợp lý hơn?
- Hiện chữ
TSF, đổi màu theo trạng thái tiếng Anh/tiếng Việt
- Hoặc vẫn hiện chữ
E/V, nhưng dùng màu khác với Hook mode
Nếu cần mình có thể quay video lại flow test BS giữ chữ khi có gợi ý trong Edge, gửi thêm danh sách file log bị khóa, và quay lại trạng thái Hook tray icon / TSF Input Indicator để bạn dễ kiểm tra hơn.
Toàn bộ settings
[app_overrides.'msedge.exe']
encoding = 0
input_method = 2
send_method = -1
[app_overrides.'msedgewebview2.exe']
encoding = 0
input_method = 2
send_method = -1
[excluded_apps]
force_vn = [ 'msedge.exe' ]
list = [
'gameapp.exe',
'qqdownloadassistant.exe',
'qqspeed_loader.exe',
'qqspeedcefprocess.exe',
'qqspeedchatbrowser.exe',
'qqspeedmonitor.exe',
'reverse1999.exe',
'strinova-win64-shipping.exe',
'strinova.exe',
'x2.exe',
'xdt.exe'
]
[features]
allow_english_bypass = false
allow_zwjf = false
auto_caps = true
auto_caps_macro = false
auto_restore = true
beep_on_switch = false
cjk_auto_switch = false
debug_log = false
esc_restore_raw = true
exclude_apps = true
macro_enabled = false
macro_in_english = false
macro_trigger_dir = true
macro_trigger_enter = true
macro_trigger_space = true
macro_trigger_tab = true
modern_ortho = false
optimize_level = 0
quick_consonant = false
quick_end_consonant = false
quick_start_consonant = false
smart_switch = true
spell_check = true
spell_exclusions = []
suggest_keep_chars = true
tsf_apps = true
[hotkey]
alt = false
ctrl = false
shift = false
vk = 0
win = false
[hotkey_state]
cancel_composition = true
skip_macro = true
toggle_enabled = true
[input]
code_table = 0
method = 'simple_telex'
[smart_switch.apps]
'applicationframehost.exe' = 'english'
'avpui.exe' = 'vietnamese'
'chatgpt installer.exe' = 'vietnamese'
'chatgpt.exe' = 'vietnamese'
'cheatengine-x86_64.exe' = 'vietnamese'
'cmd.exe' = 'vietnamese'
'codex.exe' = 'vietnamese'
'credentialuibroker.exe' = 'vietnamese'
'docker desktop.exe' = 'english'
'explorer.exe' = 'vietnamese'
'git-credential-manager.exe' = 'vietnamese'
'hitomi_downloader_gui.exe' = 'vietnamese'
'java.exe' = 'vietnamese'
'legcord.exe' = 'vietnamese'
'media-downloader-adw-spike.exe' = 'vietnamese'
'media-downloader.exe' = 'vietnamese'
'mediadownloaderqt6-5.6.1.setup.tmp' = 'vietnamese'
'mintty.exe' = 'vietnamese'
'msedge.exe' = 'vietnamese'
'nickvision.parabolic.winui.exe' = 'vietnamese'
'notepad.exe' = 'vietnamese'
'nvidia app.exe' = 'vietnamese'
'onecommander.exe' = 'vietnamese'
'onenote.exe' = 'english'
'openwith.exe' = 'vietnamese'
'photos.exe' = 'vietnamese'
'pickerhost.exe' = 'vietnamese'
'potplayermini64.exe' = 'vietnamese'
'powershell.exe' = 'vietnamese'
'python.exe' = 'vietnamese'
'python3.13.exe' = 'vietnamese'
'pythonw.exe' = 'vietnamese'
'pythonw3.13.exe' = 'vietnamese'
'qbittorrent.exe' = 'vietnamese'
'qqspeedglauncherpdl.exe' = 'vietnamese'
'reverse1999-launcher.exe' = 'vietnamese'
'reverse1999.exe' = 'vietnamese'
'revouninpro.exe' = 'english'
'systempropertiesadvanced.exe' = 'vietnamese'
'taskmgr.exe' = 'english'
'telegram.exe' = 'english'
'vencordinstaller.exe' = 'vietnamese'
'vkey.exe' = 'vietnamese'
'volumey.exe' = 'vietnamese'
'wfdownloaderapp.exe' = 'vietnamese'
'winrar.exe' = 'vietnamese'
'wish.exe' = 'vietnamese'
'youtube music.exe' = 'vietnamese'
'zettlr.exe' = 'vietnamese'
[system]
auto_check_update = false
custom_color_e = 0
custom_color_v = 0
desktop_shortcut = true
floating_icon_x = 1876
floating_icon_y = 996
force_light_theme = false
icon_style = 0
language = 0
run_as_admin = false
run_at_startup = true
show_floating_icon = true
show_on_startup = false
startup_mode = 0
watchdog_enabled = false
[tsf_apps]
list = [
'legcord.exe',
'msedgewebview2.exe',
'codex.exe',
'onecommander.exe',
'onecommanderconnector.exe',
'powershell.exe',
'cmd.exe',
'notepad.exe',
'msedge.exe'
]
[ui]
background_opacity = 100
pinned = false
show_advanced = true
[[hotkeys]]
intent = 'cancel-composition'
[hotkeys.trigger]
mods = 0
vk = 27
[[hotkeys]]
intent = 'skip-macro'
[hotkeys.trigger]
mods = 0
vk = 27
[[hotkeys]]
intent = 'toggle-enabled'
[hotkeys.trigger]
mods = 0
vk = 17
[[hotkeys]]
intent = 'toggle-enabled'
[hotkeys.trigger]
double_tap = true
mods = 0
vk = 18
Thông tin thêm
No response
Phiên bản Windows
Windows 10
Kiểu gõ
Telex
Mô tả lỗi
@phatMT97 Có những lỗi mình đã báo trước đó nay lại xuất hiện trở lại nhưng không phải lỗi cũ. Và ngoài ra còn có những lỗi mới thì nay mình trình bày lại cho dễ hiểu. Mình chuyển phần mình gặp khi test TSF mode thành từng report riêng cho dễ theo dõi.
Môi trường test
Bảng điều khiển VKey: đã thấy bằng mắt làBật Debug logđang tắtconfig.toml: đã kiểm tra làdebug_log = falseBật Debug logmình đã check lại và thấy xảy ra ở cả Hook mode lẫn TSF mode.BS giữ chữ khi có gợi ývàTSF/Input Indicatorbên dưới là phần mình đang ghi nhận khi test TSF mode.1.
BS giữ chữ khi có gợi ýkhông hoạt động trong TSF modeMô tả
Mình thấy chức năng
BS giữ chữ khi có gợi ýkhông hoạt động đúng khi dùng TSF mode.Theo tooltip của option này thì khi trình duyệt có gợi ý và mình bấm
Backspace, VKey nên giữ chữ đã gõ, để tránh bị xóa sai do gợi ý của trình duyệt.Cách tái hiện
Trong Edge, bật các option gợi ý/tìm kiếm của trình duyệt như ảnh mình gửi.
Sau đó test trong Native Search Bar / thanh tìm kiếm của Edge:
Khi Edge gợi ý sẵn thành:
Sau đó bấm
Backspace1 lần.Kết quả thực tế
Thay vì trả về chữ ban đầu:
thì kết quả chỉ còn:
Tức là bị xóa mất ký tự
e.Kết quả kỳ vọng
Khi bật
BS giữ chữ khi có gợi ý, nếu trình duyệt đang có gợi ý autocomplete thì bấmBackspacenên giữ lại chữ người dùng đã gõ ban đầu:chứ không nên bị xóa thành:
Thông tin bổ sung
Mình đã thử cùng case này với EVKey thì không gặp lỗi tương tự.
Mình chưa chắc lỗi này chỉ xảy ra trong TSF mode hay có liên quan thêm tới Edge Native Search Bar, nhưng hiện tại mình thấy khi dùng TSF mode thì option
BS giữ chữ khi có gợi ýkhông xử lý đúng case này.2. VKey vẫn tạo/khóa file log dù đã tắt
Bật Debug logBối cảnh
Trước đó mình có feedback về chức năng
Bật Debug lognhư sau:Mình đang dùng OneCommander làm mặc định thay cho File Explorer, và hầu hết thao tác file/folder mình đều làm trong OneCommander.
Trước đây mình từng gặp case:
Lần thử 1
Mình vào cửa sổ chính VKey để tắt
Bật Debug log, sau đó exit app VKey.Sau đó vào check path:
thì vẫn thấy file log cũ và file log mới nhất.
Các file log cũ thì xóa được, nhưng một số file log mới nhất không xóa được.
Lần thử 2
Sau khi thấy các file log mới nhất không xóa được, mình mở VKey lên lại để kiểm tra thì thấy
Bật Debug logvẫn đang được bật.Check path:
thì thấy VKey tạo thêm 1 file log nữa.
Mình tắt
Bật Debug loglần 2 trong giao diện chính, exit app VKey lần 2, rồi quay lại xóa log thì vẫn còn file log không xóa được.Lần thử 3
Mình vào thẳng file config:
và đổi:
thành:
Sau đó mở VKey lên lại thì mới thấy giao diện chính không còn hiện
Bật Debug logđang bật nữa.Lúc này mình mới xóa sạch được các file log.
Trạng thái hiện tại sau khi test lại
Mình test lại trong VKey v4.0.0 release thì thấy vấn đề
Bật Debug logkhông chỉ xảy ra với TSF mode, mà Hook mode hay TSF mode vẫn có thể bị lỗi liên quan log.Điểm mình muốn đính chính rõ hơn là:
Bảng điều khiển VKeyvà thấyBật Debug logđang ở trạng thái tắt.config.tomlvà thấy:debug_log = false, vẫn có file log không xóa được.Vì vậy case hiện tại không chỉ là vấn đề UI và
config.tomlchưa đồng bộ. Ngay cả khi UI và config đã thể hiện đúng là debug log đang tắt, VKey vẫn có thể giữ khóa file log hoặc tạo thêm log mới.Mình chưa kết luận nguyên nhân nằm ở Hook mode, TSF mode, hay cơ chế ghi log chung. Nhưng hiện tại phần
Bật Debug lognên xem là lỗi chung, không nên chỉ giới hạn ở TSF mode.3. File log vẫn bị khóa và không xóa được
Mô tả
Hiện tại dù
Bật Debug logđang tắt trong UIBảng điều khiển VKey, vàconfig.tomlcũng đã là:mình vẫn thấy VKey tạo/thừa lại các file log và có file không xóa được.
Ví dụ các file log mình thấy xuất hiện:
Trong đó có 2 file:
vẫn hiện bảng thông báo bên dưới và không xóa được:
Process ID mình kiểm tra được
Mình kiểm tra theo PID trong tên file log thì thấy:
Trong đó mình đang dùng OneCommander để thay thế File Explorer gần như hoàn toàn, nhưng PID
6300lại đang làexplorer.exe.Mình chưa kết luận nguyên nhân, chỉ ghi lại đúng thông tin mình kiểm tra được để bạn dễ debug.
Kết quả thực tế
Dù
Bật Debug logđang tắt trong UIBảng điều khiển VKeyvàconfig.tomlcũng đã là:mình vẫn thấy các hiện tượng sau:
Explorer,Notepad,VKey.Bật Debug logxảy ra ở cả Hook mode lẫn TSF mode, không chỉ riêng TSF mode.Nói cách khác, trạng thái UI và config có thể đã đúng là “debug log đang tắt”, nhưng hành vi thực tế vẫn chưa đúng vì file log vẫn bị khóa hoặc vẫn có thể được tạo mới.
Khi mở file log bằng Notepad
Khi mở file log bị khóa bằng Notepad thì Notepad hiện thông báo:
Kết quả kỳ vọng
Khi
Bật Debug logđã tắt trong UI vàconfig.tomlcũng là:thì VKey nên xử lý như sau:
Bật Debug logtrong UI thì cả Hook mode và TSF mode đều nên tôn trọng setting này.4. TSF/Input Indicator chưa đồng bộ rõ với Hook tray icon
Mô tả
Mình thấy khi đổi mode trong TSF/Input Indicator thì Hook tray icon chưa đồng bộ theo, hoặc ít nhất là nhìn vào Hook tray icon chưa biết chắc TSF đang ở trạng thái gõ tiếng Anh hay tiếng Việt.
Ngoài ra, khi dùng TSF/Input Indicator mode, tray icon của VKey cũng chưa có màu/ký hiệu riêng để phân biệt rõ với Hook mode.
4.1. Khi chỉ dùng Hook mode
Nếu chỉ dùng Hook mode thì trạng thái rất dễ hiểu:
Nhìn vào icon VKey là biết đang E mode hay V mode.
4.2. Khi dùng TSF/Input Indicator mode
Khi dùng TSF/Input Indicator thì Windows Input Indicator đang thể hiện như sau:
4.3. Kỳ vọng mapping khi dùng TSF/Input Indicator
Mình kỳ vọng trạng thái TSF/Input Indicator có thể đồng bộ rõ ràng với logic E/V như này:
4.4. Vấn đề hiện tại
Hiện tại khi dùng TSF/Input Indicator mode, mình chưa thấy Hook tray icon đồng bộ hoặc thể hiện khác biệt đủ rõ để biết đang dùng TSF/Input Indicator ở trạng thái nào.
Ví dụ:
Nhưng khi đang dùng TSF/Input Indicator, chỉ nhìn vào Hook tray icon thì chưa phân biệt rõ được:
US KeyboardhayVKey Vietnamese IME4.5. Gợi ý cách hiển thị riêng cho TSF mode
Mình nghĩ TSF/Input Indicator mode nên có màu hoặc ký hiệu riêng trên tray icon để phân biệt với Hook mode.
Cách 1: Hiện chữ
TSF, màu thay đổi theo trạng thái E/VKhi TSF đang ở trạng thái gõ tiếng Anh:
Màu xanh nước biển này có thể cùng màu với E mode của Hook mode.
Khi TSF đang ở trạng thái gõ tiếng Việt:
Màu đỏ này có thể cùng màu với V mode của Hook mode.
Ý nghĩa:
Cách 2: Vẫn hiện chữ
E/V, nhưng đổi màu khác Hook mode để phân biệt TSFNếu không muốn hiện chữ
TSFtrên tray icon, có thể vẫn dùng chữE/V, nhưng đổi màu khác với Hook mode để người dùng biết đây là TSF mode.Khi TSF đang ở trạng thái gõ tiếng Anh:
Màu xanh lá cây này vẫn cùng tông màu lạnh với màu xanh nước biển của E mode bên Hook, nhưng khác đủ rõ để phân biệt TSF mode với Hook mode.
Khi TSF đang ở trạng thái gõ tiếng Việt:
Màu vàng này vẫn cùng tông màu nóng với màu đỏ của V mode bên Hook, nhưng khác đủ rõ để phân biệt TSF mode với Hook mode.
Ý nghĩa:
Như vậy người dùng nhìn vào tray icon sẽ biết được cả 2 thông tin:
Kỳ vọng
Nếu có thể, khi dùng TSF/Input Indicator mode thì VKey nên có một trong các hướng xử lý sau:
Ví dụ kỳ vọng dễ hiểu:
Gợi ý hiển thị có thể là:
hoặc:
Mục tiêu là người dùng nhìn vào icon/tray là biết ngay hiện tại đang gõ bằng TSF tiếng Anh hay TSF tiếng Việt, và cũng biết mình đang ở Hook mode hay TSF mode.
5. Tóm tắt vấn đề
Mình thấy có 3 nhóm vấn đề chính khi test VKey v4.0.0 release:
BS giữ chữ khi có gợi ýkhông hoạt động đúng trong TSF mode.facetrong Edge Native Search Bar.facebook.com.Backspace1 lần.facthay vì giữface.Bật Debug logvẫn có vấn đề ở cả Hook mode lẫn TSF mode.Bảng điều khiển VKeyđã hiệnBật Debug logđang tắt.config.tomlcũng đã làdebug_log = false.VKey_TSF-....VKey_TSF-Explorer_09062026_1751_p6300.logVKey_TSF-NOTEPAD_09062026_1832_p14040.logexplorer.exevànotepad.exe.TSF/Input Indicator chưa đồng bộ rõ với Hook tray icon.
US KeyboardhoặcVKey Vietnamese IME.TSFđổi màu theo E/V, hoặc vẫn dùngE/Vnhưng đổi màu khác Hook mode để phân biệt TSF mode.6. Câu hỏi thêm
Mình muốn hỏi thêm để hiểu đúng thiết kế hiện tại:
BS giữ chữ khi có gợi ýđã hỗ trợ TSF mode chưa, hay hiện mới xử lý tốt bên Hook mode?Khi UI đã tắt
Bật Debug logvàconfig.tomlđã làdebug_log = false, VKey có còn được phép tạo log mới không?Nếu
debug_log = falsethì cả Hook mode và TSF mode có nên ngừng tạo log hoàn toàn không?Nếu VKey bắt buộc phải tạo log nội bộ cho một số module, có thể đóng file handle khi exit VKey để người dùng xóa log được không?
Khi dùng TSF/Input Indicator, Hook tray icon có được thiết kế để đồng bộ theo trạng thái TSF không?
Nếu Hook tray icon không đại diện cho TSF mode, có thể thêm trạng thái/icon riêng để phân biệt TSF tiếng Anh và TSF tiếng Việt không?
Có thể thêm màu/icon/ký hiệu riêng cho TSF mode để phân biệt với Hook mode không?
Nếu thêm hiển thị riêng cho TSF mode, bạn thấy hướng nào hợp lý hơn?
TSF, đổi màu theo trạng thái tiếng Anh/tiếng ViệtE/V, nhưng dùng màu khác với Hook modeNếu cần mình có thể quay video lại flow test
BS giữ chữ khi có gợi ýtrong Edge, gửi thêm danh sách file log bị khóa, và quay lại trạng thái Hook tray icon / TSF Input Indicator để bạn dễ kiểm tra hơn.Toàn bộ settings
[app_overrides.'msedge.exe']
encoding = 0
input_method = 2
send_method = -1
[app_overrides.'msedgewebview2.exe']
encoding = 0
input_method = 2
send_method = -1
[excluded_apps]
force_vn = [ 'msedge.exe' ]
list = [
'gameapp.exe',
'qqdownloadassistant.exe',
'qqspeed_loader.exe',
'qqspeedcefprocess.exe',
'qqspeedchatbrowser.exe',
'qqspeedmonitor.exe',
'reverse1999.exe',
'strinova-win64-shipping.exe',
'strinova.exe',
'x2.exe',
'xdt.exe'
]
[features]
allow_english_bypass = false
allow_zwjf = false
auto_caps = true
auto_caps_macro = false
auto_restore = true
beep_on_switch = false
cjk_auto_switch = false
debug_log = false
esc_restore_raw = true
exclude_apps = true
macro_enabled = false
macro_in_english = false
macro_trigger_dir = true
macro_trigger_enter = true
macro_trigger_space = true
macro_trigger_tab = true
modern_ortho = false
optimize_level = 0
quick_consonant = false
quick_end_consonant = false
quick_start_consonant = false
smart_switch = true
spell_check = true
spell_exclusions = []
suggest_keep_chars = true
tsf_apps = true
[hotkey]
alt = false
ctrl = false
shift = false
vk = 0
win = false
[hotkey_state]
cancel_composition = true
skip_macro = true
toggle_enabled = true
[input]
code_table = 0
method = 'simple_telex'
[smart_switch.apps]
'applicationframehost.exe' = 'english'
'avpui.exe' = 'vietnamese'
'chatgpt installer.exe' = 'vietnamese'
'chatgpt.exe' = 'vietnamese'
'cheatengine-x86_64.exe' = 'vietnamese'
'cmd.exe' = 'vietnamese'
'codex.exe' = 'vietnamese'
'credentialuibroker.exe' = 'vietnamese'
'docker desktop.exe' = 'english'
'explorer.exe' = 'vietnamese'
'git-credential-manager.exe' = 'vietnamese'
'hitomi_downloader_gui.exe' = 'vietnamese'
'java.exe' = 'vietnamese'
'legcord.exe' = 'vietnamese'
'media-downloader-adw-spike.exe' = 'vietnamese'
'media-downloader.exe' = 'vietnamese'
'mediadownloaderqt6-5.6.1.setup.tmp' = 'vietnamese'
'mintty.exe' = 'vietnamese'
'msedge.exe' = 'vietnamese'
'nickvision.parabolic.winui.exe' = 'vietnamese'
'notepad.exe' = 'vietnamese'
'nvidia app.exe' = 'vietnamese'
'onecommander.exe' = 'vietnamese'
'onenote.exe' = 'english'
'openwith.exe' = 'vietnamese'
'photos.exe' = 'vietnamese'
'pickerhost.exe' = 'vietnamese'
'potplayermini64.exe' = 'vietnamese'
'powershell.exe' = 'vietnamese'
'python.exe' = 'vietnamese'
'python3.13.exe' = 'vietnamese'
'pythonw.exe' = 'vietnamese'
'pythonw3.13.exe' = 'vietnamese'
'qbittorrent.exe' = 'vietnamese'
'qqspeedglauncherpdl.exe' = 'vietnamese'
'reverse1999-launcher.exe' = 'vietnamese'
'reverse1999.exe' = 'vietnamese'
'revouninpro.exe' = 'english'
'systempropertiesadvanced.exe' = 'vietnamese'
'taskmgr.exe' = 'english'
'telegram.exe' = 'english'
'vencordinstaller.exe' = 'vietnamese'
'vkey.exe' = 'vietnamese'
'volumey.exe' = 'vietnamese'
'wfdownloaderapp.exe' = 'vietnamese'
'winrar.exe' = 'vietnamese'
'wish.exe' = 'vietnamese'
'youtube music.exe' = 'vietnamese'
'zettlr.exe' = 'vietnamese'
[system]
auto_check_update = false
custom_color_e = 0
custom_color_v = 0
desktop_shortcut = true
floating_icon_x = 1876
floating_icon_y = 996
force_light_theme = false
icon_style = 0
language = 0
run_as_admin = false
run_at_startup = true
show_floating_icon = true
show_on_startup = false
startup_mode = 0
watchdog_enabled = false
[tsf_apps]
list = [
'legcord.exe',
'msedgewebview2.exe',
'codex.exe',
'onecommander.exe',
'onecommanderconnector.exe',
'powershell.exe',
'cmd.exe',
'notepad.exe',
'msedge.exe'
]
[ui]
background_opacity = 100
pinned = false
show_advanced = true
[[hotkeys]]
intent = 'cancel-composition'
[[hotkeys]]
intent = 'skip-macro'
[[hotkeys]]
intent = 'toggle-enabled'
[[hotkeys]]
intent = 'toggle-enabled'
Thông tin thêm
No response