Windows 上小狼毫輸入法的上手教程,右下角出現禁用問題(win10解決)

憨厚的小怪發表於2024-04-17

小玲以前在使用 Windows 系統時,一直都是用系統自帶的輸入法——微軟拼音的,而且小玲沒有那種安裝第三方輸入法的習慣。但是有一天,小玲在網上看到好多人推薦的 Rime 輸入法,抱著試一下的想法,小玲試用了一下這款輸入法。沒想到這款輸入法的可定製性真的高。小玲從此就離不開這款輸入法了。現在小玲也來向大家傳教。

安裝

在 Windows 上,這款輸入法有一個專屬的名字——小狼毫(Weasel)。

小玲是直接採用 winget 安裝的,當然你也可以在 Github 下載 這款輸入法,小狼毫是開源的。

winget install --id=Rime.Weasel

設定使用者資料夾

安裝完成後,小玲強烈建議你把小狼毫的“使用者資料夾”改成一個 C 盤以外的位置。這樣重灌系統後,只需把“使用者資料夾”的位置設定為上一次設定的位置,輸入法配置就全部回來啦。

你可以在開始選單裡的“【小狼毫】安裝選項”設定位置。

刪除原來的輸入法

假設你原來原來的中文輸入法只有微軟拼音。這裡以 Windows 10 為例,在你安裝好後,系統設定裡並沒有新增小狼毫這個輸入法,你需要在“設定”→“時間和語言”→“語言”→“首選語言”→“中文(簡體,中國)”→“選項”→“鍵盤”裡把小狼毫給新增進去,然後就可以把微軟拼音刪除啦。

設定輸入方案

從現在開始咱們將透過編寫配置檔案的方式設定小狼毫。雖然小狼毫有一個“輸入法設定”的功能。不過那個能設定的東西太少了,小玲也不會教你那麼簡單的東西。小玲將教你透過編寫配置檔案的方式設定小狼毫。不過在這之前,你需要熟悉 YAML 檔案的語法。

首先,咱們需要開啟小狼毫的“使用者資料夾”然後在裡面新建一個檔案,命名為 default.custom.yaml,然後寫入以下內容。

patch:
  schema_list:
    - schema: luna_pinyin

切換系統輸入法到小狼毫,右擊工作列裡的“中”字圖示,點選“重新部署”。咱們寫的配置就生效啦。

這裡的 schema 就是輸入方案的意思。luna_pinyin 是一個輸入方案的 ID。你可以在小狼毫的“程式資料夾”裡的 data 資料夾裡找到輸入法自帶的所有輸入方案,以 schema.yaml 為檔名的結尾的檔案就是一個輸入方案定義檔案。咱們開啟它,裡面的 schema 物件下的 schema_id 物件的值就是它的 ID。

這些是小狼毫 0.14.3 自帶的所有輸入方案及其 ID。

方案ID方案名稱
luna_pinyin 朙月拼音
bopomofo 注音
bopomofo_express 注音-快打方式
bopomofo_tw 注音-臺灣正體
cangjie5 倉頡五代
cangjie5_express 倉頡五代-快打模式
luna_pinyin_fluency 朙月拼音·語句流
luna_pinyin_simp 朙月拼音·簡化字
luna_pinyin_tw 朙月拼音·臺灣正體
luna_quanpin 全拼
stroke 五筆畫
terra_pinyin 地球拼音

你可以把 luna_pinyin 替換成你想要的輸入方案的 ID。如果你是全拼使用者,那麼使用“朙月拼音”就可以啦。如果你是雙拼或五筆使用者,你還需要下載輸入方案,因為小狼毫並沒有自帶雙拼和五筆的輸入方案。

這裡小玲以微軟雙拼和五筆為例,介紹小狼毫如何新增雙拼和五筆輸入方案。

咱們開啟 雙拼倉庫,然後下載 double_pinyin_mspy.schema.yaml 檔案,將它放到“使用者資料夾”裡,然後在 default.custom.yaml 裡新增微軟雙拼的輸入方案 ID。

patch:
  schema_list:
    - schema: luna_pinyin
    - schema: double_pinyin_mspy

如果你要使用五筆,你需要從 五筆倉庫 下載 2 個檔案,分別是 wubi86.dict.yamlwubi86.schema.yaml,將它們放到“使用者資料夾”裡,然後在 default.custom.yaml 裡新增五筆的輸入方案 ID。當然你也可以替換原來的輸入方案 ID。

patch:
  schema_list:
    - schema: wubi86

最後請不要忘記“重新部署”小狼毫。

切換輸入方案和簡繁體

