次の方法で共有


仮想キーボードへの対応

PC ではキーボードが物理的に接続されていることが一般的に想定されていますが、ゲームパッドやタッチ入力などの新しい入力モダリティの場合、この想定に異議が唱えられます。 これは、ハンドヘルドと本体を使用するゲーマーにとって特に重要です。 プラットフォームに応じて、仮想キーボードを起動するためのさまざまなソリューションがあります。 タイトルは独自の仮想キーボードを実装して作成できますが、システムは、プラットフォーム用に最適化された独自の仮想キーボードの代替手段を提供し、すべてのゲームで一貫したユーザー エクスペリエンスを提供します。

Windows では、新しい CoreInputViewKind::Gamepad オプションを使用して TryShow API を活用できます。 その後、TryHide API を使用して、不要なときにキーボードを閉じることができます。 これは、次のコード サンプルに示されています。

#include <winrt/windows.ui.viewmanagement.core.h>
using namespace winrt::Windows::UI::ViewManagement::Core;

// CoreInputViewKind::Gamepad enum requires headers from 26100.3624 Windows SDK or greater
// Otherwise, use static_cast<CoreInputViewKind>(7) for earlier SDKs

CoreInputView::GetForCurrentView().TryShow(CoreInputViewKind::Gamepad));

CoreInputView::GetForCurrentView().TryHide();

本体の場合、GDK には仮想キーボードを使用したテキスト入力を処理するための 2 種類のソリューションがあります。 ほとんどのゲームでは、XGameUiShowTextEntryAsync を利用することを最もお勧めします。 複数行のテキストや 1024 文字以上の入力をレンダリングする必要があるゲームの場合、XGameUiTextEntryOpen に依存することができます。

この 2 つのソリューションの比較は、以下の表のとおりです。

説明 XGameUiShowTextEntryAsync XGameUiTextEntryOpen
マルチライン サポート いいえ はい
最大文字数 1024 1024 * 32
入力フォーカス 仮想キーボードで入力フォーカスを取得する 仮想キーボードで入力フォーカスを取得する
配置 修正済みの位置 ゲーム単位での配置
テキスト レンダリング 仮想キーボードで処理します。 ゲーム単位で処理済み
クラウド ストリーミングの動作 クライアントに仮想キーボードを活用する ストリーミング サーバー単位でレンダリング済み

関連項目

Windows ハンドヘルド デバイス上の GDK ゲームのチェックリスト - チェック 3: テキスト入力XGameUiShowTextEntryAsync
XGameUiTextEntryOpen