So im trying to make a cross-platform game using C# .net, mono and monogame.

I'm trying to make a textbox UI control for my game, I can do all the graphics and mouse handling for UI controls but the only problem I have is the actual text input for textbox's.

I used to use Promits oldish 32-bit code located here (promits post) and here (tutorial on how to use), the problem is though I want to develop a game that has the ability to run on Windows, Mac OS and Linux. And its obvious that code wont work on Linux or Mac.

I'm looking for a way that will allow for text input (including cmd inputs - so i can handle things like tab and control v), which will work on windows/mac and linux.

Even if there are any ideas on how to solve this that are specific for each platform that would be greatly appreciated.

(The KeyboardState class in XNA/MonoGame wont suffice for such a implementation that I want - a real working textbox).

All replies are appreciated, thanks.

Xanather.

Edit: probably should have put this in the general programming forum since its to do with acquiring text/keyboard input on OS's, can a moderator move if possible?

Not familiar with how Monogame handles input, but "rich" keyboard input is not trivial when you start factoring in localization. You will likely have to write input handling for each OS you want to support.

monogame has API functions for keyboard input, use them to check what key is pressed?

Yes it does, but its not good for actual typing/inputting text. It requires polling, and if the update rate for the game is not high enough some keys may be missed. You also have to handle all the shift/caps modifiers yourself, keep track of previously pressed keys, etc... Just not worth it, thanks though.

Not familiar with how Monogame handles input, but "rich" keyboard input is not trivial when you start factoring in localization. You will likely have to write input handling for each OS you want to support.