Windows IoT 上的 Windows 通用应用程序中的屏幕键盘?

On-screen keyboard in Windows Universal App on Windows IoT?

是否可以在 Windows 10 IoT Core 上的 Windows 通用应用程序中显示屏幕键盘 (osk)? raspberry pi 只连接了一个鼠标,当我点击一个文本框时,我想显示 osk。

我可以设置 InputScope 和 IsTextPredictionEnabled,但不知道如何触发 osk 显示。

我 7 月份在 MSDN 论坛上问过这个问题。我得到的答案是:

“这里已经回答了:

https://social.msdn.microsoft.com/Forums/en-US/d81ebfa0-ccdc-479e-8e2f-bc921de17343/onscreen-keyboard?forum=WindowsIoT

目前没有可用的屏幕键盘。有可能以后会添加一个,但不能保证。如果您阅读 linked post,您还会找到关于为什么 none 可用的解释。"

仅供参考,这里是 link 我问的 MSDN 问题:https://social.msdn.microsoft.com/Forums/en-US/9c95f424-f0ca-4751-9497-a019c1d40907/touch-keyboard?forum=WindowsIoT

这是来自 linked post 的答案:

“目前没有可用的屏幕键盘。如果您希望用户通过屏幕输入内容,那么您需要在应用程序中为该输入提供 UI。部分这样做的原因是我们没有像资源管理器那样的“shell”来帮助控制应用程序是什么 运行 或提供其他服务,例如在桌面上处理的 SIP / OSK .

从长远来看,我相信这是产品团队正在考虑/调查的事情,但我没有任何时间表来说明它是否或何时可能是一个选项(如果有的话)。如果我了解到其他情况,我会告诉你。

希望对您有所帮助。"

我想 post 我想出的解决方法,但我没有足够的代表点数来包含 2 个以上的链接。 所以我 post 将其作为另一个答案。

这是: 对于那些感兴趣的人,我写了一个非常基本的 osk-UI 元素示例。这个想法是创造一些可以在必要时重复使用的东西。它也不是最快的,但也许它会给你一些想法。 它基本上是 Popup 中的 UserControl。当文本框获得焦点时,它会触发一个事件,将 "Keyboard Popup" 的 DataContext 设置为文本框的 DataContext 并显示 "Keyboard".

我将其放入 .zip 文件并上传到我的 Box.com 帐户。

这是项目文件夹:https://app.box.com/s/vsf1wclaivsan4hhu2u2qdrb2awnbspu

这里有一个屏幕键盘的例子。如果你看一下他们在他们的网络浏览器中使用的示例。这是一个相当不错的键盘,但最好使用默认 windows 键盘

https://github.com/ms-iot/samples/tree/develop/DigitalSign

如果由我决定,我更喜欢默认的 OSK,因为您可以根据输入指定略有不同的键盘布局。我不喜欢这个,因为文本框失去了焦点,这会限制您可以使用的动作侦听器的使用。希望这是在未来版本中启用的东西,但现在这是一个非常好的键盘,你可以偷,所以你不必从头开始。

附带说明,您应该在 "Developer Platform/ Windows 10 IoT Core" 下的 Windows 反馈中投票。应该有一个开放的建议。

来自 https://social.msdn.microsoft.com/Forums/en-US/d81ebfa0-ccdc-479e-8e2f-bc921de17343/onscreen-keyboard?forum=WindowsIoT : -

There is one available (I think since 14986). You have to enable it in the device portal under "Device Settings" > "On-screen Keyboard".

Thursday, January 05, 2017 12:57 PM

中所述,如果您有最新版本,请从 Windows 设备门户检查屏幕键盘。