最新文章

發佈時間:2019-03-10 (更新:2019-06-22 17:14)發佈者:hurt
標題:Braille IME Helper 點字輸入法助手

Braille IME Helper

0.7 版

下載位址

簡介

點字輸入法助手 (BrlIMEHelper) 讓使用者可以直接用點字顯示器上的點字鍵盤輸入國字。當沒有點字鍵盤可用,本附加元件也可以把電腦鍵盤模擬成點字鍵盤。有了本附加元件將點字輸入轉換成輸入法的操作,熟練點字規則的使用者不必學習其他輸入法或者鍵盤排列方式也能打出國字。目前,本附加元件的實作基於台灣廣泛使用的注音點字與微軟注音輸入法,不過未來本附加元件的概念也可以延伸到別的點字系統與輸入法。

功能

  1. 用點字鍵盤輸入中文(與標點符號、數學符號等)。
  2. 把電腦鍵盤模擬成點字鍵盤。
  3. 能同時使用系統或 NVDA 組合鍵。
  4. 不同視窗可以使用不同輸入狀態。
  5. 支援瀏覽器密碼輸入。

系統環境需求

安裝之前,請使用者先確認這些環境設定:

  • NVDA 2017.3 或以上之版本。
  • 「微軟注音」必須為您的預設輸入法,且具有下列之設定:
    • 組字狀態預設為英數模式。
    • 使用標準注音鍵盤排列方式。(預設值)
    • 左邊 Shift 鍵的功能設為切換組字模式。(預設值)
  • 如果您想要用電腦鍵盤來模擬點字鍵盤,必須先確認它支援 NKRO (N-key rollover)。(譯註:許多遊戲的操作也需要此特性來配合,因此選擇鍵盤時請留意它是否能用來「打遊戲」。)
    參見: What PC keyboards allow for 6-key braille data entry?
  • 請避免同時執行「點字輸入法助手」與其他關於點字輸入的程式或附加元件,如 PC Keyboard Braille Input for NVDA 附加元件及點字酷音輸入法等。
  • 建議停用 NVDA 設定中「輸入法組字」的「讀出輸入的組字字元」,以享受迅速流暢的打字體驗。
  • 建議將「輸入轉譯表」設為「英文(美國)八點(電腦)」,使 NVDA 行為比較符合台灣使用者的操作習慣。

操作方式

  • 快速鍵
    • 點字鍵盤
      • 點字 4 5 6 點 + 點字空白:在中文輸入及英數輸入之間切換,效果與按下電腦鍵盤 Shift 相同。
      • 點字第 1 點 + 點字空白:查看點字緩衝區,也就是中文模式下尚未完成組字的點字內容。(例:只有打 135 126 點還不構成字,但是此功能會提示您已經輸入了ㄅㄛ。)
      • 點字 2 4 5 點 + 點字空白:當點字輸入到一半發現打錯了,此熱鍵能直接清除點字緩衝區,讓您重新輸入正確內容。
      • 點字 1 2 3 點 + 點字空白:單獨切換電腦鍵盤之英數輸入模式(註:可讓電腦鍵盤輸入中文時模擬點字鍵盤,英數輸入時獨立切換點字或一般鍵盤模式)。
    • 電腦鍵盤
      • NVDA + X :啟用/停用電腦鍵盤模擬點字鍵盤功能。
      • F, D, S, J, K, L, A, 分號鍵:點字 1 到 8 點。
      • 0 到 9 :保留給輸入數字與指定候選字。
  • 備註
    1. 在英數輸入模式中,點字輸入效果由 NVDA 輸入轉譯表決定。
    2. 點字鍵盤單獨按第 7 或第 8 點,或者 7 8 點一起按下,無論中文、英數輸入都保留 NVDA 的原始預設行為。
    3. 本附加元件不會影響點顯器的其他功能按鈕,如點字視窗前後捲動與游標定位鍵。
    4. 使用者可以在 NVDA 的「輸入手勢」對話框中管理上列所有快速鍵。
    5. 若組字完成,沒有報讀組成的國字或者符號,可能輸入了不合理的注音導致輸入法卡住(註:可用 BackSpace 或者 Esc 鍵清除錯誤的注音符號,但是使用 Esc 時須注意,若多按一次可能造成浮動組字區的其他內容被一併清除)。

實際操作影片

on HIMS Braille EDGE

on BPDA (Seika 6 super)

on QBraille XL

問題與改進方向

  • 目前已知的程式錯誤:
    • 當啟用「持續顯示訊息」,認何點字訊息不會隨著輸入法文字改變而消失。
  • 未來可能的改進:
    • 允許使用者自訂本附加元見的預設狀態。
    • 允許使用者自訂點字鍵在電腦鍵盤上模擬的位置。
    • 允許使用者自訂符號的點字輸入方式,或者由點字轉譯表載入。
    • 讓本附加元件能與其他注音輸入法配合。
    • 讓本附加元件能與其他注音鍵盤排列方式配合。

貢獻者

致謝

「點字輸入法助手」於 2019/07/01 至 2019/12/31 受到社團法人臺灣視障協會 vipastaiwan@gmail.com 支持開發,特此深表感謝。

