Thank you for responding, I'm surprised that no one has already written a DirectInput backend that's been incorporated into the project. I'll look into doing that.
As far as DesktopGL.CORE, I'm having issues loading png images through Texture2D.FromStream. I can load some images, but the more complex background images I need cause the call to crash. I don't have the monogame sourcecode yet, so not exactly sure where it's dying. I've tried both 24 and 32 bit versions of the images I need, and I can't get them to load without crashing. Is there documentation of exactly what png sizes and formats are supported in DestopGL.CORE?