Skip to content

[BUG]: TSF mode không đồng bộ đúng với Khóa E/V theo app và trạng thái V/E sau khi chuyển cửa sổ #195

@Shzr0

Description

@Shzr0

Phiên bản Windows

Windows 10

Kiểu gõ

Telex

Mô tả lỗi

@phatMT97 Hook VKey v4.0.0 giờ mình thấy dùng ổn rồi nên chắc sắp tới mình quay lại dùng TSF all time luôn vậy 😆

Bối cảnh

Trước đó bạn có nói nếu nội dung trong trình duyệt Edge quá dài (cụ thể là ChatGPT) thì hook có thể bị ảnh hưởng, làm lag hoặc ảnh hưởng suggest. Vì vậy mình thử chuyển qua dùng TSF trong Edge.

Hiện tại Hook mode mình thấy dùng khá ổn rồi. Nhưng khi chuyển sang TSF thì mình thấy có vẻ Khóa E/V theo app chưa hoạt động đúng hoặc chưa đồng bộ đúng với TSF mode.


1. Khóa E/V theo app có vẻ chưa hoạt động đúng với TSF mode

Cấu hình / trạng thái test

  • App test: Microsoft Edge
  • Mode đang dùng để gõ trong Edge: TSF
  • Trong Edge, mình muốn VKey tự vào V mode theo Khóa E/V theo app
  • Khi Alt+Tab hoặc chuyển sang cửa sổ khác rồi quay lại Edge, TSF không tự vào lại V mode như kỳ vọng

Kết quả thực tế

Khi bật TSF và chuyển qua lại giữa Edge với cửa sổ khác, mình không thấy TSF vào lại V mode theo cấu hình Khóa E/V theo app.

Kỳ vọng

Nếu app đã được cấu hình Khóa E/V theo app là V mode, thì khi focus lại vào app đó, TSF cũng nên trở về V mode giống như logic của khóa E/V theo app.


2. Lỗi gõ chữ VKey trong TSF

Cách tái hiện

Trong TSF, gõ:

VKey

Sau đó bấm dấu cách Spacebar.

Kết quả thực tế

Kết quả bị đổi thành:

vKey

Kết quả kỳ vọng

Khi gõ VKey rồi bấm Spacebar, kết quả nên giữ nguyên là:

VKey

Mình chưa chắc lỗi này liên quan trực tiếp tới Khóa E/V theo app hay là lỗi xử lý chữ hoa/chữ thường riêng của TSF, nhưng mình ghi chung vào đây vì đều xảy ra khi test TSF.


3. TSF bị lệch trạng thái V/E sau khi mở Bảng điều khiển VKey

Nếu bạn chưa làm Khóa E/V theo app riêng cho TSF thì có vẻ TSF đang bị lỗi chuyển đổi mode hoặc bị lệch trạng thái giữa Hook mode và TSF/Input Indicator.

3.1. Trước khi mở Bảng điều khiển VKey

Đang ở cửa sổ Edge:

Hook tray icon: V mode
TSF/Input Indicator: V mode (VKey Vietnamese IME)

Lúc này Edge đang ở trạng thái gõ tiếng Việt bình thường.

3.2. Chuyển từ Edge sang Bảng điều khiển VKey

Sau khi mở/chuyển sang Bảng điều khiển của VKey:

Hook tray icon: E mode
TSF/Input Indicator: E mode (VKey Vietnamese IME)

Chỗ này mình hiểu có thể là do Bảng điều khiển VKey đang bị/được xử lý như app E mode.

3.3. Chuyển từ Bảng điều khiển VKey quay lại Edge

Sau khi quay lại cửa sổ Edge:

Hook tray icon: E mode
TSF/Input Indicator: V mode (VKey Vietnamese IME)

Nhưng thực tế trong Edge lại chỉ gõ được tiếng Anh, không gõ được tiếng Việt.

