屏幕键盘语言布局

重要

从 Windows 10 IoT 核心版版本 1809 开始,本文不再适用。 请参阅当前文档的有外设设备的屏幕键盘页。

Windows 10 IoT 核心版版本 1703、1709 和 1803 中的屏幕键盘 (OSK) 支持以下语言的布局:

语言标记 说明 布局代码
en-US 英语(美国) 00000409
en-AU 英语(澳大利亚) 00000C09
en-CA 英语(加拿大) 00001009
en-GB 英语(英国) 00000809
es-ES 西班牙语(西班牙) 0000040A
es-MX 西班牙语(墨西哥) 0000080A
de-DE 德语 00000407
fr-CA 法语(加拿大) 00000C0C
fr-FR 法语(法国) 0000040C
it-IT 意大利语 00000410
pt-BR 葡萄牙语(巴西) 00000416

通过按住 OSK 的“&123”按钮,用户可以选择要使用的布局:

All languages

但作为 OEM,你可以限制向用户显示的布局选项。 要限制向用户显示的布局,首先请参考 TechNet 上的键盘布局文档中的指南。

对于具体的示例,如果只想允许北美语言布局(en-US、en-CA、es-MX 和 fr-CA),则可以将以下代码添加到 OEMCustomization.cmd 脚本:

call "%~dp0\setKeyboardLanguages.cmd"

其中,setKeyboardLanguages.cmd 是同一个目录中包含以下代码的脚本:

@echo off

set getDefaultAccountSID="wmic.exe useraccount where name='DefaultAccount' get sid"

for /F "tokens=2 usebackq delims== " %%s in (`%getDefaultAccountSID%`) do (
    set registryKey="HKEY_USERS\%%~s\Keyboard Layout\Preload"
    goto :setRegistry
  )
)
echo Unable to determine SID for DefaultAccount
goto :eof

:setRegistry
  echo on
  REG ADD %registryKey% /v "1" /d "00000409" /f
  REG ADD %registryKey% /v "2" /d "00001009" /f
  REG ADD %registryKey% /v "3" /d "0000080A" /f
  REG ADD %registryKey% /v "4" /d "00000C0C" /f
  @echo off
goto :eof

上述命令脚本产生的结果将为:

North American languages

需要注意的一些事项

  • 值名称指示十进制序列。
  • 值是字符串值 (REG_SZ)。
  • 当然,上述脚本文本可以直接添加到 OEMCustomization.cmd 脚本。
  • 请勿删除“预加载”注册表项,因为它设置了权限,以允许屏幕键盘应用程序读取其值。
  • 这些说明适用的先决条件是,映像必须包含以下功能*:
    • IOT_SHELL_ONSCREEN_KEYBOARD
    • IOT_SHELL_ONSCREEN_KEYBOARD_FOLLOWFOCUS

有关 IoT 功能的详细信息,请参阅 IoT 核心版功能列表