如果你在使用 2 個或以上的輸入方案,你可以透過按 Ctrl + `鍵(` 就是數字鍵 1 左邊的那個鍵),然後透過數字鍵或方向鍵來切換輸入方案和簡繁體。這個快捷鍵是可以改的。在 default.custom.yaml 檔案的 patch 物件裡增加 switcher 物件,然後在 switcher 物件裡增加 hotkeys 物件。hotkeys 物件的值是應該是一個陣列,裡面的一個元素對應一個快捷鍵,預設是 Control+grave(也就是 Ctrl + `)和 F4,小玲自己在用的是 Control+Shift+space,也就是 Ctrl + Shift + 空格,小玲覺得預設的有點不太好按。你可以在 這裡 找到更具體的設定介紹。

patch:
  switcher:
    hotkeys:
      # - Control+grave
      # - F4
      - Control+Shift+space

設定皮膚

小狼毫預設自帶的皮膚有 36 套,它們都在“程式資料夾”的 data 資料夾裡的 weasel.yaml 檔案裡的 preset_color_schemes 物件裡被定義。想要使用哪款皮膚,只需找到它的物件名就可以了。例如下面的 aquaazure 就是一個皮膚的物件名。

preset_color_schemes:
  aqua:
    name: 碧水/Aqua
    author: 佛振 <chen.sst@gmail.com>
    text_color: 0x000000
    back_color: 0xeceeee
    border_color: 0xe0e0e0
    hilited_text_color: 0x000000
    hilited_back_color: 0xd4d4d4
    hilited_candidate_text_color: 0xffffff
    hilited_candidate_back_color: 0xfa3a0a

  azure:
    name: 青天/Azure
    author: 佛振 <chen.sst@gmail.com>
    text_color: 0xffe8ca
    candidate_text_color: 0xfff8ee
    back_color: 0x8b4e01
    border_color: 0x8b4e01
    hilited_text_color: 0xfff8ee
    hilited_back_color: 0x8b4e01
    hilited_candidate_text_color: 0x7ffeff
    hilited_candidate_back_color: 0xa95e01
    comment_text_color: 0xc69664

然後,咱們需要新建在“使用者資料夾”裡新建一個檔案,命名為 weasel.custom.yaml,然後寫入以下內容。比如小玲現在想使用“青天/Azure”這個皮膚,小玲就把 patch 物件下的 style/color_scheme 物件的值設為 azure

patch:
  "style/color_scheme": azure

這裡小玲使用的是上面這種寫法,而不是使用下面這種寫法。

patch:
  style:
    color_scheme: azure

因為下面這種寫法——會使原本 style 裡原本已經定義的其他物件變為未定義的。下面是“程式資料夾”的 data 資料夾裡的 weasel.yaml 檔案裡的 style 物件。這些是小狼毫預設的樣式設定。

style:
  color_scheme: aqua
  font_face: Microsoft YaHei
  font_point: 14
  horizontal: false
  fullscreen: false
  inline_preedit: false
  preedit_type: composition
  display_tray_icon: false
  label_format: "%s."
  layout:
    min_width: 160
    min_height: 0
    border_width: 3
    margin_x: 12
    margin_y: 12
    spacing: 10
    candidate_spacing: 5
    hilite_spacing: 4
    hilite_padding: 2
    round_corner: 4

如果咱們使用下面這種寫法,因為咱們寫了 color_scheme 物件,它會覆蓋輸入法預設的 color_scheme 物件的值:aqua,但是咱們並沒有寫 font_facefont_size 等物件,所以它們會變成未定義的,而不是會繼承下來。如果寫成上面這種寫法,會被覆蓋的物件就會只有 style 物件裡的 color_scheme 物件。style 物件裡的其他物件將會被繼承下來。

如果把 weasel.custom.yaml 寫成這個樣子,也是可以的。它會覆蓋 style 物件裡的所有物件。

patch:
  style:
    color_scheme: azure
    font_face: Microsoft YaHei
    font_point: 14
    horizontal: false
    fullscreen: false
    inline_preedit: false
    preedit_type: composition
    display_tray_icon: false
    label_format: "%s."
    layout:
      min_width: 160
      min_height: 0
      border_width: 3
      margin_x: 12
      margin_y: 12
      spacing: 10
      candidate_spacing: 5
      hilite_spacing: 4
      hilite_padding: 2
      round_corner: 4

另外 style 物件裡最值得一提的是 horizontal 物件,它控制著輸入法的候選框是豎排的還是橫排的。在 weasel.custom.yaml 檔案裡的 patch 物件里加入 style/horizontal 物件,並把它的值設為 true。這樣輸入法的候選框就變成橫排的啦。

patch:
  "style/horizontal": true

那麼如何新增第三方皮膚呢?下面是小玲在網上找到的 2 款第三方皮膚的配置1。把它寫進 weasel.custom.yaml 檔案裡的 patch 物件就可以啦。

patch:
  "preset_color_schemes/placeless":
    author: "jed <placeless@outlook.com>"
    back_color: 0xFFFFFF
    candidate_text_color: 0x000000
    hilited_candidate_back_color: 0xf57c75
    hilited_candidate_text_color: 0xFFFFFF
    name: "秋田/Placeless"
    text_color: 0x000000
  "preset_color_schemes/placeless2":
    author: "jed <placeless@outlook.com>"
    back_color: 0xFFFFFF
    candidate_text_color: 0x666666
    hilited_candidate_back_color: 0xFFFFFF
    hilited_candidate_text_color: 0xf57c75
    name: "荷田/Placeless"
    text_color: 0x000000

可以看到這裡定義皮膚時使用的寫法是

patch:
  "preset_color_schemes/placeless":
    # 省略

而不是

patch:
  preset_color_schemes:
    placeless":
      # 省略

至於原因,小玲相信你也明白了。這是為了防止輸入法自帶的皮膚配置變成未定義的。

要使用這個第三方皮膚,只需把 weasel.custom.yaml 檔案裡的 patch 物件裡的 style/color_scheme 物件的值設為 placeless 就可以啦。

patch:
  "style/color_scheme": placeless

設定快捷鍵

如果你用過微軟拼音,你可能知道 Ctrl + 空格是切換中英文的快捷鍵。但是使用了小狼毫後再按 Ctrl + 空格會導致輸入法被禁用。那麼如何解決這個問題呢?

你可以將下面的程式碼儲存成一個 reg 檔案,將它匯入到你的登錄檔裡2,然後重啟電腦。這樣按 Ctrl + 空格就不會導致輸入法被禁用啦。小玲實測 Windows 10 和 Windows 11 都可以使用這個方法。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010]
"Key Modifiers"=hex:00,c0,00,00
"Virtual Key"=hex:ff,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000070]
"Key Modifiers"=hex:00,c0,00,00
"Virtual Key"=hex:ff,00,00,00

現在按 Ctrl + 空格還不能切換中英文,咱們需要在 default.custom.yaml 檔案裡的 patch 物件裡增加 key_binder 物件。具體配置如下。

patch:
  key_binder:
    bindings:
      - accept: Control+space
        toggle: ascii_mode
        when: always

經過新增上面的配置,現在咱們可以透過 Ctrl + 空格切換中英文啦。

小玲還自己設定了一些快捷鍵,比如下面這些。

patch:
  key_binder:
    bindings:
      - accept: Control+h
        send: Up
        when: composing
      - accept: Control+j
        send: Page_Down
        when: composing
      - accept: Control+k
        send: Page_Up
        when: composing
      - accept: Control+l
        send: Down
        when: composing

這 4 個快捷鍵的作用是在出現候選框時,可以透過按 Ctrl + H 和 Ctrl + L 移動選中的詞,透過按 Ctrl + J 和 Ctrl + K 向下或向上翻頁。如果把候選框變成橫排的將會更直觀。這可是微軟拼音做不到的哦。因為小玲打字時是使用標準指法的(也就是左右手的食指分別放在 F 和 J 上)。以前用微軟拼音時,要用左手手指伸很遠去按數字鍵選詞,現在只需透過左手小指按住左邊的 Ctrl 鍵,然後右手幾乎不用移動就可以選詞,感覺方便多啦。

輸入符號和短語

小狼毫預設的符號配置在“程式資料夾”的 data 資料夾裡的 symbols.yaml 檔案裡。你可以開啟這個檔案檢視你能輸入哪些符號和短語。比如要輸入一些特殊符號,就在中文輸入模式下打 /fh,候選框就會出現特殊符號了。

結尾

好了,透過上面的學習,相信你已經可以掌握小狼毫的基本使用方法了。如果還有什麼不懂的,可以檢視小狼毫的 官方文件,這篇文件比小玲寫的要好多了。


  1. 這些配置來自 《我的鼠須管配置》,為了相容小狼毫,小玲修改了一點點。 ↩︎

  2. 方法參考 keyboard shortcuts - CTRL-Space always toggles Chinese IME (Windows 7) - Super User↩︎

轉載自:Windows 上小狼毫輸入法的上手教程 :: 星野玲的部落格 (bling.moe)

相關文章