Io ho fatto questo funzioni per rilevare i tasti funzione
es. F1, F2 ecc.
Secondo voi sono giuste ???
e sono partabile da Win a Linux e da Tastiera a Tastiera ???
codice:
short int fkey (void) {
   register unsigned char key;
   
   key = getch();                            /* Chiave [F] */
   if (key == 0) {
      key = getch();                         /* Chiave [x] */
      switch (key) {
         case 59: return (1);                /* [F1] */
         case 60: return (2);                /* [F2] */
         case 61: return (3);                /* [F3] */
         case 62: return (4);                /* [F4] */
         case 63: return (5);                /* [F5] */
         case 64: return (6);                /* [F6] */
         case 65: return (7);                /* [F7] */
         case 66: return (8);                /* [F8] */
         case 67: return (9);                /* [F9] */
         case 68: return (10);               /* [F10] */
      }
   } else if (key == 224) {
      key = getch();                         /* Chiave [x] */
      switch (key) {
         case 133: return (11);              /* [F11] */
         case 134: return (12);              /* [F12] */
      }
   }
      
   return (-key);
};


unsigned short int chk_fkey (register short int key) {
   if (key <= 0) return (0);
   
   return (key);
};


int main() {
   short int key;
   
   do {
      key = fkey();

      if (chk_fkey(key)) {                   /* E' un Tasto F */
         printf ("F%d \n", key);
      } else {                               /* Non e' un Tasto F */
         printf ("%d \n", -key);
      }
   } while (-key != 27);
   
   return 0;
};