-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Description
(quoting report from users)
打字時,若誤觸非字根鍵,在其他輸入法如 gcin 是:
1、直接出誤觸的鍵
2、組字不受干擾,繼續進行
香草則是把所有非字根當 error 不出字
但在jscin卻會變成
1、直接出誤觸的字元
2、前面打的字元以字根的形式殘留在編輯區
3、再輸入下一個鍵位變成「全新的首字根」
原因:其實JsCIN 設計上也是跟其它輸入法一樣的,但是 ChromeOS 目前有一個機制是如果組字區(Composition)有內容時,當 JsCIN 回應系統說這是一個非字根鍵 (出誤觸鍵),ChromeOS 會強制觸發一個 Reset 事件,再加上改成 Manifest V3 之後,所有更改畫面的動作都變成非同步的,所以目前我們找不到任何一個方法可以在觸發 Reset 時清理畫面上的編輯區的方法。這也就是為何 onReset 一發生,字根就直接跑進編輯區。
可能的解法有:
- 誤觸鍵一律當錯誤處理 (比照OpenVanilla)
- 誤觸鍵用 commit 方式出字
- 把所有按鍵處理改成非同步
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels