Skip to content

v0.4.1 — 選取刪除修正、空白鍵斜滑

Choose a tag to compare

@plateaukao plateaukao released this 23 Aug 02:24
· 24 commits to main since this release

小修版:選取文字後按 ⌫ 沒反應的問題修掉了,順便把說明頁寫了很久卻從沒實作的空白鍵斜向手勢補上。

修正:Backspace 對選取範圍無效

全選後按 ⌫ 什麼都不會刪;部分選取時更怪 —— 反白留著、反白前面那個字被刪掉。

原因是 deleteBackward() 只呼叫 deleteSurroundingTextInCodePoints(1, 0),這個 API 的語意是刪游標/選取範圍「前面」的字,永遠不碰選取內容;全選時起點在 0、前面沒東西,整個呼叫是 no-op。英文模式、米模式、長按連刪最後都匯到這裡。現在先 getSelectedText,有選取就用空字串取代(同系統鍵盤),沒有才退回逐字刪。

空白鍵斜向手勢

設定頁的「右上滑:注音查碼 左上滑:同音字查詢」是從 macOS 版 ,,H 原文搬來的,Android 版從初版起就沒實作,而且水平拖曳一到 15dp 就鎖成游標拖曳,斜向上滑幾乎一定被吃成左右滑。

  • 游標拖曳鎖定門檻改 |dx| > 2|dy|(離水平約 27° 內),斜向手勢留到放開時判定
  • 放開時上移超過 25dp 且 |dx| > 0.45|dy| → 右上=注音查碼頁、左上=同音字模式(同 ,,TO
  • 說明文字「左右滑:循環切換…」改成實際行為「左右拖曳:移動游標」

小效能

  • 成對標點(「」、()等)改一次送出再把游標放中間,不再先送後退
  • 候選列預先建好 11 格,首次出現聯想詞不再頓一下