前端裝置的螢幕鍵盤
在Windows 10 IoT 核心版 1809 版中,螢幕上的鍵盤元件已大幅變更,更棒! IoT 核心版現在使用與桌上出版 Windows 相同的觸控式鍵盤元件。
新功能
新的鍵盤實作可為前端裝置開發提供下列優點:
功能套件
若要建立原型 (開發) 影像,螢幕鍵盤功能已包含,但您必須從 Windows 裝置入口網站中的 [裝置設定] 啟用此功能。
為了進行商業化,下列選擇性功能套件會將螢幕上的鍵盤新增至您的影像:
- IOT_SHELL_ONSCREEN_KEYBOARD
- IOT_SHELL_ONSCREEN_KEYBOARD_FOLLOWFOCUS
提示
如需 IoT 核心功能的詳細資訊,請參閱 IoT 核心功能清單 和 IoT 核心版製造指南。
Windows 鍵盤語言版面配置
在此版本中,支援的語言版面配置已擴充,以包含桌面 Windows 版本中可用的完整語言配置。 若要讓使用者在不同的語言配置之間選取,您通常會在應用程式的 [設定] 區域中包含選取 UI。 提供下列 API,可讓應用程式設定螢幕鍵盤將使用的語言:
Windows.Globalization.Language.TrySetInputMethodLanguageTag
您可以在LanguageManager.cs檔案的IoTCoreDefaultApp 範例應用程式中看到此 API 的範例。
支援輸入範圍
在舊版中,只有 EmailSmtpAddress 輸入範圍可供使用。 在此版本中,有一組完整的輸入範圍可供使用。 下列主題說明輸入範圍,以及如何在應用程式中使用這些範圍:
輸入法 (IME)
此版本提供輸入法編輯器,對於任何圖形比鍵盤上的按鍵更多的語言,例如中文、日文和韓文。
非遮蔽的文字輸入欄位
在舊版中,觸控式鍵盤可能會遮蔽焦點文字欄位,讓使用者無法看到他們輸入的內容。 此版本會藉由自動將文字欄位捲動至檢視來修正此問題,使其不再被觸控式鍵盤遮蔽。
聽寫模式
當輸入語言設定為 OS 語言時,即為預設值,可使用語音辨識輸入功能。 若要在鍵盤中顯示聽寫按鈕,請參閱下列 有關使用者介面設定的章節。
使用者介面組態
螢幕鍵盤會為其使用者介面提供數個可設定的選項。 這些是透過登錄設定的。
在開發期間,您可以使用 PowerShell 或 Secure Shell (SSH) 。 若要建立 OEM 映射,設定登錄值的慣用機制是 OEMInput.xml
此處討論的檔案:
注意
此處記載的大部分登錄設定會在螢幕鍵盤可見時生效。 這可讓您在開發期間輕鬆地嘗試不同的設定值組合,立即即時查看產生的變更。 如果設定不會立即生效,您必須重新開機裝置,才能查看鍵盤 UI 的變更。
鍵盤高度
根據預設,觸控式鍵盤會使用螢幕高度較低的 45%。 視裝置的大小和解析度而定,這可能會在您的裝置上顯示太大或太小。 您可以將高度調整為螢幕高度的兩分之三。 不在範圍內的任何值都會固定在範圍中。 由於這會指定為浮點值,因此允許圖元層級精確度。 只要套用下列公式來計算百分比:
percentage = (100 * <desired_pixel_height>) / <screen_height>
例如,若要將高度變更為 56.783%,您可以設定下列登錄值:
set OskRootKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK
reg.exe ADD "%OskRootKey%" /v MaxHeightPercentage /t REG_SZ /d "56.783" /f
或從 PowerShell:
set OskRootKey "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK"
cd $OskRootKey
Set-ItemProperty -Path . -Name MaxHeightPercentage -Type String -Value 56.783
注意
登錄數值型別必須是 String (REG_SZ
) ,以便使用 來表示分數值。
小數點。 即使整數百分比,使用 DWord (REG_DWORD
) 也無法 運作。
其他喜好設定
其餘的喜好設定集是 [喜好設定] 子機碼中的 String 值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK\Preferences
登錄值 | 預設值 | 描述 |
---|---|---|
AudioFeedback_Disabled | "0" | 「0」 可讓按鍵按一下音訊意見反應;「1」 會停用它。 |
Dictation_Disabled | 「1」 | 「0」 會顯示聽寫 (語音辨識) 按鈕;「1」 會隱藏它。 (請參閱下列注意事項) |
KeyboardModeEnabled_full | "0" | 「0」 會停用完整鍵盤模式;「1」 可加以啟用。 |
KeyboardModeEnabled_narrow | 「1」 | 「0」 會停用窄鍵盤模式;「1」 可加以啟用。 |
KeyboardModeEnabled_wide | 「1」 | 「0」 會停用寬鍵盤模式;「1」 可加以啟用。 |
ModeOrder | 「wide;narrow;full」 | 如果啟用,則從左至右 () 模式列在模式下拉式功能表中的順序 |
SettingsMenuKey_Collapsed | "0" | 隱形模式下拉式功能表。 如果只啟用一個模式,請將此設定為 「1」。 |
Paste_Disabled | "0" | 「0」 顯示 [貼上] 按鈕;「1」 會隱藏它。 變更會在重新開機後生效。 |
CloseButton_Disabled | "0" | 「0」 顯示 [關閉] 按鈕;「1」 會隱藏 [關閉] 按鈕。 變更會在重新開機後生效。 |
EmojiKeyEnabled | "0" | 「0」 會隱藏 Emoji 鍵;「1」 會顯示它,允許使用者輸入 Emoji 字元。 |
注意
聽寫模式需要針對選取的輸入語言以及音訊輸入裝置安裝語音套件。 如果未安裝相符的語音套件,將不會顯示聽寫按鈕。
所有影像都包含 en-US 語音語言。 其他語音套件會安裝為選擇性功能。 如需 IoT 功能的詳細資訊,請參閱 IoT 核心功能清單 和 IoT 核心版製造指南。
例如,若要只 wide
啟用鍵盤模式,您可以在 PowerShell 中執行下列動作:
set OskRootKey "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK"
cd $OskRootKey
mkdir Preferences
cd Preferences
Set-ItemProperty . -Name KeyboardModeEnabled_full -Value "0" # Optional, since the default is "0"
Set-ItemProperty . -Name KeyboardModeEnabled_narrow -Value "0"
Set-ItemProperty . -Name KeyboardModeEnabled_wide -Value "1" # Optional, since the default is "1"
Set-ItemProperty . -Name SettingsMenuKey_Collapsed -Value "1"