물리적으로 연결된 키보드는 PC에서 일반적인 가정이지만 게임 패드 및 터치와 같은 새로운 입력 양식은 이 가정에 도전합니다. 이는 핸드헬드 및 콘솔 게이머에게 특히 중요합니다. 플랫폼에 따라 가상 키보드를 불러올 수 있는 다양한 솔루션이 있습니다. 타이틀은 자체 가상 키보드를 구현하고 만들 수 있지만, 시스템은 플랫폼에 최적화된 자체 가상 키보드 대안을 제공하고 모든 게임에서 일관된 사용자 환경을 제공합니다.
Windows에서는 TryShow 새 CoreInputViewKind::Gamepad 옵션으로 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는 가상 키보드를 사용하여 텍스트 입력을 처리하는 두 가지 솔루션을 제공합니다. 대부분의 게임에서 최상의 솔루션은 XGameUiShowTextEntryAsync에 의존하는 것입니다. 여러 줄 텍스트 또는 1024자 이상의 입력을 렌더링해야 하는 게임의 경우 XGameUiTextEntryOpen을 사용할 수 있습니다.
다음 표는 이 두 가지 솔루션을 비교한 것입니다.
| 설명 | XGameUiShowTextEntryAsync | XGameUiTextEntryOpen |
|---|---|---|
| 다중 회선 지원 | 아니요 | 예 |
| 최대 문자 수 | 1024 | 1024 * 32 |
| 입력 포커스 | 가상 키보드가 입력 포커스를 얻음 | 가상 키보드가 입력 포커스를 얻음 |
| 포지셔닝 | 자위 | 게임에 의한 포지셔닝 |
| 텍스트 렌더링 | 가상 키보드로 처리 | 게임에서 처리 |
| 클라우드 스트리밍 동작 | 클라이언트에서 가상 키보드 활용 | 스트리밍 서버에서 렌더링 |
참고 항목
Windows 핸드헬드 디바이스의 GDK 게임 검사 목록 - 확인 3: 텍스트 입력XGameUiShowTextEntryAsync
XGameUiTextEntryOpen