Entrée clavier portable tamponnée pour XNA / MonoGame?

11

Comme solution préliminaire, j'utilise actuellement le framework Nuclex dans un projet de jeu C # / XNA pour une entrée clavier tamponnée. Malheureusement, nuclex s'appuie sur SlimDX.Directinput.dll et, par conséquent, à ma connaissance, ne peut être utilisé que sous les systèmes d'exploitation Windows. Cependant, j'utilise MonoGame pour cibler d'autres plates-formes (Linux, OSX, etc.) et je cherche donc un moyen portable d'intégrer les entrées de clavier tamponnées sur toutes les plates-formes. Y a-t-il?

ares_games
la source
N'existe pas encore en tant que bibliothèque. Les gens l'ont fait pour Mac et Linux lors du portage de ma bibliothèque gui sur monogame et j'essaie d'amener les gens à contribuer leur code.
ClassicThunder

Réponses:

4

SharpInputSystem a été créé dans ce but précis. Il fournit un moyen portable d'accéder au clavier et à la souris sur la plupart des plates-formes et au GamePad / Joystick sur quelques autres. En toute divulgation, je suis l'auteur, mais j'avais besoin d'une bibliothèque similaire pour les échantillons que je fournis avec Axiom.

Il peut être nécessaire de le modifier pour charger correctement les assemblys MonoGame, je charge actuellement les bibliothèques Xna dynamiquement pour éviter une dépendance à un nom fort. Je peux soit envisager de faire ces changements si vous le souhaitez, soit si vous en avez envie, soumettre un patch une fois que vous l'avez fait fonctionner.

borrillis
la source
1
Bon effort mais pas une vraie réponse car il n'est pas utilisable à ce stade sans travail important.
ashes999
0

Bien qu'il ne soit pas correctement portable (c'est uniquement pour Windows et Linux). MonoGame a un événement pour la saisie de texte qui utilise une entrée clavier correctement tamponnée.

MonoGame.Framework / GameWindow.cs

    /// Use this event to retrieve text for objects like textbox's.
    /// This event is not raised by noncharacter keys.
    /// This event also supports key repeat.
    /// For more information this event is based off:
    /// http://msdn.microsoft.com/en-AU/library/system.windows.forms.control.keypress.aspx
    /// </summary>
    /// <remarks>
    /// This event is only supported on the Windows DirectX, Windows OpenGL and Linux platforms.
    /// </remarks>
    public event EventHandler<TextInputEventArgs> TextInput;
ClassicThunder
la source