I was digging through the MonoGame source code, and I noticed there’s a KeyboardInput class which looks like it solves a problem that I would like a solution to, which is to be able to popup a keyboard input dialog, especially on platforms where we don’t expect a hardware keyboard, eg. iOS, Android, XBox.
The source file is currently excluded from the MonoGame.Framework.DesktopGL project, and I see there is no corresponding implementation in Platforms/Input. It looks like this code hasn’t been touched in a while. Are there any plans to implement this? Were there particular challenges to creating an implementation for DesktopGL, (aside from the obvious one that there is no OS onscreen keyboard that can be invoked)?
Actually I want to expand on my question. I’m using a .NET standard library as the central location for my game code, with separate projects for DesktopGL, UWP, Android, etc. Because this is missing from MonoGame.Framework.DesktopGL, I can’t use any KeyboardInput functions from my shared core library.
Working implementations for onscreen keyboard input for each platform seems like a pretty valuable thing. I’d be plenty happy if on DesktopGL there was something like KeyboardInput.IsSupported = false
and I could build separate code paths for platforms where MonoGame supports this. I could create my own singleton-type interface to plugin the implementation for each platform, but it seems a shame to do so when it’s already 99% complete within MonoGame.
Any thoughts?