共用方式為


前端裝置的螢幕鍵盤

在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 語言時,即為預設值,可使用語音辨識輸入功能。 若要在鍵盤中顯示聽寫按鈕,請參閱下列 有關使用者介面設定的章節。

使用者介面組態

螢幕鍵盤會為其使用者介面提供數個可設定的選項。 這些是透過登錄設定的。 在開發期間,您可以使用 PowerShellSecure 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"