小鶴音形輸入法非常好用。大部分的詞語和漢字都只需要四鍵就能精確檢索,使盲打變得可能。
純拆字的的輸入法(形碼)也能做到盲打,但是拆分邏輯都不易學,就算學會了還是需要大量的練習,因為沒有發音的直覺,所以實際使用的時候是靠反射動作輸入的。
小鶴的優秀之處,是把「音碼」和「形碼」分開:兩鍵定發音、兩鍵定寫法。這種設計讓用户可以漸進學習:先學雙拼的部分,體驗輸入速度的提升,有興趣深入再補充形碼,消滅選字的麻煩。
英文會不會也有類似的快速輸入法呢?Stenograph 的概念看起來還是很吸引的,用特別設計的鍵盤,按音節輸入。
但認真瞭解過一下之後,就發現這個是學不來的。特殊的鍵盤設計不是單純的人體工學,而是按鍵和弦 (key chord ) 能成立的基礎設備。一隻手指需要同時按下兩到四個相鄰的按鍵,所以需要按鍵接近而且觸發力度低的鍵盤。
就算在普通鍵盤上復現,拇指區的設計也相當彆扭,要用非常扭曲的姿勢用力按下五六個按鍵,對手部自然不是什麼好事。
本質是音節輸入,為了區分不同的拼寫,需要記憶大量的輸入規則,有些是沒什麼道理的,純粹是利用編碼空間消滅重碼,求快而已。
但是我並不需要追求極致的速度,也不想投資特殊的裝備和練習特殊指法,只是想要像小鶴輸入法一樣的確定性和節奏感。
同樣的元輔音分離,落在普通鍵盤上一樣是可以實現的,只是一鍵一音的思路,不能像多鍵並擊一樣壓縮按鍵空間塞下三個分區。只能用普通的左右交替,兩個分區。
和「就算編碼很長,只要能同時按下去就能加速」,我是想要盡可能用儘量多的鍵縮短編碼。
速度上可能不會有特別誇張的提升,但是確定性上是可以的。
説到元輔音分離的理念,Dvorak 和 steno keyboard 是最接近的。雖然逐字拼寫的手感可能不如現代設計的方案,但是這種設計哲學是很泛用的,很適合轉換成 IPA 輸入法。
輸入法定製自然是用一直都很好用的 RIME,以前只能按官方指南寫些簡單的配置,現在用能力借別人寫好的 schema 方案來用了,把中文輸入法引擎用來輸入英文有點水土不服,不過做個 demo 是足夠的,前人有在 easy English 等等,用簡單的代碼和詞彙表,
我首先找了 lapwing 詞庫來用,製作完成之後,發現有些不同的音節被壓縮到相同的按鍵了,很難反向翻譯回來。
既然這樣,倒不如乾脆從 IPA 的源頭入手,先做個純粹的音節輸入法,再從 stenograph theory 獲取縮短編碼的靈感。
幸好已經有了用 steno generator 這樣的工具指南,我只需要用到 IPA syllable 分離的部分代碼,截斷然後魔改了一下就能生成詞彙表了。
生成出來的的特色,是不需要繁複的規則了,因為沒有特意壓縮長度,所以重碼只限同音字,也沒有輸入衝突和例外,所有元音都直展開了,雖然難但直截了當。steno theory 也給了有很多縮短的靈感,例如省略夾在輔音中間 ə ɪ ɛ,常見的後綴 -ment 和 -ibility 都有專門的縮寫。
另一部分的問題是怎麼把這些 IPA 符號分配到鍵盤上,特別是大量的元音應該怎麼分配, aoeui 五個字母不夠用。美式英語在沒有簡化合併的情況下,需要 ɔ ɑ ə i æ o ɛ u ɪ ʊ 。右手只是空了一個 q 的位置,所以連 Dvorak 鍵位的.,’ 都要利用起來才塞得下。
輔音的部分倒是剛好夠用,c 和 x 空了出來,可以放 θ 和 ʃ,把 ’ 的位置也用了放了 ŋ ,這樣一個輔音最多兩鍵,雖然是有更有效率的擺法,例如因為沒有了 th,sh,ch,應該把 h 移到較少用的位置,把 r 換上來,順便把 l 移到無名指能按到的位置,這些小優化自然是可以做的,但我想還是應該儘量不改動原有的 Dvorak 鍵位比較好,自己把自己搞混亂就麻煩了。