Besoin d'aide pour associer 2 touches clavier

Fermé
zakidz Messages postés 5 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 9 juin 2009 - 4 mars 2008 à 16:06
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 6 mars 2008 à 22:40
Bonjour,
svp j' besoin de votre aide
mon problème c' que je veux associer deux ou 3 touches du clavier dans une seule
par exemple je veux faire une touche lorsque j'appuis sur elle ,elle fait les evenement TAB+ESPACE

par exemple la touche B = TAB+ESPACE

est ce que c' possible en programmation ou s'il existe un moyen pour faire ça , parce que j' tres besoin de faire ça

merci de votre aide
A voir également:

5 réponses

cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
5 mars 2008 à 17:04
Bonjour,

J'ai "bricolé" un petit programme qui devrait répondre à certaines questions que tu te poses fais-le tourner.

int main()
{

// Valeurs (codes ASCII) des principales touches du clavier. */
const int TOUCHE_ENTER = 13 ;
const int TOUCHE_ECHAP = 27 ;
const int TOUCHE_AJOUT = 82 ;
const int TOUCHE_FLECHG = 75 ;
const int TOUCHE_FLECHD = 77 ;
const int TOUCHE_SUPPR = 83 ;
const int TOUCHE_EFFACE = 71 ;
const int TOUCHE_TABD = 9 ;
const int TOUCHE_TABG = 8 ;
const int TOUCHE_PAGTOP = 73 ;
const int TOUCHE_PAGBOT = 81 ;
const int TOUCHE_PF11 = 133 ;
const int TOUCHE_PF12 = 134 ;
const int TOUCHE_ABANDON_PFx = 63 ;

signed int First_VAL_touches_PFx = 0 ;
signed int VAL_touche_pressee = 0 ;

while ( VAL_touche_pressee != TOUCHE_ABANDON_PFx ) // TOUCHE_ABANDON_PFx = 63 PF5
{
//Lecture de la valeur identifiant un caractère ou une touche.
VAL_touche_pressee = _getch () ;
First_VAL_touches_PFx = VAL_touche_pressee ;
// FILTRAGE DE LA NATURE DE LA TOUCHE PRESSEE
if ( First_VAL_touches_PFx == 8 || First_VAL_touches_PFx == 9 ||
First_VAL_touches_PFx == 13 || First_VAL_touches_PFx == 27)
{
printf ("\n Vous avez pressé une touche autre que PF11 "
"identifiée par 2 valeurs identiques %i et %i \n",
First_VAL_touches_PFx, First_VAL_touches_PFx);
}
else
{
// FILTRAGE DE LA TOUCHE PF11 (codes ASCII 224 133).
//0 ou 224 premières valeurs reçues identifiant une touche1
if ( First_VAL_touches_PFx == 0 || First_VAL_touches_PFx == 224 )
{
// Lecture de la seconde valeur identifiant la touche activée.
{ VAL_touche_pressee = _getch () ;}
//133 seconde valeur reçue identifiant précisément PF11
if ( VAL_touche_pressee != 133 )
{
printf ("\n Vous avez pressé une touche autre que PF11 "
"identifiée par les valeurs %i et %i \n",
First_VAL_touches_PFx, VAL_touche_pressee);
}
else
{
printf ("\n\n Vous avez pressé la touche PF11 identifiée par les"
" valeurs %i et %i \n\n", First_VAL_touches_PFx, VAL_touche_pressee);
}
}
else
{
printf ("\n Vous avez pressé une touche caractère alphanumerique"
" identifiée par la valeur : %i \n", First_VAL_touches_PFx);
}
}
}

return 0;
3
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
5 mars 2008 à 04:25
Bonsoir

par exemple je veux faire une touche lorsque j'appuis sur elle ,elle fait les evenement TAB+ESPACE


Chaque touche pressée au clavier renvoie une ou deux valeurs suivant le type de touche considéré (touches de fonction Fx, ou de navigation, ou alphanumériques)

La logique d'exécution de ton programme doit, dans un premier temps "capter" ces valeurs par un ordre particulier; getc en C par exemple. Ensuite cette logique doit déterminer le traitement à effectuer, en fonction de la ou des valeur(s) "captée(s)" correspondant à une touche pressée.

Si tu détermines que la touche X doit engendrer un traitement équivalent à l'emploi de deux touches, TAB+ESPACE dans ton exemple, c'est à toi d'organiser la logique d'exécution de ton programme en conséquence. Tu es le maître d'oeuvre !
0
zakidz Messages postés 5 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 9 juin 2009
5 mars 2008 à 07:55
merci "cchristian" ,
le problème c' que j'arrive pas a faire ça , et je suis tres débutant en programmation :(
si quelqu'un peut me guider sur un lien ou ..... pour connaitre faire ça , parce que j' est tres besoin :(

merci de votre aide
0
zakidz Messages postés 5 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 9 juin 2009
6 mars 2008 à 21:28
merci beacoup cchristian
je vais essayer ce programme
tanks ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
6 mars 2008 à 22:40
Bonsoir,

N'hésite pas à me poser des questions, si je peux répondre ce sera avec plaisir.

P.S. Il y aura un tout petit rectificatif à amener au programme, je te le ferai parvenir quand tu auras compris le principe général. Ca n'a pas d'incidence sur le fonctionnement, mais par contre c'est important pour la compréhension. Ca concerne la fonction kbhit (), un test à ajouter c'est tout.
0