---
# System prepended metadata

title: Tangent 尋找在 Master Forge 上的注音輸入方式的歷程
tags: [CC / Forge]

---

[TOC]

# （不採用）方向一：從天弦 41 鍵 V5 的佈局修改

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

從[天弦 41 鍵 V5](/@andy23512/ByRaeCBAT#V5（最新版）) 來改，這就是一個可能的 M4G 注音佈局。

![localhost_4200_layouts](https://hackmd.io/_uploads/B16h42R2T.png)

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

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

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

# （採用）方向二：一鍵多用

另一個可能解法為在一些按鍵上映射多個注音符號。一些現有的注音輸入法或鍵盤佈局，如[許氏鍵盤](https://zh.m.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%BC%B8%E5%85%A5%E6%B3%95#%E8%A8%B1%E6%B0%8F%E9%8D%B5%E7%9B%A4)和[追音輸入法](https://www.text.tw/chasew)，也有這樣的設計來減少需要使用的按鍵數，如此可以減少使用者的手部移動距離和頻率。

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

## 分析注音組合

為了決定要將哪些注音符號放在同一個鍵，我使用[這個中文字典](https://www.zdic.net/zd/zy/)的注音組合清單，並分別計算兩兩聲母和兩兩韻母的組合重複數目。舉例來說，`ㄅ`和`ㄐ`都有與 `ㄧ`、`ㄧㄝ`、`ㄧㄠ`、`ㄧㄢ`、`ㄧㄣ`和`ㄧㄥ`的組合，所以他們的組合重複數目為 6。然後我把這些數目畫成如下的列聯表。

![localhost_5173_](https://hackmd.io/_uploads/H1v5hWQkC.png)

![localhost_5173_ (1)](https://hackmd.io/_uploads/BJbjnWQ1R.png)

## 佈局設計歷程

### 第一次迭代

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

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

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

![localhost_4200_layouts (1)](https://hackmd.io/_uploads/rk4ygGQJR.png)

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

### 第二次迭代 - 天弦 36 鍵 V1 

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

![localhost_4200_layouts (2)](https://hackmd.io/_uploads/BkX_157yR.png)

右鏡像鍵被換成 `/` 鍵。

![localhost_4200_layouts (3)](https://hackmd.io/_uploads/r17pyqX10.png)

經過更多測試後，似乎這個佈局和 McBopomofo 在用聲韻並擊時不太能夠正常運作，可能因為 McBopomofo 預期輸入要是正確的順序才能正確的判斷要用哪個注音組合。所以我修改這個判斷邏輯來讓它們能正常運作。我將這個佈局命名為天弦 36 鍵，以跟[天弦 41 鍵](/@andy23512/ByRaeCBAT#%E5%89%B5%E9%80%A0%E6%96%B0%E7%9A%84%E6%B3%A8%E9%9F%B3%E4%BD%88%E5%B1%80---%E5%A4%A9%E5%BC%A6-41-%E9%8D%B5)做區別。

([選擇符號的規則我寫在附錄 A](#A-天弦-36-鍵的符號選擇規則))

## 缺點

### 很難支援注音密碼

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

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

### 一開始在用時容易混淆

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

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

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

## 更新

### V2

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

![localhost_4200_layouts](https://hackmd.io/_uploads/B1tK9B_kA.png)

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

#### V2.1

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

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

![localhost_4200_layouts](https://hackmd.io/_uploads/B16h42R2T.png)
![localhost_4200_layouts (1)](https://hackmd.io/_uploads/rkWFRZEdA.png)

#### V2.2

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

底下是變更後的數字層。

![localhost_4200_layouts (1)](https://hackmd.io/_uploads/HJn_mFv0A.png)

- ②: 數字層鎖定 / 解除鍵
- M箭頭: 滑鼠移動
- S箭頭: 滑鼠捲動
- LC, MC, RC: 滑鼠左/中/右鍵

#### V2.3

1. 我加回缺少的 F11 和 F12 鍵。
2. 我發現可以用原本的 Num-shift 鍵離開數字層，所以我移除在左拇指中搖桿上的數字層鎖定/解除鍵。

(數字層)
![localhost_4200_layouts](https://hackmd.io/_uploads/HyGW_X8-1e.png)

#### V2.4

我交換了滑鼠捲動和移動的搖桿的位置。我感覺用中指控制滑鼠移動會比用無名指好。

（數字層）

![localhost_4200_layouts (5)](https://hackmd.io/_uploads/SJhn45Yf-x.png)

# （不採用）方向三：在 M4G 上使用 3D 按鍵

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

# 附錄

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

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

`ㄍ-ㄐ`、`ㄎ-ㄑ`、`ㄏ-Ｔ`、`ㄜ-ㄝ`、`ㄥ-ㄦ`

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

### `ㄍ-ㄐ`、`ㄎ-ㄑ`、`ㄏ-Ｔ`、`ㄜ-ㄝ` 的規則

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

1. `ㄐ`、`ㄑ`、`ㄒ`和`ㄝ`各自的所有組合的介音只可能是`ㄧ`或`ㄩ`。
2. `ㄍ`、`ㄎ`、`ㄏ`和`ㄜ`各自的所有組合的介音只可能是`ㄨ`或`(無介音)`

所以輸入法可以透過「當緩衝區內有`ㄧ`或`ㄩ`時，選擇`ㄐ`、`ㄑ`、`ㄒ`或`ㄝ`。否則選擇`ㄍ`、`ㄎ`、`ㄏ`或`ㄜ`。」的規則來選擇符號。

### `ㄥ-ㄦ` 的規則

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