XAML Direct X 通用应用中的键盘布局处理
Keyboard layout handling in XAML Direct X Universal app
我想在聊天框等通用应用程序 (Direct X + XAML) 中添加文本输入。目前,我正在使用
Window::Current->CoreWindow->KeyUp += ref new TypedEventHandler<CoreWindow^, KeyEventArgs^>(this, &MainPage::OnKeyUp);
Window::Current->CoreWindow->KeyDown += ref new TypedEventHandler<CoreWindow^, KeyEventArgs^>(this, &MainPage::OnKeyDown);
捕获单个按键并处理它们以形成要显示的文本。问题是我不知道如何考虑键盘布局(例如法语、德语)。 class Windows::UI::Core::KeyEventArgs 没有提供太多信息。这个基本问题应该有一个简单的解决方案吗?如何获取原始键盘输入并根据键盘布局将它们转换为 Unicode 字符? (我相信在 Win32 上应该有一个解决方案。不幸的是,Microsoft 的 Direct X 示例仅考虑触摸屏非物理键盘场景;与他们在 Windows 10 中宣传的 Continuum/Universal 方法相反.)
注意:我不想在 Direct X SwapChainPanel
.[=15= 之上使用像 showing/hiding a XAML EditBox
这样的 hack-ish 解决方案]
翻译的字符在 CoreWindows::CharacterReceived 事件中提供。
按键事件仅报告按键,不报告字符,并且没有足够的数据转换为字符,尤其是对于复杂字符和非键盘输入。
我想在聊天框等通用应用程序 (Direct X + XAML) 中添加文本输入。目前,我正在使用
Window::Current->CoreWindow->KeyUp += ref new TypedEventHandler<CoreWindow^, KeyEventArgs^>(this, &MainPage::OnKeyUp);
Window::Current->CoreWindow->KeyDown += ref new TypedEventHandler<CoreWindow^, KeyEventArgs^>(this, &MainPage::OnKeyDown);
捕获单个按键并处理它们以形成要显示的文本。问题是我不知道如何考虑键盘布局(例如法语、德语)。 class Windows::UI::Core::KeyEventArgs 没有提供太多信息。这个基本问题应该有一个简单的解决方案吗?如何获取原始键盘输入并根据键盘布局将它们转换为 Unicode 字符? (我相信在 Win32 上应该有一个解决方案。不幸的是,Microsoft 的 Direct X 示例仅考虑触摸屏非物理键盘场景;与他们在 Windows 10 中宣传的 Continuum/Universal 方法相反.)
注意:我不想在 Direct X SwapChainPanel
.[=15= 之上使用像 showing/hiding a XAML EditBox
这样的 hack-ish 解决方案]
翻译的字符在 CoreWindows::CharacterReceived 事件中提供。
按键事件仅报告按键,不报告字符,并且没有足够的数据转换为字符,尤其是对于复杂字符和非键盘输入。