IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Gestion événement Clavier


Sujet :

C++

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 56
    Par défaut Gestion événement Clavier
    Bonjour a tous!
    Je cherche à gérer les évènements clavier en C ou C++, la seule solution que j'ai trouvé c'est la SDL.
    Mais avant de me lancer la dedans, je voulais savoir si s'était la meilleure solution ou si il y a mieux.
    Existe t-il un gestionnaire d’évènement Clavier de base en C ?
    NB: J'aimerais rendre mon programme portable, il me faut donc un gestionnaire portable.

    Merci d'avance,
    Cordialement.

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Salut,

    Tout dépend de ce que tu veux faire de ton clavier

    Si tu veux "juste" une application en "mode console" et pouvoir demander à l'utilisateur d'introduire des données, il ne te faut rien de plus que cin, qui est dores et déjà disponible dans l'espace de noms std par inclusion du fichier <iostream>

    Si tu veux créer une application "2D" "classique" (avec ses formulaire, ses champs à remplir et autres joyeusetés, voir, avec des aires de dessin dynamique), Qt est un choix particulièrement judicieux car elle offre de très nombreuses fonctionnalités.

    Si, enfin, tu veux gérer tes événement claviers dans un environnement "3D" (par exemple, dans un jeu utilisant OpenGl), Qt ou toute autre bibliothèque haut niveau comme SFML me semblent être de bien meilleurs choix que SDL
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Le but est effectivement important. Autre chose importante à connaître (pour te conseiller) : la plateforme, et le degré de fonctionnalités souhaitées.

    Si tu n'a besoin que d'une vision très bas niveau, Windows et Linux proposent différents moyens pour recevoir des évènements clavier.

    Sous Windows, on peut demander l'état d'une touche avec la fonction GetAsyncKeyState() (http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx). L'état complet du clavier peut être obtenu avec la fonction GetKeyboardState() (http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx). Ces deux fonctions sont dites "immédiates". Elles donne un apperçu à un instant T de l'état d'une touche ou du clavier complet - cet état étant "telle touche est appuyée" ou "telle touche est relachée". Elles ne diront pas "l'utilisateur a appuyé et relaché la touche A depuis le dernier appel", ce qui te forcera à réaliser un certain filtrage pour obtenir les entrées utilisateur. Mais si ces entrées ne t'intéressent pas, alors tu peux les utiliser librement.

    Si tu souhaites obtenir les information "l'utilisateur a appuyé sur A", "l'utilisateur a relaché SHIFT", alors il te faudra passer par les message WM_KEYUP et WM_KEYDOWN. Si seuls les caractères t'intéressent, il te faudra utiliser le message WM_CHAR.

    Sous Linux, c'est tout à fait possible d'obtenir l'état d'une touche ou du clavier, mais c'est un peu plus compliqué. Dans l'idée, il faut ouvrir un device clavier et envoyer une commande IOCTL à ce device. Le device clavier est le fichier dans /dev/input/eventN. L'utilisation de cette interface système n'est pas compliquée en soi (cf. cet article du LJ pour un peu d'aide : http://www.linuxjournal.com/article/6429?page=0,0).

    Sous MacOSX, je ne peux point aider. Cependant, il devrait être possible de trouver la réponse pas très très loin d'ici
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. Gestion des événements clavier
    Par Tekkk dans le forum Débuter
    Réponses: 0
    Dernier message: 07/04/2011, 15h00
  2. [WD15] Gestion des événements clavier dans une fenêtre.
    Par dvdbly dans le forum WinDev
    Réponses: 3
    Dernier message: 20/09/2010, 08h58
  3. [WD14] Gestion évènements clavier
    Par thierrybatlle dans le forum WinDev
    Réponses: 0
    Dernier message: 02/06/2009, 09h39
  4. Librairie gestion évènements clavier
    Par Poisson_Pilote dans le forum Ada
    Réponses: 2
    Dernier message: 29/10/2007, 08h54
  5. [MFC][VC++.NET]gestion évènement clavier
    Par Rafoo dans le forum MFC
    Réponses: 2
    Dernier message: 14/12/2005, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo