Tangent 尋找在 Master Forge 上的注音輸入方式的歷程

(不採用)方向一:從天弦 41 鍵 V5 的佈局修改

Master Forge (M4G) 是 CC1 的接班人,它將不會有拇指的第三搖桿,所以不可能在 M4G 上直接使用天弦 41 鍵注音佈局。並且如果要讓所以注音符號放在主列上,要有更多「主列上的非文字鍵」要被犧牲,或者我們需要使用一整個層(如數字層或者功能鍵層)來供注音輸入用。

天弦 41 鍵 V5 來改,這就是一個可能的 M4G 注音佈局。

localhost_4200_layouts

但是如你所見,一些小指搖桿上的鍵會被注音符號佔據。這就代表 num-shift、shift 和鏡像鍵就會不在它原有的位置。這樣會讓這個佈局很難與英文輸入並存。

此外,在天弦 41 鍵注音佈局上,我可以只用右手拇指就能打出所有韻母(ㄦ以外[^err]),但是在 M4G 上,我將會需要另外一隻手指。

根據以上的問題,我認為目前 CC1 比較適合我的用途(英文輸入和中文注音輸入),所以除非我之後有找到更好的解法,不然我目前沒有要換成 M4G。

(採用)方向二:一鍵多用

另一個可能解法為在一些按鍵上映射多個注音符號。一些現有的注音輸入法或鍵盤佈局,如許氏鍵盤)和追音輸入法,也有這樣的設計來減少需要使用的按鍵數,如此可以減少使用者的手部移動距離和頻率。

但是這種設計的問題是,一個按鍵組合所對應到的候選字可能會變多。換句話說,需要選字的機會將會增加。

分析注音組合

為了決定要將哪些注音符號放在同一個鍵,我使用這個中文字典的注音組合清單,並分別計算兩兩聲母和兩兩韻母的組合重複數目。舉例來說,都有與 ㄧㄝㄧㄠㄧㄢㄧㄣㄧㄥ,所以他們的組合重複數目為 6。然後我把這些數目畫成如下的列聯表。

localhost_5173_

localhost_5173_ (1)

佈局設計歷程

第一次迭代

有了各重複數目的資訊後,我就能選擇較小重疊數目的分組,把他們分別放到同個按鍵上。

我選了:

  1. ㄍ-ㄐㄎ-ㄑㄏ-ㄒㄥ-ㄦ,因為他們完全沒有任何重疊。
  2. ㄛ-ㄜ-ㄝ,因為他們只有少量的重疊 (3, 0, 1)。

如此我就把佈局改為如下圖。

localhost_4200_layouts (1)

我試著將在我的 McBopomofo IME 的分叉專案下試著實作這個佈局,如果結果不錯的話,我會重新考慮是否要買 M4G。

第二次迭代 - 天弦 36 鍵 V1

在嘗試之後,McBopomofo 似乎在 ㄛ-ㄜ-ㄝ 鍵上有問題,可能因為他們的組合有重疊,因此我再把佈局改為如下圖。

localhost_4200_layouts (2)

右鏡像鍵被換成 / 鍵。

localhost_4200_layouts (3)

經過更多測試後,似乎這個佈局和 McBopomofo 在用聲韻並擊時不太能夠正常運作,可能因為 McBopomofo 預期輸入要是正確的順序才能正確的判斷要用哪個注音組合。所以我修改這個判斷邏輯來讓它們能正常運作。我將這個佈局命名為天弦 36 鍵,以跟天弦 41 鍵做區別。

(選擇符號的規則我寫在附錄 A)

缺點

很難支援注音密碼

用天弦 41 鍵的佈局的話,我可以用額外的 OS 佈局來打注音密碼,因為一個鍵只會對應到一個注音符號。所以作一個「可以對應 CC1 的輸出到注音符號對應的密碼」的 OS 佈局是相當容易的。

但是天弦 36 鍵的話,因為一個鍵上有多個注音符號,所以會很難處理。所以我可能就用一般鍵盤來輸入,或者使用密碼管理工具。

一開始在用時容易混淆

這個佈局在一個鍵上有多個符號,最終要某個鍵擊是用哪個符號,是有一套根據所有的注音組合去判斷的規則(細節我寫在附錄 A),所以在緩衝區顯示的符號可能會在打字過程中變化。
舉例來說,當我想打 ㄐㄧ 時,我可能會先按 ㄍ/ㄐ 鍵,再按 鍵。因為選擇符號的規則的作用,在按 鍵後,緩衝區中第一個符號將會從 變成

鍵擊緩衝區內的符號
ㄍ/ㄐ
ㄐㄧ

這就是為何一開始會混淆,但是可以透過練習來習慣它。

更新

V2

經過多次測試之後,我發現 V1 佈局下,ㄩㄝ 會較難打,所以我再調整了一下佈局如下。

localhost_4200_layouts

and 鍵現在在同一個方向上,所以打 ㄩㄝ 會比較容易。我比較少用到有 ㄧㄛ 的字,所以 鍵在反方向是可以接受的。

V2.1

我可能未來需要用公司提供的筆電來工作,但是我的小麥注音輸入法會因為公司資安政策的考量而沒辦法安裝。為了能夠在 CC1 或 M4G 上使用內建的注音輸入法,我根據方法一提到的佈局以及標準注音輸入法的佈局改掉 A3 層的佈局。雖然這樣我需要用兩次鍵擊來切換中英文,(一次是切換裝置上的 A1 和 A3 層,另一個是切換作業系統上的輸入法。)這是我能想到的唯一解法。

下面兩張圖分別是那個注音佈局以及對應的 A3 層佈局。

localhost_4200_layouts
localhost_4200_layouts (1)

V2.2

為了平衡在 CC1 上點擊滑鼠時的兩手的負擔,我決定在數字層的兩個拇指第二搖桿上都放上所有的滑鼠點擊動作(滑鼠左/中/右鍵)。

底下是變更後的數字層。

localhost_4200_layouts (1)

  • ②: 數字層鎖定 / 解除鍵
  • M箭頭: 滑鼠移動
  • S箭頭: 滑鼠捲動
  • LC, MC, RC: 滑鼠左/中/右鍵
V2.3
  1. 我加回缺少的 F11 和 F12 鍵。
  2. 我發現可以用原本的 Num-shift 鍵離開數字層,所以我移除在左拇指中搖桿上的數字層鎖定/解除鍵。

(數字層)
localhost_4200_layouts

(不採用)方向三:在 M4G 上使用 3D 按鍵

在 CC1 上的 3D 按鍵的話,因為它需要用較多的力量,我的手指沒辦法負擔,所以我沒辦法使用它。但是如果 M4G 上的 3D 按鍵不需要那麼多的力量的話,我可能會將一些鍵,如聲調鍵,移動到 3D 按鍵上,留給其他注音符號更多的空間。但我需要等到我實際在 M4G 上試過 3D 按鍵才能知道這是否對我來說是可行的方式。

附錄

A. 天弦 36 鍵的符號選擇規則

在天弦 36 鍵佈局上,同一個鍵上的五對注音符號為:

ㄍ-ㄐㄎ-ㄑㄏ-Tㄜ-ㄝㄥ-ㄦ

輸入法需要有個規則來判斷這幾對內要選擇哪個注音符號。

ㄍ-ㄐㄎ-ㄑㄏ-Tㄜ-ㄝ 的規則

如果我們詳細觀察這四對的所有注音組合,我們會發現到:

  1. 各自的所有組合的介音只可能是
  2. 各自的所有組合的介音只可能是(無介音)

所以輸入法可以透過「當緩衝區內有時,選擇。否則選擇。」的規則來選擇符號。

ㄥ-ㄦ 的規則

ㄥ-ㄦ的規則就相對單純。因為與其他介音和聲母沒有任何組合,所以輸入法的選擇規則就是:「當緩衝區內有任何介音或聲母時,選擇。否則選擇。」