2021年9月1日 星期三

fcitx 輸入法表格客製化

我目前的作業系統是 linux mint, 使用的輸入法是 fcitx 的嘸蝦米。 最近剛從 mint 20 升級到 20.2 , 原本熟悉的 「cg」=>「要」 現在卻變成了 「cg」=>「履」; 必須完整打完三碼 「cgx」 才會得到 「要」。 為了省下這一碼, 花了半小時終於研究出來。 凡是表格類的輸入法, 像是倉頡、行列等等, 我猜也可類推?

先用 dpkg -l | grep 'fcitx.*boshiamy' 查出需要研究的套件名稱是 fcitx-table-boshiamy , 再用 dpkg -L fcitx-table-boshiamy 查出需要更新的表格檔是 /usr/share/fcitx/table/boshiamy.mb 。

不過那是系統檔。 每個用戶自己的字碼表呢? 觀察發現: 像是 「己」和「已」 這類同碼的字, 如果你比較常選第二名, 有一天它會自動前進變成第一名, 所以推測: 打中文時, 某個檔會持續更新統計資料。 find ~ -mmin -1 | grep -Pv 'mozilla|chromium' 查看家目錄底下過去一分鐘內修改過的檔案, 剔除掉雜音很多的繁忙瀏覽器資訊, 可以得知我們想修改的檔案應該是 ~/.config/fcitx/table/boshiamy.mb 這個檔。

找到並下載 表格原始檔 boshiamy.txt, 編輯讓 「cg」 優先對應到 「要」、 「cj」 優先對應到 「中」 等等。 再安裝轉檔套件 fcitx-tools , 執行 txt2mb ~/boshiamy.txt ~/.config/fcitx/table/boshiamy.mb 登出再登入... 結果無效?

我猜是因為 fcitx 執行時, 在記憶體裡或是哪裡有存一份 cache, 方便更新使用頻率, 登出時會把那份 cache 存回硬碟, 所以我們的修改又被蓋掉了。 於是登出之後, 按 ctrl-alt-f1 切換到文字終端機、 登入、 在沒有 fcitx 的情況下重新執行一次 txt2mb ~/boshiamy.txt ~/.config/fcitx/table/boshiamy.mb、 ctrl-alt-f7 切回圖形介面、 登入, 然後就成功了!

沒有留言:

張貼留言

因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。