Bonjour,
Voilà un petit programme simple qui m'a servi à identifier les touches : (thème reconnaissance de la touhe PF11, PF5 pour sortir)
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;
}
Cordialement.
Cchristian.