2017-12-20

Windows 8 / 8.1 / 10 注音輸入法切換問題

Windows 8 以後切換到注音輸入法時, 預設都是 [注音] (ㄅ)
即使將注音輸入法預設鍵盤模式從 [中文模式] 改為 [英數模式]
切換時預設也還是跳為 [注音] (ㄅ)
這個問題相當惱人, 最近找到一個方法, 除了上述這個設定之外
還必須加入以下註冊機碼

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Keyboard Layout\Substitutes]
"00000404"="00000409"
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\IME\15.0\IMETC]
"Default Input Mode"="0x00000001"

這個註冊機碼也可以下 Command:

reg add "HKEY_CURRENT_USER\Keyboard Layout\Substitutes" /v 00000404 /t REG_SZ /d 00000409 /f
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\IME\15.0\IMETC" /v "Default Input Mode" /t REG_SZ /d "0x00000001" /f

如此一來, 切換到注音輸入法的時候預設就會是 [英數] 而不是注音 (ㄅ)

但是, 預設是注音輸入法的 [英數]
必須用 Shift 切換才會變成注音輸入法的 [注音] (ㄅ)

如果習慣用 Ctrl + Space 切換的人, 用 Ctrl + Space 切換的話仍然是 [英數] 輸入
再 Ctrl + Space 切回來也還是 [英數]
必須用 Shift 切換變成注音輸入法的 [注音] (ㄅ)
之後再用 Ctrl + Space 切換才會是 [英數] / [注音] (ㄅ) 互相切換
而且每個應用程式視窗預設都是如此
對於已經很習慣只用 Ctrl + Space 切換的人來說相當不方便

除此之外還有一個例外
如果是被 UAC 介入的情況下 (無論是否將 UAC 關閉)
程式開啟後仍然是注音輸入法的 [注音] (ㄅ)

如果要強制只使用中文語言:

$LanguageList = Get-WinUserLanguageList
$MarkedLanguage = $LanguageList | where LanguageTag -eq 'en-US'
$LanguageList.Remove($MarkedLanguage)
Set-WinUserLanguageList $LanguageList -Force

沒有留言:

張貼留言