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 :

Intercepter un le signal d'une touche


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut Intercepter un le signal d'une touche
    Bonjour a tous !

    j'aimerais re-coder la touche TAB du shell, quand on appuie dessus, le shell écrit automatiquement la fin du nom de fichier/dossier que l'on a commence a écrire.

    Je pense pouvoir me débrouiller niveau parseur etc, bien que je ne sache pas encore comment je vais pouvoir l'intercepter pendant le read de l'entrée standard... Mais pour la syntaxe même du signal, j'ai qu'une vague idée...

    Si quelqu'un pouvait me donner ce petit coup de pouce, que je puisse me lancer, ce serrait vraiment sympa !

    Bonne journée.

  2. #2
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    En C standard tu ne peux pas récupérer les touches. Par contre tu peux utiliser la librairie curses.h ou les termcaps.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut
    Ouais je pense utiliser les termcaps, je vois a quoi ca ressemble, mais sans plus, je vais chercher quelques tutos, je reviendrai ensuite valider ou non la résolution de mon problème^^

    Bonne soirée !

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 477
    Par défaut
    Citation Envoyé par student_ Voir le message
    Ouais je pense utiliser les termcaps, je vois a quoi ca ressemble, mais sans plus, je vais chercher quelques tutos, je reviendrai ensuite valider ou non la résolution de mon problème^^

    Bonne soirée !
    Cependant, la « tabulation horizontale » fait partie du code ASCII : c'est le caractère numéro 9. Comme cette tabulation est faite, par définition, pour organiser des données sous forme de table (plus précisément, faire des colonnes en faisant avancer le curseur à la plus proche position multiple de n), ce code se retrouve directement dans les fichiers texte (notamment les *.csv) et, donc, est généralement envoyée telle quelle par le clavier.

    Par conséquent, si tu lis l'entrée standard avec fgetc(), par exemple, tu dois pouvoir reconnaître directement une tabulation si le caractère lu est égal à 9, et on doit même pouvoir considérer que c'est portable. Si ça ne l'est pas, c'est que c'est le système d'exploitation qui est en tort à ce niveau là.

  5. #5
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    Oui mais le problème c'est que pour récupérer quelque chose avec fgetc c'est qu'il faut appuyer sur entrée. Pour reproduire l'autocompletion ça me paraît difficile (enfin ça ne sera pas très joli).

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut
    Bonne idée pour le caractère en ascii ! Mais en effet ca risque d'être difficile a récupérer sans casser le read..

    Je vais essaye de faire une fonction qui read l'entrée standard caractère par caractère et qui check '\n' et 9 a chaque tour. J'avais déjà poste ici il y a quelques mois un code qui faisait ca, enfin qui essayait...^^

    Merci ! Bonne journée.

Discussions similaires

  1. intercepter une touche clavier, c pourtant simple
    Par xoco dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 26/11/2008, 15h50
  2. Comment intercepter une touche clavier avec un projet GUI
    Par guitz2fr dans le forum Débuter
    Réponses: 12
    Dernier message: 24/06/2008, 21h50
  3. Intercepter une touche Quick Report
    Par platoon64 dans le forum Delphi
    Réponses: 2
    Dernier message: 03/08/2006, 17h33
  4. Réponses: 5
    Dernier message: 26/06/2006, 17h47
  5. Intercepter une touche
    Par fredero dans le forum Langage
    Réponses: 15
    Dernier message: 05/06/2005, 15h45

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