修改歷程

0.7 版

  1. 允許 3 個符號多一種不同的輸入方式(在注音輸入模式下):
    (1) — (全形橫線)可以用 2578-2578 點打出來,此設計概念希望摸點跟打點字的點位一致。但是先保留 5-2 點的打法以免有用戶不習慣。
    (2) ?(問號)可以用 1345 再按空白打出來,此繼承自過去導盲鼠的問號打法。
    (3) ≒ (近似於)可以用 5-46-13-126-16-146-16-12456 打出來,此為是維持 Nemeth 的彈性,因為它並沒有規定寫該符號時一定要先打下方的點 (146-16) 再打上方的點 (126-16), 用戶可以先打上方的點

  2. 將所有點字功能都放在輸入手勢的「點字輸入法助手」分類下,讓用戶自行管理,包刮 456/245/1/123+space

0.6 版

  1. 空白鍵 + 123 點:單獨切換英數輸入法之點字/一般輸入模式

  2. 修正作業系統使用者名稱為中文,所產生無法安裝或執行的問題

  3. 修正按住 NVDA 連按兩次 X 無法立刻開啟與關閉功能的問題

完整說明請參閱 https://groups.io/g/nvda-tw/message/2505

0.5 版

  1. 「電腦鍵盤模擬點字鍵盤」不在瀏覽模式發生作用,用戶可以單鍵瀏

  2. 將本附加元件三個功能歸類在「輸入手勢」中的「點字輸入法助手」

0.4 版

  1. 讓附加元件的行為相容於點字規則有前綴衝突者
    如∠跟←都是 1246-246 點開頭,當打到 1246-246 的時候無法立刻知道用戶想輸入何者;過去,包含點字酷音在內,解決辦法是強迫∠要 1246-246 後按空白來表示,然而,這個做法似乎不太符合一般用戶操作所希望的感受,這版開始,∠輸入方式改回 1246-246 不用空白,但須在 246 點打完後多等 0.25 秒才會輸出 ∠ ,如果這段時間內用戶按了 25 點,就不會輸出∠,而是進入等待,因為還差一個 25 點才能組成 ← ,若用戶在這段時間內打了別的點字,將造成提早輸出∠,因為 BrlIMEHelper 判斷新打的點字跟原先未送出的 1246-246 不是同一個字元。

  2. 實作鵬安提議的容錯規則
    詳細內容已於上次 0.3 版的信件寫過,也就是當新的點位輸入無法直接跟在舊的後面繼續組字時,將舊的輸入最後一方替換為新輸入來嘗試,這可以減少許多不小心打錯字還被 BrlIMEHelper 接受,造成 245+space 後重打的狀況。

0.3 版

  1. 移除 1+space 訊息中的注音提示
    BrlIMEHelper 0.2 版與之前的版本,會在點字組字可能最後為注音的狀況下,在 1+space 訊息中顯示目前打了哪些注音,然而,由於之前的程式碼難以維護、擴充,而且只能允許「注音點字規則」一種輸入方式,此版本將之重新實作,除了不再提示注音以外,其他使用操作的感覺應該跟之前都一樣

  2.  改變點字輸入錯誤所產生的音效
    輸入失敗有兩種原因,一個是不合點字規則,一個是不合輸入法規則,二者的警告音效來源不一樣,因此,我覺得讓二者產生不同音效將有助於用戶判斷錯誤原因,有時候如果是輸入法產生錯誤,用戶有必要以 Esc 先將輸入法組字一半的內容清除

  3. 允許輸入注音符號、聲調

  •  聲母的ㄅ到ㄙ跟二三四輕聲可完全用 zh-tw.ctb 定義的點位打出來
  • ㄟ輸入方式同上
  •  其他韻母請當一聲的國字輸入,再行選字

 

  1. 另外,此版也修正了≒、≡、□三個數學符號的輸入方式,讓它同 zh-tw.ctb 的定義
  • 補充:這個版本起,符號的輸入規則與程式碼被分離,輸入規則由 bopomofo.json 記錄,bopomofo.json 的檔案格式為 JSON, 原則上用 key 值表示輸入的點字內容,對應 value 表式輸出的內容,空白也算;把自己想要的符號按照規則寫進去存檔並重開 NVDA 就可以使用,不過身為開發者並不建議這樣做,因為更新時檔案仍會被覆蓋
  • 提醒:bopomofo.json 必須為 UTF-8 編碼沒有 BOM, 建議用 Notepad++ 進行編輯,一旦編碼有誤將導致無法載入!

0.2 版

  • 修正 BrlIMEHelper 無法用鍵盤輸入英文點字迅速定位檔案

0.1 版

  • 重構說明文件,讓使用者更易於閱讀。
  • 當前景視窗改變時,清除點字緩衝區內容。

0.0 版

  • 初始版本。
附檔:-----------------------------------
BrlIMEHelper-0.3_.nvda-addon
BrlIMEHelper-0.4_.nvda-addon
BrlIMEHelper-0.5_.nvda-addon
BrlIMEHelper-0.6_.nvda-addon
BrlIMEHelper-0.7_.nvda-addon