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

Windows Discussion :

Utiliser 'Alt Gr' en console


Sujet :

Windows

  1. #1
    Membre du Club Avatar de Electroniktor
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 150
    Points : 55
    Points
    55
    Par défaut Utiliser 'Alt Gr' en console
    Bonjour à tous !

    J'aimerais savoir si il est possible d'utiliser la touche 'Alt Gr' en console ?

    C'est dans le cadre d'un programme qui affiche la valeur ASCII d'une touche appuyée sur le clavier. Je ne peux donc pas réserver la touche 'echap' pour quitter car l'utilisateur peut avoir envie d'en avoir le code ASCII.
    Je voudrais donc permettre l'abandon lorsque l'on appuie sur 'Alt Gr + Echap' !

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par Electroniktor
    J'aimerais savoir si il est possible d'utiliser la touche 'Alt Gr' en console ?
    Pour ce genre de programme, le plus simple c'est de tester : écris un programme console qui affiche les codes des caractères saisis, il y a une foule d'exemple sur ce forum, car ce genre de question est récurrent (maintenant, peut-être que les threads correspondants ont disparus )
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre du Club Avatar de Electroniktor
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 150
    Points : 55
    Points
    55
    Par défaut
    Tu parle pour quoi là ?
    Si tu parles du programme en lui-même, il est déjà fait. Il est si tu veux.
    Je voulais juste allèger un peu la lecture et le rendre plus simple à utiliser avec ce moyen de quitter !

  4. #4
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Dans ce cas, je ne comprends pas ta question, désolé
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  5. #5
    Membre du Club Avatar de Electroniktor
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 150
    Points : 55
    Points
    55
    Par défaut
    Je veux seulement savoir si il est possible d'utiliser la touche Alt Gr en console !

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Déjà, ça veut dire détecter une touche au moment même où elle est tapée, au lieu d'attendre la fin de la ligne.
    Ce qui n'est pas possible en C standard. Tu dois donc préciser ta plate-forme, les bibliothèques clavier que tu connais (comme curses), etc.

    PS: Il y a des chances pour que si une telle touche est détectable, la méthode de détection change complètement d'une bibliothèque à l'autre...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Electroniktor
    Je veux seulement savoir si il est possible d'utiliser la touche Alt Gr en console !
    Cette question n'a aucun sens.

    Les fonctions de saisie standards récupèrent des caractères. Ceux-ci sont générés par différents dispositifs, dont le clavier. La façon donc les touches du clavier ou leur combinaison génère tel ou tel caractère n'est pas une question C, mais concerne la machine et son système.

    Concernant un PC sous DOS/Windows, la touche AltGr toute seule ne fait rien de plus de Ctrl+Alt toutes seules. L'important est ce qu'on tape après. Par exemple, sur un clavier AZERTY, Crtl+Alt+[3] produit un #. Idem avec AltGr+[3].

    Je pense donc que ta question est mal posée. Que veux-tu faire exactement ?
    Pas de Wi-Fi à la maison : CPL

  8. #8
    Membre du Club Avatar de Electroniktor
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 150
    Points : 55
    Points
    55
    Par défaut
    Alors je suis sous windows XP et je peux utiliser n'importe quelle bibliothèque (conio, PDCurse ...).

    En fait j'ai coder un programme qui renvoie la valeur ASCII d'une touche lorsque on la presse. Dans mes programmes, j'ai l'habitude de réserver la touche echap pour quitter le programme à tout moment. Mais là, puisque mon programme doit extraire le code ASCII des touches du clavier lorsque l'on tape dessus, je ne peux pas réserver la touche echap pour quitter le programme (si des fois l'utilisateur veut son code ASCII !).
    J'ai donc eut l'idée de pouvoir quitter en appuyant simultanément sur AltGr + echap, ou Maj + echap !
    Ma question est donc : Comment faire ?

    Je ne pense pas que ce soit très compliqué à comprendre !

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    940
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 940
    Points : 1 816
    Points
    1 816
    Par défaut
    Petite rectification : les touches du clavier n'ont pas de code ASCII. Les codes ASCII représentent les caractères, ce qui n'est pas la même chose. Bien sûr, il y a des caractères sur les touches, mais une simple pression sur CAPS LOCK suffit à montrer que la correspondance n'est qu'une construction indépendante du clavier lui-même.

  10. #10
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Electroniktor
    Alors je suis sous windows XP et je peux utiliser n'importe quelle bibliothèque (conio, PDCurse ...).

    En fait j'ai coder un programme qui renvoie la valeur ASCII d'une touche lorsque on la presse. Dans mes programmes, j'ai l'habitude de réserver la touche echap pour quitter le programme à tout moment. Mais là, puisque mon programme doit extraire le code ASCII des touches du clavier lorsque l'on tape dessus, je ne peux pas réserver la touche echap pour quitter le programme (si des fois l'utilisateur veut son code ASCII !).
    J'ai donc eut l'idée de pouvoir quitter en appuyant simultanément sur AltGr + echap, ou Maj + echap !
    Ma question est donc : Comment faire ?

    Je ne pense pas que ce soit très compliqué à comprendre !
    Ah, c'est donc bien une combinaison AltGr + quelquechose que tu veux detecter et non AltGr tout seul. Sur un PC, il s'agit d'un code étendu. Si tu utilises conio, j'ai expliqué ici comment on détecte toutes les combinaisons détectables :

    http://www.developpez.net/forums/sho...61&postcount=3

    Tu n'as plus qu'à taper la combinaison voulue et les valeurs vont apparaitre. Ensuite, il ne reste plus qu'à réagir à la bonne valeur (0 xxx ou 224 xxx).

    Certaines combinaisons ne produisent pas de code (C'est le cas de AltGr+ESC) et certaines sont interceptées par le système avant d'arriver à ton application (Alt+ESC, par exemple). Quand à MAJ+ESC, il produit 27, comme ESC.

    Par contre, une combinaison de sortie de programme bien connue comme Alt+F4 est parfaitement détectée (0 107). Je la recommande fortement.
    Pas de Wi-Fi à la maison : CPL

  11. #11
    Membre du Club Avatar de Electroniktor
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 150
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup !

    En fait je me suis aperçu que mon programme me donnait également le code d'une combinaison de touches, je ne pouvais donc pas faire AltGr + autre touche pour quitter. Je me suis donc arrangé pour faire autrement !

    En tout cas merci car même si je ne me suis pas réellment servi de ce que vous m'avez dit, j'ai appris plein de choses quant même !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. BODI Utilisation de la management console
    Par Bougeard dans le forum BODI
    Réponses: 2
    Dernier message: 16/03/2011, 15h12
  2. Utiliser MATLAB depuis une console (shell)
    Par ricololo dans le forum MATLAB
    Réponses: 3
    Dernier message: 12/03/2009, 12h09
  3. Utiliser une winform comme console application
    Par programaniac dans le forum Windows Forms
    Réponses: 7
    Dernier message: 10/03/2009, 11h48
  4. [plugin] utilisation de la vue console ?
    Par michelp38 dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 02/11/2007, 23h30

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