Điểm kỳ lạ là TSF/Input Indicator đang hiện V mode, tức là nhìn bên ngoài thì tưởng TSF đã vào V mode, nhưng thực tế gõ lại không có tiếng Việt và không thấy dấu gạch chân/composition như bình thường.

Kỳ vọng ở bước 3.3

Khi quay lại Edge, nếu Edge được cấu hình V mode theo Khóa E/V theo app, thì trạng thái nên đồng bộ lại như sau:

Hook tray icon: V mode
TSF/Input Indicator: V mode (VKey Vietnamese IME)
Gõ trong Edge: gõ được tiếng Việt bình thường

Hoặc nếu Hook tray icon không còn đại diện cho TSF mode thì ít nhất TSF/Input Indicator và trạng thái gõ thực tế trong Edge phải khớp với nhau.


4. Workaround hiện tại

Mình fix tạm được case ở mục 3.3 bằng cách:

  1. Bấm vào Tray icon / Input Indicator của TSF mode.
  2. Quay lại Edge.
  3. Sau đó gõ tiếng Việt lại bình thường.

Sau khi làm workaround này:

Hook tray icon: V mode
TSF/Input Indicator: V mode
Gõ trong Edge: gõ tiếng Việt bình thường

Nhưng nếu mở lại Bảng điều khiển VKey thì lỗi ở mục 3.3 lặp lại 100%.

Nếu không bấm vào Tray icon / Input Indicator của TSF mode để kích lại thì trạng thái bị kẹt tiếp ở dạng:

Hook tray icon: E mode
TSF/Input Indicator: V mode (VKey Vietnamese IME)
Gõ trong Edge: chỉ ra tiếng Anh

5. Bổ sung quan sát khi debug lỗi ở 3.3

Thay vì fix như mục 4. Mình thử một cách khác:

  1. Mở Bảng điều khiển VKey trước.
  2. Sau đó bấm vào Tray icon / Input Indicator của TSF mode.

Khi làm vậy, mình thấy nút trượt chuyển đổi E/V mode trong Bảng điều khiển thay đổi theo kiểu:

E -> V -> E

Nên mình nghi là trạng thái E/V giữa:

  • Hook tray icon
  • TSF/Input Indicator
  • Bảng điều khiển VKey
  • trạng thái gõ thực tế trong app đang focus

đang chưa đồng bộ đúng với nhau.


Tóm tắt vấn đề

Mình thấy có 2 vấn đề chính khi dùng TSF:

  1. Khóa E/V theo app có vẻ chưa apply đúng cho TSF khi Alt+Tab hoặc chuyển cửa sổ rồi quay lại Edge.
  2. TSF/Input Indicator có lúc hiện V mode nhưng thực tế trong Edge lại chỉ gõ tiếng Anh.
  3. Hook tray icon và TSF/Input Indicator có thể hiển thị lệch nhau sau khi mở Bảng điều khiển VKey.
  4. VKey rồi bấm Spacebar trong TSF bị đổi thành vKey.

Kỳ vọng chung

Mong muốn khi dùng TSF:

  • Nếu app được khóa V mode thì khi focus lại app đó, TSF vào V mode đúng.
  • Trạng thái hiển thị ở Input Indicator phải khớp với trạng thái gõ thực tế.
  • Nếu Input Indicator hiện V mode thì trong app phải gõ được tiếng Việt.
  • Tránh trạng thái Hook hiện E mode, TSF hiện V mode nhưng thực tế lại chỉ gõ được tiếng Anh.
  • Từ có chữ hoa như VKey không bị đổi thành vKey sau khi bấm Spacebar.

Nếu cần mình có thể test lại theo build mới hoặc quay video flow tái hiện lỗi.

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 = true
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' = 'english'
'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 = [
'msedge.exe',
'legcord.exe',
'msedgewebview2.exe',
'codex.exe',
'onecommander.exe',
'onecommanderconnector.exe',
'powershell.exe',
'cmd.exe',
'notepad.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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions