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 :

Récupérer un caractère saisi au clavier sans utiliser la touche entrer


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Récupérer un caractère saisi au clavier sans utiliser la touche entrer
    Salut à tous,

    Je suis nouvelle ici et en programmation C. Je me suis inscrite pour avoir de l'aide. J'ai passé ma journée à chercher une solution à mon problème...Sans succès.

    Mon problème : Je souhaiterais récupérer un caractère saisie au clavier sans utiliser la touche "entrer". Je programme en C sur Linux à l'aide d'Eclipse.

    J'ai vu un peu partout sur le web que l'on pouvait utiliser les bibliothèques curses.h, terminos,... Le soucis c'est que je n'arrive pas inclure ces bibliothèques dans mon programme. Peut-être qu'il faudrait les télécharger quelque part

    J'aimerais aussi être un peu plus au courant. Sur le net il disent d'utiliser telle ou telle fonction, que j'ai essayé d'ailleurs, mais il ne précise pas toujours quelle bibliothèque utilisée.

    Merci d'avance pour votre aide,

    Lexxx.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 400
    Points : 23 776
    Points
    23 776
    Par défaut
    Bonjour et bienvenue.

    Ces difficultés sont dues au fait que ton programme ne lit pas directement le clavier mais « l'entrée standard », laquelle peut provenir de n'importe quoi mais, par défaut, du terminal utilisé par l'utilisateur.

    C'est ce terminal qui bufferise par défaut les lignes saisies, de manière à les envoyer en une fois et permettre à l'utilisateur de les éditer si besoin (faute de frappe, par exemple). C'est donc avec ce terminal qu'il faut dialoguer pour lui demander de modifier son comportement par défaut.

    Dans un premier temps, tu peux essayer de désactiver le mode canonique à la main en tapant stty -icanon dans ton terminal avant d'y lancer ton programme. Cela devrait suffire à te faire recevoir directement les caractères. Par la suite, tu pourras utiliser termios ou curses/ncurses pour le faire si nécessaire.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 896
    Points : 219 628
    Points
    219 628
    Billets dans le blog
    125
    Par défaut
    Bonjour,

    Je ne suis pas sur de ce que je vais dire, mais je crois que là ou je travaille, il faut un read de stdin) ( Read est la commande système ).
    Du moins, nous on a les touches avec un accès direct ( je veux dire, que l'on attend pas le retour chariot )

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 400
    Points : 23 776
    Points
    23 776
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Du moins, nous on a les touches avec un accès direct ( je veux dire, que l'on attend pas le retour chariot )
    Comme dit plus haut, ça dépend de l'équipement qui t'envoie ces caractères (donc de la configuration du terminal).

Discussions similaires

  1. Réponses: 10
    Dernier message: 06/07/2009, 13h56
  2. OnTextChanged sans utiliser la touche Entrer
    Par levince10 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 22/07/2008, 16h58
  3. Saisie au clavier sans appuyer sur Entrée
    Par Invité dans le forum Général Python
    Réponses: 1
    Dernier message: 14/05/2008, 15h23
  4. Simulation clavier sans utilisation d'api?
    Par taurus67 dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 30/07/2007, 22h26
  5. [C#] mémoriser les caractères saisis au clavier
    Par tiboleo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 04/06/2006, 12h25

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