Skip to content

v0.5.0 — 實體鍵盤支援

Choose a tag to compare

@plateaukao plateaukao released this 26 Aug 17:05
· 18 commits to main since this release

接上藍牙/USB 實體鍵盤就能直接打嘸蝦米 — 按鍵直通引擎組字,畫面可選「照常顯示軟鍵盤」「游標旁浮動候選氣泡」「螢幕底部固定候選列」三種模式。

實體鍵盤組字

實體按鍵經 HardwareKeyHandlerInputEngine,語意對齊 macOS 版 YabomishInputController:字母組字、數字選字(1–9、0=第 10 個)、空白送字、Enter 原樣上屏、Esc 清組字;注音/拼音模式各自對應。

  • 單按 Shift(<300ms、期間沒按別鍵)中英切換
  • Shift+字母:暫時小寫英文;Shift+Space:全形空白;Shift+8(*):萬用字元
  • CapsLock、英文模式、Ctrl/Alt/Meta 組合鍵整顆放行給 app

三種畫面模式

設定頁「實體鍵盤」下拉選單即時生效:

  • keypad — 照常顯示軟體鍵盤
  • floating — 只在游標旁浮出組字/候選氣泡(位置來自 CursorAnchorInfo,取不到退回貼底;寬度上限容器 85%)
  • bar — 螢幕底部固定候選列+工具列,本體平常收起、開面板才展開

浮動/底列模式把 IME 根視圖撐滿整個視窗但透明,以 onComputeInsets 只把面板與氣泡設為可觸區、回報真正的內容高度,其餘觸控穿透到 app(app 不會被整片推上去)。三種模式都無視系統「實體鍵盤時顯示虛擬鍵盤」開關,否則組字會看不見。

聯想與軟鍵盤分開

新增「接實體鍵盤時仍顯示聯想」開關(預設關 — 實體鍵盤可盲打),仍受聯想總開關節制。

設定頁精簡

實體鍵盤模式改下拉選單、使用說明/指令速查改收合、分類標題放大加粗(17sp bold),最底部顯示版本 vX.Y.Z © Daniel Kao。