vChewing-macOS/FAQ.md

6.1 KiB
Raw Blame History

常見問題解答

問題回報後的處理

我提的問題或需求或者 PR怎麼一直都沒有人處理

  1. 不是所有的問題或需求都活該得到積極響應。與上游不同,敝專案會在某些問題/需求因自身特性而無法響應之的情況下做出對應的說明、以節約雙方的時間與感情。

  2. 雖然威注音專案的研發時間投入比上游高出幾個數量級,但也只是偶然。請勿將這種日常視為理所當然,誰都會有因為私事而突然變忙的時候。

  3. 有時,自己的痛苦,就是源於自己的無能。自己覺得對方不去做的話,「自己學、自己做」可能還真的就是最快的方式,因為反正對方可能到死都不會去做、就是要跟你鬧情緒。「軟體與程式碼是開源的,但專案是私人的」。早一點做出最壞的預期的話,就早一點意識到:自己的情緒管理控制權應該在自己的手中、且管理的方法就是讓自己變得比對方更強。你不需要獲得對方的承認,因為你的勝利在於你比對方創造了更多被公認的有利於社會的價值。

使用相關

1. 輸入法選單內的輸入法是灰色的,無法選中。

  1. macOS 系統終端機內的「加密的鍵盤輸入」選項被啟用了。請點選「終端機」選單關閉「加密的鍵盤輸入」選項威注音就會正常出現在輸入法選單上。英文語系的使用者可以從「Terminal -> Secure Keyboard Entry」選單關閉該選項。包括 iTerms 在內的某些副廠終端機模擬軟體也會有類似的功能,請自行排查。

  2. 你可能需要重新登入,特別是你在對威注音輸入法進行升級或者降級安裝的情況下。

2. 輸入法選單內出現多個相同的威注音輸入法副本。

請立刻重新登入。如果問題仍舊持續存在的話,請用終端機執行:

sudo "/Library/Input Methods/vChewing.app/Contents/MacOS/vChewing" uninstall

這道命令可以將任何安裝到錯誤位置的威注音輸入法移除掉。在這道命令之後,請再次執行最新的威注音的安裝程式。

威注音輸入法僅該被安裝到使用者目錄內的「~/Library/Input Methods/」目錄下,這也有助於將威注音輸入法安裝到受公司資安策略管控的電腦上。

3. 怎樣用非常規手段安裝部署威注音?

本次以 pkg 的形式發行安裝程式,方便資安管理業者們藉由終端機進行部署。

終端部署可以用這道指令:

installer -pkg ~/Downloads/vChewing-macOS-?.?.?-unsigned.pkg -target CurrentUserHomeDirectory

由於只會安裝至使用者目錄內,所以同一台電腦不同使用者需要分別安裝一遍。

下述終端命令亦可使下載來的程式從 macOS 門衛檢查隔離區內取出來:

xattr -dr com.apple.quarantine ~/Downloads/vChewing-macOS-?.?.?-unsigned.pkg
xattr -dr com.apple.quarantine ~/Downloads/vChewingInstaller.app

另請注意 macOS 10 & 11 的所有系統版本均有一處行為故障pkg 安裝包指定僅裝在使用者目錄下的話,在 macOS 10 & 11 內執行時,仍舊會往總根目錄下安裝,除非您手動點「更改安裝位置」再將那唯一的「安裝只供我使用」再點一遍才可以

4. 有打算支援 Homebrew 等安裝途徑嗎?

這樣會增大維護成本,所以不會再考慮。

5. 選字窗位置不對欸。

這往往是您在敲字時使用的應用程式,並沒有正確地將正確的游標位置告知 IMK、導致輸入法無法得知相關的資訊使然。您在某個應用程式中敲字輸入游標的位置到底在哪裡一開始只有那個應用程式知道然後那個應用程式必須把正確的位置告知輸入法輸入法才知道應該在什麼位置顯示像是選字窗這樣的使用者介面元件。某些應用完全沒有認真處理與 macOS 的 IMK 框架有關的內容,所以就通知了輸入法一個奇怪的位置資訊,有時候座標根本就在螢幕大小之外。威注音在使用的 Voltaire MK3 與上游使用的 Voltaire MK2 的判斷方法相同:如果某個應用程式將奇怪的位置(不在任何一個螢幕的範圍內)告知給 IMK那麼輸入法就會想辦法把選字窗擺在螢幕範圍內最接近的位置。比方說如果是 y 軸超過了螢幕尺寸,就會改在螢幕的最上方顯示。

6. 自訂使用者語彙資料該怎麼管理?

輸入法選單內有相關的選項、允許您開啟使用者語彙資料目錄來自行備份。您也可以藉由輸入法偏好設定來修改這個目錄的位置。修改該目錄的位置的行為並不會自動遷移這些資料。

出於研發負擔與使用者體驗管理方面的疑慮,威注音輸入法不打算內建基於 git 的使用者語彙資料版本管理備份功能。如果您有相關的產品需求的話,完全可以自己寫 bash 腳本搭配系統內建的 cron 功能來使用。

技術相關:

威注音會使用多少系統資源?

此部分以威注音 v1.7.4 版來說明。

在 2018 Intel Mac Mini 以及 2020 年的末代 Intel MacBook Pro 13-inch 機種內使用 Xcode 對威注音做側寫的過程中,我們得到的測試結果是:大約會佔用 110-120 MB 左右的記憶體,平時也大概是這個數。值得注意的是,如果使用者語彙內容體積有所增長的話,對應的記憶體開銷也會有相應的上漲。

為什麼會比上游多出幾乎接近 10 倍呢?因為 Swift 對 string 資料的處理就是這樣不經濟。這還是在經過優化處理之後的結果。(威注音在 1.5.4 版內部測試的時候,語言模組體系剛剛 Swift 化,記憶體開銷是 700MB。我們能得出的對 Swift 而言的最佳處理方案就是使用 plist 格式的原廠語彙資料,這樣能夠兼顧十年前的舊機種的 CPU 算力。假如只照顧最近三年以來的機種的話,還可以換用另一種算法、來將記憶體開銷縮減至 80MB 以內。

得益於威注音的純 Swift 化,平常處理每個按鍵事件都可以在毫秒級別的時間完成。

$ EOF.