Bildschirmtastatur für Kopfgeräte

In Windows 10 IoT Core, Version 1809, hat sich die Bildschirmtastaturkomponente erheblich geändert, und das zum Besseren! IoT Core verwendet jetzt die gleichen Touchtastaturkomponenten wie die Desktop-Edition von Windows.

Neue Funktionen

Die neue Tastaturimplementierung bietet die folgenden Vorteile für die Entwicklung Ihres Kopfgeräts:

Featurepakete

Für die Prototyperstellung (Entwicklung) von Bildern ist die Bildschirmtastaturfunktion bereits enthalten, Sie müssen es jedoch über die Geräteeinstellungen im Windows-Geräteportal aktivieren.

Für die Kommerzialisierung fügen die folgenden optionalen Featurepakete ihrem Bild die Bildschirmtastatur hinzu:

  • IOT_SHELL_ONSCREEN_KEYBOARD
  • IOT_SHELL_ONSCREEN_KEYBOARD_FOLLOWFOCUS

Tipp

Weitere Informationen zu IoT Core-Features finden Sie unter IoT Core-Featureliste und IoT Core-Fertigungsleitfaden.

Windows-Tastatursprachlayouts

Mit dieser Version wurden die unterstützten Sprachlayouts erweitert, um den vollständigen Satz der in der Windows-Desktop-Edition verfügbaren Layouts einzuschließen. Damit Ihre Benutzer zwischen verschiedenen Sprachlayouts auswählen können, fügen Sie in der Regel die Auswahl-UI in den Bereich Einstellungen Ihrer Anwendung ein. Die folgende API wird bereitgestellt, damit Ihre Anwendung die Sprache festlegen kann, die die Bildschirmtastatur verwendet:

Windows.Globalization.Language.TrySetInputMethodLanguageTag

Ein Beispiel für diese API finden Sie in der IoTCoreDefaultApp-Beispielanwendung in der Datei LanguageManager.cs .

Unterstützung für Eingabebereiche

In früheren Versionen war nur der Eingabebereich EmailSmtpAddress verfügbar. In dieser Version ist der vollständige Satz von Eingabebereichen verfügbar. Im folgenden Thema werden Eingabebereiche und deren Verwendung in Ihren Anwendungen erläutert:

Verwenden des Eingabeumfangs zum Ändern der Bildschirmtastatur

Eingabemethoden-Editor (IME)

Diese Version bietet einen Eingabemethoden-Editor, der für jede Sprache erforderlich ist, die mehr Grapheme enthält, als Tasten auf der Tastatur vorhanden sind, z. B. Chinesisch, Japanisch und Koreanisch.

Nicht verdeckte Texteingabefelder

In früheren Versionen verschleierte die Bildschirmtastatur möglicherweise das fokussierte Textfeld, sodass der Benutzer nicht sehen konnte, was er eingegeben hat. In dieser Version wird dieses Problem behoben, indem das Textfeld automatisch in die Ansicht scrollt, sodass es nicht mehr von der Bildschirmtastatur verdeckt wird.

Diktiermodus

Wenn die Eingabesprache auf die Standardsprache des Betriebssystems festgelegt ist, ist das Spracherkennungseingabefeature verfügbar. Informationen zum Anzeigen der Diktierschaltfläche auf der Tastatur finden Sie im folgenden Abschnitt zur Konfiguration der Benutzeroberfläche.

Konfiguration der Benutzeroberfläche

Die Bildschirmtastatur bietet mehrere konfigurierbare Optionen für die Benutzeroberfläche. Diese werden über die Registrierung konfiguriert. Während der Entwicklung können Sie PowerShell oder Secure Shell (SSH) verwenden. Zum Erstellen eines OEM-Images ist der bevorzugte Mechanismus zum Festlegen von Registrierungswerten die OEMInput.xml hier beschriebene Datei:

Laufzeitanpassungen

Hinweis

Die meisten der hier dokumentierten Registrierungseinstellungen werden wirksam, während die Bildschirmtastatur sichtbar ist. Auf diese Weise können Sie während der Entwicklung problemlos verschiedene Kombinationen von Einstellungswerten ausprobieren und die daraus resultierenden Änderungen sofort in Echtzeit sehen. Wenn eine Einstellung nicht sofort wirksam wird, müssen Sie das Gerät neu starten, um die Änderungen an der Tastatur-Benutzeroberfläche anzuzeigen.

Tastaturhöhe

Standardmäßig verwendet die Bildschirmtastatur die unteren 45 % der Bildschirmhöhe. Dies kann je nach Größe und Auflösung auf Ihrem Gerät zu groß oder klein erscheinen. Sie können die Höhe bis zu maximal zwei Drittel der Höhe des Bildschirms anpassen. Alle Werte, die nicht im Bereich liegen, werden in den Bereich eingespannt. Da dies als Gleitkommawert angegeben wird, ermöglicht er eine Genauigkeit auf Pixelebene. Wenden Sie einfach die folgende Formel an, um den Prozentsatz zu berechnen:

percentage = (100 * <desired_pixel_height>) / <screen_height>

Wenn Sie beispielsweise die Höhe auf 56,783 % ändern möchten, legen Sie den folgenden Registrierungswert fest:

set OskRootKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK
reg.exe ADD "%OskRootKey%" /v MaxHeightPercentage /t REG_SZ /d "56.783" /f

oder über PowerShell:

set OskRootKey "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK"
cd $OskRootKey
Set-ItemProperty -Path . -Name MaxHeightPercentage -Type String -Value 56.783

Hinweis

Der Registrierungswerttyp muss eine Zeichenfolge (REG_SZ) sein, damit die Bruchwerte mit dargestellt werden können. ein Dezimaltrennzeichen. Die Verwendung von DWord (REG_DWORD) funktioniert nicht, auch nicht für ganze Zahlenprozentsätze.

Zusätzliche Einstellungen

Der verbleibende Satz von Einstellungen ist Zeichenfolgenwerte im Unterschlüssel Einstellungen:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK\Preferences
Registrierungswert Standardwert BESCHREIBUNG
AudioFeedback_Disabled "0" "0" ermöglicht das Audiofeedback des Schlüsselklicks; "1" deaktiviert es.
Dictation_Disabled "1" "0" zeigt die Diktattaste (Spracherkennung) an; "1" blendet sie aus. (siehe Hinweis unten)
KeyboardModeEnabled_full "0" "0" deaktiviert den vollständigen Tastaturmodus; "1" aktiviert dies.
KeyboardModeEnabled_narrow "1" "0" deaktiviert den schmalen Tastaturmodus; "1" aktiviert dies.
KeyboardModeEnabled_wide "1" "0" deaktiviert den breiten Tastaturmodus; "1" aktiviert dies.
ModeOrder "breit;schmal;voll" Die Reihenfolge (von links nach rechts), in der die Modi im Dropdownmenü des Modus aufgeführt sind, sofern aktiviert
SettingsMenuKey_Collapsed "0" Blendet das Dropdownmenü für den Modus aus. Legen Sie dies auf "1" fest, wenn nur ein Modus aktiviert ist.
Paste_Disabled "0" "0" zeigt die Schaltfläche "Einfügen"; "1" blendet sie aus. Die Änderung wird nach dem Neustart wirksam.
CloseButton_Disabled "0" "0" zeigt die Schaltfläche Schließen an; "1" blendet die Schaltfläche Schließen aus. Die Änderung wird nach dem Neustart wirksam.
EmojiKeyEnabled "0" "0" blendet die Emoji-Taste aus; "1" wird angezeigt, sodass der Benutzer Emoji-Zeichen eingeben kann.

Hinweis

Für den Diktiermodus muss ein Sprachpaket für die ausgewählte Eingabesprache sowie ein Audioeingabegerät installiert werden. Wenn keine übereinstimmenden Sprachpakete installiert sind, wird die Diktierschaltfläche nicht angezeigt.

Alle Bilder enthalten die Sprache en-US. Andere Sprachpakete werden als optionale Features installiert. Weitere Informationen zu IoT-Features finden Sie unter IoT Core-Featureliste und IoT Core-Fertigungsleitfaden.

Wenn Sie beispielsweise nur wide den Tastaturmodus aktivieren möchten, können Sie in PowerShell wie folgt vorgehen:

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"