Tablet-Modus
Übersicht
Der Tablet-Modus ist ein neues, adaptives Benutzererlebnis in Windows 10, das das Aussehen und Verhalten von Apps und der Windows-Oberfläche für den physischen Formfaktor und die Nutzungspräferenzen des Kunden optimiert. In diesem Dokument wird beschrieben, wie Sie den Tablet-Modus auf 2-in-1-Geräten und Tablets implementieren, insbesondere wie der Tablet-Modus ein- und ausgeschaltet werden kann.
Der Tablet-Modus ist eine Funktion, mit der Sie Ihr Gerät vom Tablet-Modus in den Desktop-Modus und wieder zurück schalten können. Der Benutzer kann den Tablet-Modus in erster Linie manuell über das Aktionszentrum aufrufen und beenden, indem er auf das Symbol unten rechts in der Taskleiste klickt. Darüber hinaus können OEMs Hardware-Übergänge melden (z. B. die Umwandlung eines 2-in-1-Geräts von einem Clamshell- in ein Tablet-Gerät und umgekehrt), was ein automatisches Umschalten zwischen den beiden Modi ermöglicht. Ein wesentliches Merkmal des Tablet-Modus ist jedoch, dass der Benutzer jederzeit die Kontrolle über sein Erlebnis behält, so dass diese Hardware-Übergänge durch eine Toast-Eingabeaufforderung angezeigt werden, die vom Benutzer bestätigt werden muss. Die Benutzer haben auch die Möglichkeit, die Standardantwort festzulegen.
Zielgeräte
Tablets | Trennbare | Convertibles |
Reine Tablets und Geräte, die an einen externen Monitor + Tastatur + Maus angeschlossen werden können. | Tablet-ähnliche Geräte mit speziell entwickelten abnehmbaren Tastaturen. | Laptop-ähnliche Geräte mit klapp- oder schwenkbaren Tastaturen. |
Wenn das Gerät in den Tablet-Modus wechselt, geschieht Folgendes:
- Start ändert die Größe des gesamten Bildschirms und sorgt so für ein intensives Erlebnis.
- Die Titelleisten von Microsoft Store-Apps werden automatisch ausgeblendet, um unnötigen Chrom zu entfernen und den Inhalt durchscheinen zu lassen.
- Microsoft Store-Apps und Win32-Apps können ihr Layout so optimieren, dass sie im Tablet-Modus zuerst berührungsempfindlich sind.
- Der Benutzer kann Apps, sogar Win32-Apps, schließen, indem er vom oberen Rand nach unten wischt.
- Der Benutzer kann bis zu zwei Apps nebeneinander einrasten lassen, einschließlich Win32-Apps, und ihre Größe einfach mit dem Finger gleichzeitig ändern.
- Apps können automatisch nebeneinander gestartet werden, um Multitasking-Layouts ohne großen Aufwand für den Benutzer zu erstellen.
- Die Taskleiste verwandelt sich in eine Navigations- und Statusleiste, die besser für Tablets geeignet ist.
- Die Touch-Tastatur kann automatisch aufgerufen werden.
Natürlich können Nutzer auch im Tablet-Modus Windows 10-Funktionen wie Snap Assist, Aufgabenansicht und Aktionszentrum nutzen. Auf Touch-fähigen Geräten haben Kunden Zugriff auf berührungsfreundliche Aufrufe dieser Funktionen: Sie können von der linken Kante nach innen wischen, um die Aufgabenansicht aufzurufen, oder von der rechten Kante nach innen wischen, um das Aktionszentrum aufzurufen.
Der Tablet-Modus bietet Kunden die Flexibilität, ihr Gerät auf eine Weise zu verwenden, die für sie am bequemsten ist. Ein Kunde möchte beispielsweise sein 8-Zoll-Tablet ausschließlich im Tablet-Modus verwenden, bis er es an einen externen Monitor, eine Maus und eine Tastatur anschließt. An diesem Punkt verlässt der Kunde den Tablet-Modus und verwendet alle seine Anwendungen als herkömmliche Fenster auf dem Desktop - genau wie in früheren Versionen von Windows. In ähnlicher Weise könnte ein Benutzer eines konvertierbaren 2-in-1-Geräts den Tablet-Modus aktivieren und deaktivieren wollen, wenn er sein Gerät im Laufe des Tages benutzt (z. B. beim Pendeln im Bus oder beim Sitzen am Schreibtisch im Büro), wobei er Signale von der Hardware verwendet, um geeignete Übergangszeitpunkte vorzuschlagen.
Gestaltung Ihres Geräts für den Tablet-Modus
Wenn Sie ein 2-in-1-Gerät entwerfen, das konvertierbar oder abnehmbar ist, empfehlen wir Ihnen, bei der Entwicklung Ihres Produkts das folgende Flussdiagramm zu befolgen. So stellen Sie sicher, dass die richtige Implementierung vorhanden ist, damit die Eingabeaufforderung für den Tablet-Modus angezeigt wird, wenn sich der Status des Geräts ändert. Jedes der Kästchen im Flussdiagramm enthält eine Implementierungsoption.
Methode 1 - Implementierung der ACPI-Beschreibung für die GPIO-basierten Indikatoren
Wenn es sich bei Ihrem System um ein 2-in-1-Gerät handelt, das physische GPIOs zur Anzeige von Zustandsübergängen verwendet, können Sie den Zustandsübergangsindikator in ACPI beschreiben und Windows leitet die von diesem Indikator ausgelösten GPIO-Unterbrechungen automatisch an das Betriebssystem weiter.
Weitere Informationen finden Sie in den folgenden Ressourcen auf MSDN.
- Indikatorimplementierung (https://msdn.microsoft.com/library/windows/hardware/dn457884.aspx)
- ACPI-Deskriptorbeispiele (https://msdn.microsoft.com/library/windows/hardware/dn457868.aspx)
Methode 2 – Verwenden der Injektionsschnittstelle
Wenn es sich bei Ihrem System um ein 2-in-1-Gerät handelt, das keine physischen GPIOs zur Anzeige von Zustandsübergängen verwendet, müssen Sie entweder einen Treiber für den Benutzermodus oder einen für den Kernel-Modus entwickeln, der die Zustandsübergangsanzeige in den „GPIO Laptop und Slate Indikator-Treiber“ von Microsoft injiziert.
Die Injektionsschnittstelle zum „GPIO Laptop und Slate Indikator-Treiber“ ist wie folgt definiert:
/* 317fc439-3f77-41c8-b09e-08ad63272aa3 */ DEFINE_GUID(GUID_GPIOBUTTONS_LAPTOPSLATE_INTERFACE, 0x317fc439, 0x3f77, 0x41c8, 0xb0, 0x9e, 0x08, 0xad, 0x63, 0x27, 0x2a, 0xa3);
Durch den Aufruf von WriteFile über die Schnittstelle können Sie den Zustand des Indikators umschalten. Ein Codebeispiel für die Verwendung der Injektionsschnittstelle durch einen Treiber finden Sie hier auf der MSDN-Seite: https://msdn.microsoft.com/library/windows/hardware/dn457889.aspx
Wenn Sie einen Treiber erstellen, der die Injektionsschnittstelle verwendet, müssen Sie dennoch die ACPI-Beschreibung für die Laptop-/Slate-Modus-Anzeige deklarieren, um sicherzustellen, dass der „GPIO Laptop und Slate Indikator-Treiber“ von Microsoft geladen wird. Sie müssen jedoch keine GPIO-Ressource in die ACPI-Deklaration für den „Laptop- und Slate-Indikator“ hinzufügen.
Hinweis Wenn das Gerät startet, wird der „GPIO Laptop und Slate Indikator-Treiber“ zunächst im „Slate“-Modus initialisiert. Daher ist es wichtig, dass Ihr Injektionstreiber den Zustand des Betriebssystems überprüft, um sicherzustellen, dass er unmittelbar nach dem Hochfahren des Geräts mit dem tatsächlichen Zustand des Systems übereinstimmt.
Möglicherweise bietet Ihr SOC IHV-Partner bereits einen Treiber oder eine andere Lösung an, die den Zustandsübergang in den Posteingangstreiber von Microsoft integriert. Wenn das der Fall ist, können Sie Zeit und Mühe sparen, indem Sie die Lösung Ihres IHV gemäß dessen Richtlinien nutzen.
Methode 3 - Verwenden Sie die unbeaufsichtigte Einstellung, um den permanenten Gerätezustand zu deklarieren
Wenn Ihr Gerät kein 2-in-1-Gerät ist, z. B. ein normaler Laptop oder Desktop, können Sie die Eingabeaufforderung über die Einstellung ConvertibleSlateModePromptPreference in Ihrer Antwortdatei deaktivieren. Wenn Sie den Wert auf 0 setzen, wird die Eingabeaufforderung nicht angezeigt und die Benutzeroberfläche wird nicht umgeschaltet. Wenn kein Wert angegeben wird, ist der Standardwert 1, bei dem das System aufgefordert wird, den Modus zu wechseln.
Hinweis Es wird auch empfohlen, dass Sie den Typ des Formfaktors, den Sie erstellen, mit der Einstellung DeviceForm in Ihrer Antwortdatei angeben.
Testen Sie Ihr Gerät
Überprüfen Sie, ob Ihr Gerät den ConvertibleSlateMode implementiert
Wenn Sie unsicher sind, ob Ihr Gerät ConvertibleSlateMode ordnungsgemäß implementiert, überprüfen Sie, ob der „GPIO Laptop oder Slate Indikator-Treiber“ im Geräte-Manager vorhanden ist.
Stellen Sie sicher, dass Sie die Option „Versteckte Geräte anzeigen“ im Geräte-Manager aktivieren, um das Vorhandensein dieses Treibers zu bestätigen:
Es gibt zwei Möglichkeiten, den „Tablet-Modus“ zu aktivieren/deaktivieren:
- Manuell – Der Benutzer kann den „Tablet-Modus“ manuell durch Drücken der Schaltfläche „Tablet-Modus“ im Aktionszentrum aktivieren/deaktivieren.
- Hardwareaktion ausgelöst – Das Betriebssystem kann den Benutzer fragen, ob er in den „Tablet-Modus“ wechseln bzw. diesen verlassen möchte, wenn die Hardware durch ConvertibleSlateMode angezeigt hat, dass der Formfaktor geändert wurde.
Die Nutzung einer vorhandenen Bluetooth-Tastatur als Auslöser für den Tablet-Modus wird nicht unterstützt. Das Hauptproblem bei der Verwendung von Bluetooth als Auslöser besteht darin, dass die Bluetooth-Ereignisse mit der Gerätekopplung und der Nähe zum Gerät korrelieren und diese Ereignisse nicht zuverlässig signalisieren, ob die Tastatur in Gebrauch ist (z. B. kann sie sich nicht einmal in der Nähe des Kunden befinden) und somit nicht zuverlässig die Absicht des Kunden signalisieren, den „Tablet-Modus“ zu aktivieren oder zu beenden.
Wenn Sie sicherstellen möchten, dass ein Gerät, das mit einer Bluetooth-fähigen Tastatur ausgeliefert wird, dem Kunden hardwarebasierte Hinweise zum Wechseln des Modus gibt, empfehlen wir, einen Sensor zu implementieren, der den aktuellen Formfaktor erkennt und dann über ConvertibleSlateMode ein Signal an das Betriebssystem sendet.
Da die Windows-Eingabeaufforderung zum Aktivieren bzw. Deaktivieren des „Tablet-Modus“ von der Implementierung von ConvertibleSlateMode abhängt, ist es wichtig, dass die Firmware, die den ConvertibleSlateMode umschaltet, gründlich getestet wird. ConvertibleSlateMode-Implementierungen von geringerer Qualität können zu einer schlechten Erfahrung für den Endbenutzer führen, z. B. wenn der Benutzer mehrfach aufgefordert wird, den „Tablet-Modus“ aufzurufen.
Wenn ein 2-in-1-Gerät von einem Klappgehäuse zu einem Tablet wechselt, können die Tastatur und das Touchpad außerdem versehentlich vom Benutzer, der das Tablet hält, gedrückt werden. Windows unterstützt es nicht, Eingaben über die integrierte Tastatur und das Touchpad zu ignorieren, wenn ein Convertible in ein Tablet umgewandelt wird. Wir erwarten von den Geräteherstellern, dass sie ihre Hardware oder Software so gestalten, dass unbeabsichtigte Eingaben während der Änderung des Formfaktors vermieden werden, und dass sie diese gründlich testen. Die folgende Tabelle zeigt einige der häufigsten Fehler, die auftreten können, zusammen mit den Anwendungsfällen, die sie verursachen können. Diese Anwendungsfälle sollten getestet werden, um zu verhindern, dass der Benutzer einen schlechten Wechsel erlebt:
Fehler | Anwendungsfälle, die den Fehler verursachen können |
---|---|
ConvertibleSlateMode schaltet um, obwohl es keinen für den Kunden erkennbaren Grund gibt (z. B. eine Fehlzündung). |
|
ConvertibleSlateMode geht davon aus, dass das System ein Slate-Formfaktor ist, obwohl es eigentlich ein Laptop-Formfaktor ist (oder umgekehrt). |
|
ConvertibleSlateMode schaltet mehrmals in schneller Folge um, so dass das Betriebssystem den Benutzer wiederholt auffordert, den „Tablet-Modus“ zu aktivieren bzw. zu deaktivieren. |
|
Unbeaufsichtigte Einstellungen
Die folgenden unbeaufsichtigten Einstellungen sind nützlich, wenn Sie ein Gerät entwerfen, das für den Tablet-Modus geeignet ist:
Unbeaufsichtigte Einstellung | Beschreibung | Wert |
---|---|---|
Mit der Einstellung ConvertibleSlateMode legen Sie die physische Fähigkeit des Geräts fest, die sich auf das physische Verhalten des Geräts auswirkt (z. B. Drehung und Bildschirmtastatur), und Sie tragen dazu bei, die angemessene Erfahrung bei der ersten Verwendung zu definieren, die einem Endbenutzer präsentiert wird. Wenn Sie den Laptop-Modus festlegen, kann ein Endbenutzer auf einer physischen Tastatur schreiben. Wenn Sie den Tablet-Modus festlegen, kann ein Endbenutzer nicht auf einer physischen Tastatur schreiben, da die Tastatur entfernt oder nach hinten geklappt wird, so dass sie nicht zugänglich ist. |
|
|
Mit der Einstellung ConvertibleSlateModePromptPreference können Sie festlegen, ob der Benutzer aufgefordert werden soll, den Tablet-Modus zu aktivieren oder zu beenden. Der Formfaktor des Geräts oder das Produktdesign haben Einfluss darauf, ob Sie die Eingabeaufforderung anzeigen möchten. Wenn Sie die Eingabeaufforderung ausblenden, wird der Modus nicht umgeschaltet. (Das heißt, wenn der Tablet-Modus eingeschaltet ist, bleibt er eingeschaltet, und wenn der Tablet-Modus ausgeschaltet ist, bleibt er ausgeschaltet). Wenn Sie möchten, dass die Eingabeaufforderung angezeigt wird, wenn das Hardware-Ereignis eintritt, müssen Sie eine Hardware- oder Softwarelösung implementieren, um diese Einstellung umzuschalten. |
|
|
Mit der Einstellung SignInMode legen Sie fest, ob die Anzeige nach der Anmeldung eines Benutzers in den Tablet-Modus oder in den Desktop-Modus versetzt werden soll. Wenn Sie diesen Wert nicht explizit festlegen, ist der Standardwert Tablet, wenn die Bildschirmgröße weniger als 10 Zoll beträgt und Ihr bevorzugtes Energieverwaltungsprofil (Energieplattformrolle) Slate ist (d. h. ein Tablet-Formfaktor). Andernfalls gilt die zuletzt verwendete Einstellung als Standard. Wenn es keine vorherige Einstellung gibt, gilt die zuletzt verwendete Einstellung als Desktop. |
|
|
Mit der Einstellung DeviceForm legen Sie fest, dass eine Reihe von Apps (z. B. Bing und Cortana) den richtigen Inhalt für den angegebenen Geräteformfaktor ermitteln können. Sie verwenden diese Einstellung auch für Funktionen wie den Demo-Modus für den Einzelhandel, um den am besten geeigneten Demo-Inhalt für den Gerätetyp festzulegen. |
Es sind 30 Werte möglich. Die wichtigsten Werte sind unten aufgeführt:
|
Verhalten des „Tablet-Modus“
Um ein großartiges Tablet-Erlebnis in Windows zu erreichen, sind die folgenden Desktop-Aspekte der Taskleiste für den Tablet-Modus optimiert:
- Laufende Apps anzeigen - dies legt den Nutzern nahe, dass sie den Lebenszyklus ihrer laufenden Apps verwalten müssen.
- Mehrere Zugangspunkte zum Desktop - ein Tablet-Benutzer braucht keinen einfachen Zugriff auf den Desktop im „Tablet-Modus“.
- Ein dichtes Layout in der Taskleiste - hier können mehr Elemente untergebracht werden, aber im „Tablet-Modus“ ist die Berührung wahrscheinlich die wichtigste Eingabe und erfordert ein weniger dichtes Layout.
- Anzeige von Deskbands und Win32-Benachrichtigungssymbolen auf der obersten Ebene und der Überlaufebenel - die meisten dieser Symbole werden vom Benutzer nicht absichtlich dort platziert und werden nicht häufig verwendet.
Rotationssperre
Die Drehungssperre wird standardmäßig auf aktiviert (oder gesperrt) gesetzt. Wenn die OEMs die Drehungssperre nicht auf „entsperrt“ stellen, könnten Kunden, die neue Tablets auspacken, frustriert sein, weil OOBE sich nicht ins Hoch- oder Querformat dreht, je nachdem, wie sie ihr neues Gerät halten. Durch die Deaktivierung der Drehungssperre können OEMs sicherstellen, dass ihre Kunden von der Reaktionsfähigkeit ihrer neuen Geräte begeistert sind, noch bevor sie die einfache Verwaltung der Drehungssperre im Bereich der Schnellaktionen des Aktionszentrums entdecken.
So setzen Sie die Drehungssperre auf deaktiviert und aktivieren die Drehung standardmäßig:
- Setzen Sie im Prüfungsmodus HKLM\Software\Microsoft\Windows\CurrentVersion\AutoRotation\Enable auf 1, wobei 1 bedeutet, dass die Drehung aktiviert ist.
- Verwenden Sie Sysprep, um den Computer für den Kunden vorzubereiten, wie Sie es normalerweise tun würden.
Symbole des Benachrichtigungsbereichs
Wenn Sie in den Tablet-Modus wechseln, ändert sich der Benachrichtigungsbereich in mehrfacher Hinsicht. Die folgenden Symbole werden angezeigt:
- Akku
- Netzwerk
- Volume
- Info-Center
Genauer gesagt, wenn der Benutzer eines dieser vier Symbole in den Überlauf zurückversetzt hat, wird es wieder auf die oberste Ebene gebracht, oder wenn der OEM das Batteriesymbol in den Überlauf zurückversetzt hat, wird es wieder auf die oberste Ebene gebracht.
Wenn der Kunde jedoch eines dieser Symbole in den Einstellungen unter Systemsymbole ein- oder ausschalten (siehe unten) deaktiviert hat, folgt Windows der manuellen Einstellung des Kunden und aktiviert das Symbol nicht.
OEM-gepinnte Benachrichtigungssymbole werden ausgeblendet, Benutzer-gepinnte Benachrichtigungssymbole werden ausgeblendet, und der Überlauf-Chevron wird ausgeblendet, wodurch das Überlauffenster effektiv ausgeblendet wird.
Die automatische Promotion von Benachrichtigungssymbolen auf die oberste Ebene wird blockiert, aber Anwendungen sollten weiterhin in der Lage sein, eine Toast-Benachrichtigung auszulösen, auch wenn das Symbol die oberste Ebene nicht erreichen kann. Die einzige Ausnahme ist das Symbol für die Standortdienste. Wenn es unter Systemsymbole ein- oder ausschalten aktiviert ist, kann es sich in die oberste Ebene links neben dem Batteriesymbol einordnen. Wenn der Benutzer jedoch das Symbol für die Ortungsdienste manuell über die Einstellung Systemsymbole ein- oder ausschalten deaktiviert hat, erzwingt Windows nicht die Aktivierung des Symbols.
Wenn Kunden die Einstellung Immer alle Symbole im Infobereich anzeigen wählen, wird das oben beschriebene Verhalten deaktiviert, und der Infobereich kehrt zum gleichen Inhalt und Verhalten zurück, als ob der Tablet-Modus nicht verwendet würde.
Touch-Tastatur-Taste
Wenn Sie in den Tablet-Modus wechseln, wird die Touch-Tastatur-Taste ausgeblendet. Ihre Sichtbarkeit kann über die Einstellung Touch-Tastatur-Schaltfläche anzeigen im Kontextmenü der Taskleiste im Tablet-Modus gesteuert werden.
App-Symbole
Standardmäßig werden die Anwendungssymbole in der Taskleiste im Tablet-Modus ausgeblendet. Dies wird über die Einstellung Anwendungssymbole in der Taskleiste im Tablet-Modus ausblenden gesteuert:
Erstellen einer Anwendung, die mit APIs für den Tablet-Modus interagiert
Sie können die Vorteile des Tablet-Modus nutzen, indem Sie Universal Windows Platform (UWP) und Classic Windows APIs in Ihren Anwendungen verwenden. Mithilfe dieser APIs können Sie die Benutzererfahrung Ihrer App so anpassen, dass sie für den Tablet-Modus berührungsorientiert oder für die Desktop-Nutzung mausorientiert ist. In diesem Abschnitt wird beschrieben, wie Sie sowohl die UWP- als auch die Classic Windows-APIs in Ihren Anwendungen verwenden, um den Tablet-Modus zu erkennen und darauf zu reagieren.
Die APIs ermöglichen es sowohl Windows-Desktop-Anwendungen als auch Universal Windows Apps, den aktuellen Interaktionsmodus abzufragen und auf Änderungen des Modus zu reagieren, wie hier beschrieben.
Klassische Windows-Apps APIs
UIViewSettings | Ermöglicht Anwendungen den aktuellen Status der Zeigergeräteeinstellungen des Systems für eine bestimmte Anwendung abzufragen. Es handelt sich um eine nicht aktivierbare Klasse, die Sie von GetForCurrentView erhalten. |
UserInteractionMode | Eigenschaft von GetForWindow, die einen Wert in der Aufzählung Windows.UI.ViewManagement.UserInteractionMode annimmt, deren zulässige Werte Touch und Mouse sind. |
WM_SETTINGSCHANGE | Apps werden benachrichtigt, wenn sich der aktuelle Eingabezustand ändert, indem WM_SETTINGSCHANGE mit „UserInteractionMode“ übertragen wird. |
Universelle Windows-Apps APIs
UIViewSettings | Ermöglicht Anwendungen den aktuellen Status der Zeigergeräteeinstellungen des Systems für eine bestimmte Anwendung abzufragen. Es handelt sich um eine nicht aktivierbare Klasse, die Sie von GetForCurrentView erhalten. |
UserInteractionMode | Eigenschaft von UIViewSettings, die einen Wert aus der Aufzählung Windows.UI.ViewManagement.UserInteractionMode annimmt, deren zulässige Werte Touch und Mouse sind. |
SizeChanged | Ereignis wird ausgelöst, wenn sich der aktuelle Eingangszustand ändert. Apps sollten für dieses Ereignis abfragen. |
Beispiel 1: Optimierung des Layouts beim Start der App
Wenn eine App gestartet wird, kann sie den aktuellen Zustand des Systems abfragen und ihr Layout für den aktuellen Interaktionsmodus optimieren, wie im folgenden Beispiel.
Universal Windows App (C#) Beispiel
using Windows.UI.Xaml;
using Windows.UI.ViewManagement;
public sealed partial class MainPage : Page
{
public MainPage()
{
InitializeComponent();
// Every view gets an initial SizeChanged, so we will do all our
// work there. This means that our view also responds to dynamic
// changes in user interaction mode.
Window.Current.SizeChanged += SizeChanged;
}
private void SizeChanged(object sender, RoutedEventArgs e)
{
switch(UIViewSettings.GetForCurrentView().UserInteractionMode)
{
case UserInteractionMode.Mouse:
VisualStateManager.GoToState(this, "MouseLayout", true);
break;
case UserInteractionMode.Touch:
default:
VisualStateManager.GoToState(this, "TouchLayout", true);
break;
}
}
}
Classic Windows App (C++) Beispiel
using namespace Microsoft::WRL::Wrappers;
using namespace Microsoft::WRL;
HRESULT OnLayout()
{
ComPtr<IUIViewSettingsInterop> uiViewSettingsInterop;
HRESULT hr = GetActivationFactory(
HStringReference(RuntimeClass_Windows_UI_ViewManagement_UIViewSettings).Get(),
&uiViewSettingsInterop);
if (SUCCEEDED(hr))
{
ComPtr<IUIViewSettings> uiViewSettings;
hr = uiViewSettingsInterop->GetForWindow(hwndApp, IID_PPV_ARGS(&uiViewSettings));
if (SUCCEEDED(hr))
{
Windows::UI::ViewManagement::UserInteractionMode mode;
hr = uiViewSettings->get_UserInteractionMode(&mode);
if (SUCCEEDED(hr))
{
switch (mode)
{
case UserInteractionMode_Mouse:
hr = LayoutForMouse();
break;
case UserInteractionMode_Touch:
default:
hr = LayoutForTouch();
break;
}
}
}
}
return hr;
}
Beispiel 2: Reaktion auf das Öffnen und Schließen des Tablet-Modus
Wenn Ihr Gerät in den Tablet-Modus wechselt oder diesen beendet, fordert die Shell den Benutzer auf, den Modus zu wechseln. Sie können dies als Auslöser verwenden, um Ihre App für den aktuellen Interaktionsmodus zu optimieren. Sie müssen den aktuellen Zustand des Systems abfragen, wie in den folgenden Beispielen.
Universal Windows App (C#) Beispiel
Wie in Beispiel 1.
Classic Windows App (C++) Beispiel
// WM_SETTINGCHANGE handler
void OnSettingsChange(LPARAM lParam)
{
if (lParam != 0)
{
PCWSTR message = reinterpret_cast<PCWSTR>(lParam);
if (CSTR_EQUAL == CompareStringOrdinal(message, -1, L“UserInteractionMode”, -1, TRUE))
{
OnLayout();
}
}
}
Häufig gestellte Fragen (FAQ)
# | Frage | Antwort |
---|---|---|
1 | Ändert sich die Dateizuordnung, wenn sich das Gerät im „Tablet-Modus“ befindet? | Nein, Windows wird keine Dateizuordnungen ändern, da alle Apps im „Tablet-Modus“ unterstützt werden. |
2 | Erfolgt die automatische Aufforderung zum Öffnen und Schließen des „Tablet-Modus“ beim Einstecken einer externen USB-Tastatur? | Nein, die automatische Eingabeaufforderung wird durch das Umschalten des ConvertibleSlateMode-Wertes ausgelöst, nicht durch das Vorhandensein einer Tastatur. |
3 | Was führt dazu, dass der „GPIO Laptop oder Slate Indikator-Treiber“ im Gerätemanager angezeigt wird? | Wenn Sie PNP0C60 (Statusanzeige für den Laptop-/Slate-Modus) definieren, wird der Treiber im Geräte-Manager angezeigt. Sie müssen im Geräte-Manager die Option „Verstecktes Gerät anzeigen“ wählen, um diesen Treiber anzuzeigen. |
4 | Können wir reine All-in-Ones (AiO) mit externer Tastatur und Maus verwenden, um das gleiche Szenario zu ermöglichen? | Ja, AiOs können die Vorteile des „Tablet-Modus“ nutzen, indem sie ConvertibleSlateMode implementieren, das an dem für die Hardware geeigneten Übergangspunkt umschaltet. |
5 | Wird die Touch-Tastatur automatisch deaktiviert, wenn der „Tablet-Modus“ deaktiviert ist? | Die Touch-Tastatur wird nur im „Tablet-Modus“ automatisch aktiviert. Bei der Desktop-Nutzung muss die Touch-Tastatur manuell aufgerufen werden. Wenn sich ein Benutzer nicht im „Tablet-Modus“ befindet, aber die Tastatur vom Gerät entfernt, wird die Touch-Tastatur angezeigt. |
6 | Wird eine Bluetooth-Tastatur als „Dock“ betrachtet? | Nein, eine Bluetooth-Tastatur wird nicht als „Dock“ betrachtet, da dieses Szenario nicht immer zutrifft. Der Tablet-Modus verwendet niemals das Vorhandensein einer Tastatur (USB, Bluetooth usw.), um eine Eingabeaufforderung auszulösen. Sie können ein abnehmbares Bluetooth-Design implementieren, indem Sie den ConvertibleSlateMode zu gegebener Zeit umschalten. |
7 | Win32-Apps: Muss eine Win32-App mit den APIs der Universal Windows Platform (UWP) kompiliert werden, damit sie die Vorteile des Tablet-Modus nutzen kann? | Win32-Apps verfügen über eine Win32-spezifische API, die sie nutzen können, um zwischen Touch-First- und Mouse-First-Nutzung zu wechseln. |
8 | Müssen wir als Anwendungsentwickler eine API aufrufen, um den Wechsel zwischen Tablet- und Desktop-Modus zu handhaben? Oder wird dies von Windows automatisch erledigt? | Wenn Sie das Layout innerhalb Ihrer Anwendung ändern möchten, müssen Sie entweder eine UWP-API oder eine Win32-API verwenden, um den „Tablet-Modus“ anzugeben. Die tatsächliche Größenänderung der Anwendung beim Öffnen und Schließen des „Tablet-Modus“ wird automatisch durchgeführt. |
9 | Mein System implementiert ConvertibleSlateMode, aber Zustandsübergänge führen nicht zu einer Aufforderung, den „Tablet-Modus“ zu aktivieren bzw. zu deaktivieren. | Wenn Ihr 2-in-1-Gerät den ConvertibleSlateMode korrekt umschaltet, das System Sie aber nicht auffordert, den „Tablet-Modus“ zu aktivieren oder zu deaktivieren, ist die Funktion möglicherweise deaktiviert. Um den Tablet-Modus zu aktivieren, gehen Sie zu Einstellungen\System\Tablet-Modus. Wählen Sie in der Dropdown-Liste „Wenn mein Gerät den Modus wechseln möchte“ und wählen Sie „Immer zur Bestätigung auffordern“. |
10 | Brauchen wir für Tablets einen virtuellen Treiber, wenn GPIO unterstützt wird? Wenn GPIO verfügbar ist, sind dann irgendwelche BIOS-Änderungen erforderlich? | Sie haben die Wahl zwischen dem physischen GPIO und dem Injektionstreiber-Ansatz. Solange Sie den ConvertibleSlateMode richtig umschalten, sind keine Änderungen erforderlich. Wichtig: Die Implementierung von ConvertibleSlateMode in Windows 10 unterscheidet sich von Windows 8.1. Sie müssen Ihr Gerät gründlich testen, um ein korrektes Verhalten sicherzustellen. |
11 | Gibt es Anforderungen oder Änderungen am UEFI-BIOS zur Unterstützung des Tablet-Modus? | Es sind keine Änderungen am UEFI-BIOS zur Unterstützung des Tablet-Modus erforderlich. Sie können den ConvertibleSlateMode auf die für Sie am besten geeignete Weise umschalten. |
12 | Ist die Bildschirmdrehung an den Tablet-Modus gebunden? | Nein, die Bildschirmdrehung ist nicht unbedingt mit dem Tablet-Modus verbunden. Die Bildschirmdrehung hängt von der aktuellen Gerätekonfiguration ab, die sich unter Umständen darauf bezieht, ob sich das Gerät im „Tablet-Modus“ befindet oder nicht. |
13 | Was passiert, wenn sich die Taskleiste auf der linken Seite befindet? | Die Taskleiste bleibt an der ursprünglichen Position. |
14 | Gibt es Pläne für ein Szenario, in dem das System den Tablet-Modus automatisch auf der Grundlage des vom System gemeldeten Laptop- oder Slate-Modus aktiviert oder deaktiviert, ohne dass der Endkunde eine Bestätigung erhält? | Wird nicht unterstützt. Wir wollen, dass die Nutzer immer die Kontrolle haben und selbst entscheiden können, ob sie den Modus wechseln wollen. Die Benutzer können dies auf Wunsch außer Kraft setzen. |
15 | Wird die Benutzeroberfläche, die zum „Aktivieren des Tablet-Modus“ auffordert, geändert? Haben Sie vor, ein Kontrollkästchen hinzuzufügen, mit dem der Benutzer entscheiden kann, ob er „diese Aktion jedes Mal ausführen möchte“? | Ja, es ändert sich gegenüber dem jetzigen Design. Sie sollte eine „Ja/Nein“-Schaltfläche und eine Dropdown-Liste enthalten, aus der der Benutzer auswählen kann, was beim nächsten Mal geschehen soll (z. B. „Immer prompt“ und mehr). |
16 | Können Sie zeigen, wo sich die globale Zurück-Taste im Tablet-Modus befindet? | Es befindet sich neben der Start-Taste. |