Skip to content

Repository files navigation

行列 12 輸入法轉換器 (Array 12 Input Method Converter)

本專案旨在將傳統的行列 30 輸入法(使用 30 個按鍵)簡化並轉換為行列 12 輸入法。這非常適合用於數字小鍵盤、手持裝置、遙控器或虛擬小鍵盤等輸入場景。

本專案提供兩種鍵位映射版本:

  1. 標準版:僅使用 12 個按鍵(0-9 / / / *),適合一般鍵盤或模擬器。
  2. LIME 版:僅使用 12 個按鍵(0-9 / , / .),專為 LIME 輸入法設計,可避免符號衝突並便於行動裝置輸入。

專案中提供了對應的 Python 轉換腳本,能將現有的行列 30 .cin 格式對照表,自動轉換為行列 12 的 .cin 格式對照表。


⌨️ 行列 12 鍵位映射原理

行列 12 輸入法的核心思想是保留行列輸入法的「第一碼、最後碼」與「字根碼(前三後一)」邏輯,但將原本分佈於英文鍵盤三橫列的 30 個按鍵,對應到 10 個數字鍵加上「上(↑)」與「下(↓)」兩個輔助鍵:

  • 中排鍵 (基本鍵):直接對應數字鍵 10
  • 上排鍵:對應數字鍵加上 上 (),在標準版使用 /,在 LIME 版使用 ,
  • 下排鍵:對應數字鍵加上 下 (),在標準版使用 *,在 LIME 版使用 .

鍵位對照表

行列 30 原始按鍵 對應行列 12 鍵碼 (標準版) 對應行列 12 鍵碼 (LIME 版) 說明
Q 1/ (即 1↑) 1, (即 1↑) 第一行上排
A 1 1 第一行中排 (基本鍵)
Z 1* (即 1↓) 1. (即 1↓) 第一行下排
W 2/ (即 2↑) 2, (即 2↑) 第二行上排
S 2 2 第二行中排 (基本鍵)
X 2* (即 2↓) 2. (即 2↓) 第二行下排
E 3/ (即 3↑) 3, (即 3↑) 第三行上排
D 3 3 第三行中排 (基本鍵)
C 3* (即 3↓) 3. (即 3↓) 第三行下排
R 4/ (即 4↑) 4, (即 4↑) 第四行上排
F 4 4 第四行中排 (基本鍵)
V 4* (即 4↓) 4. (即 4↓) 第四行下排
T 5/ (即 5↑) 5, (即 5↑) 第五行上排
G 5 5 第五行中排 (基本鍵)
B 5* (即 5↓) 5. (即 5↓) 第五行下排
Y 6/ (即 6↑) 6, (即 6↑) 第六行上排
H 6 6 第六行中排 (基本鍵)
N 6* (即 6↓) 6. (即 6↓) 第六行下排
U 7/ (即 7↑) 7, (即 7↑) 第七行上排
J 7 7 第七行中排 (基本鍵)
M 7* (即 7↓) 7. (即 7↓) 第七行下排
I 8/ (即 8↑) 8, (即 8↑) 第八行上排
K 8 8 第八行中排 (基本鍵)
, 8* (即 8↓) 8. (即 8↓) 第八行下排
O 9/ (即 9↑) 9, (即 9↑) 第九行上排
L 9 9 第九行中排 (基本鍵)
. 9* (即 9↓) 9. (即 9↓) 第九行下排
P 0/ (即 0↑) 0, (即 0↑) 第十行上排
; 0 0 第十行中排 (基本鍵)
/ 0* (即 0↓) 0. (即 0↓) 第十行下排

🛠️ 轉換腳本功能

專案內包含兩個轉換腳本:

轉換腳本執行以下轉換邏輯:

  1. 自動修改檔案標頭
    • 標準版:將 %ename array30 改為 %ename array12%cname 行列30 改為 %cname 行列12
    • LIME 版:將 %ename array30 改為 %ename array12lime%cname 行列30 改為 %cname 行列12LIME
  2. 重定義按鍵名稱
    • 標準版:將 %keyname 區間內的按鍵重設為 1-0/ (↑)、* (↓)。
    • LIME 版:將 %keyname 區間內的按鍵重設為 1-0, (↑)、. (↓)。
  3. 移除不相容設定
    • 移除過往行列 30 常見的快碼定義 %quick
    • 清理如 %endkey 1234567890%space_style 2 等多餘配置。
  4. 轉換字詞對照表
    • %chardef 區間中所有字詞的行列30按鍵組合,依據上述鍵位對照表轉換成 12 鍵組合。
    • 過濾掉原本單個數字 10 的基本鍵對應,避免按鍵重疊衝突。

🚀 使用方法

請確保你的系統已安裝 Python 3。

1. 標準版轉換

python convert_ar30_to_ar12.py <輸入的行列30_cin檔案> <輸出的行列12_cin檔案>

範例

  • 轉換標準字表:
    python convert_ar30_to_ar12.py ar30-regular-v2026-1.0-20260329.cin ar12-regular-v2026-1.0-20260329.cin
  • 轉換大字表:
    python convert_ar30_to_ar12.py ar30-big-v2026-1.02-20260407.cin ar12-big-v2026-1.02-20260407.cin

2. LIME 版轉換

python convert_ar30_to_ar12_lime.py <輸入的行列30_cin檔案> <輸出的行列12_lime_cin檔案>

範例

  • 轉換 LIME 標準字表:
    python convert_ar30_to_ar12_lime.py ar30-regular-v2026-1.0-20260329.cin ar12-lime-regular-v2026-1.0-20260329.cin
  • 轉換 LIME 大字表:
    python convert_ar30_to_ar12_lime.py ar30-big-v2026-1.02-20260407.cin ar12-lime-big-v2026-1.02-20260407.cin

📂 專案檔案說明

  • convert_ar30_to_ar12.py:標準版 Python 轉換腳本。
  • convert_ar30_to_ar12_lime.py:LIME 版 Python 轉換腳本。
  • ar30-regular-v2026-1.0-20260329.cin:行列 30 標準字表(輸入源)。
  • ar12-regular-v2026-1.0-20260329.cin:轉換後的行列 12 標準字表。
  • ar12-lime-regular-v2026-1.0-20260329.cin:轉換後的行列 12 LIME 標準字表。
  • ar30-big-v2026-1.02-20260407.cin:行列 30 大字表(輸入源)。
  • ar12-big-v2026-1.02-20260407.cin:轉換後的行列 12 大字表。
  • ar12-lime-big-v2026-1.02-20260407.cin:轉換後的行列 12 LIME 大字表。

授權

本專案採用 MIT License

About

行列12

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages