codice:
#include <stdio.h>
#include <conio.h>

int main()
{
    char c;
         
    while(c!=27) /* ESC per uscire */
    {
        c=getch();
        if(c==-32)
        {
            c=getch();
            if(c==72)
                printf("Freccia SU\n");
            else if(c==80)
                printf("Freccia GIU'\n");
            else if(c==77)
                printf("Freccia DESTRA\n");
            else if(c==75)
                printf("Freccia SINISTRA\n");
        }    

        if(c==0 || c==-32)
        {
            c=getch();
            if(c==59)
                printf("F1 = 0, 59\n");
            else if(c==60)
                printf("F2 = 0, 60\n");
            else if(c==61)
                printf("F3 = 0, 61\n");
            else if(c==62)
                printf("F4 = 0, 62\n");
            else if(c==63)
                printf("F5 = 0, 63\n");
            else if(c==64)
                printf("F6 = 0, 64\n");
            else if(c==65)
                printf("F7 = 0, 65\n");
            else if(c==66)
                printf("F8 = 0, 66\n");
            else if(c==67)
                printf("F9 = 0, 67\n");
            else if(c==68)
                printf("F10 = 0, 68\n");
            else if(c==-123)
                printf("F11 = -32, -123\n");
            else if(c==-122)
                printf("F12 = -32, -122\n");
        }        
        else
            printf("%c = %d\n", c, c);
    }

    return(0);
}
oppure... con le API:
codice:
#include <windows.h>
#include <stdio.h>

int main()
{
    while(1)
    {
        if (GetKeyState (VK_LEFT) < 0)
            printf("LEFT ") ;
        if (GetKeyState (VK_RIGHT) < 0)
            printf("RIGHT ");
        if (GetKeyState (VK_UP) < 0)
            printf("UP ");
        if (GetKeyState (VK_DOWN) < 0)
            printf("DOWN ");
        if (GetKeyState (VK_ESCAPE) < 0)
            break;

        Sleep(100);
    }

    return 0;    
}