Numpad will nicht



  • Hallo,
    ich code gerade ein Roguelike in C, welches ich unter Win32 und Debian compiliere. Ich hab natürlich unter Linux die ncurses genutzt, aber sonst ANSI. Jetzt ist mir nachdem ich das Meiste unter Win gemacht hab aufgefallen, dass sich unter Debian das Numpad nicht richtig nutzen lässt. Es sollte so sein, dass 1, 2, 3, 4, 6, 7, 8 und 9 für Bewegungen sind und 0, 5, ',' und später andere Tasten Interaktionen auslösen. Wie gesagt, identischer Code da ANSI C, aber unter Debian muss ich die Zahlenreihe oben links auf der Tastatur nutzen, das Numpad gibt falsche(?) Codes zurück.
    Was mache ich falsch bzw. wie komme ich zum Ziel?

    Gruß,
    Cris



  • Hier die Variablen für die Tastencodes:

    char iKeyLeft = '4', iKeyUp = '8',  iKeyRight = '6', iKeyDown = '2', iKeyAction = '5', iKeyExamine = '0', iKeyCancel = ',';
    

    Und hier ein beispielhafter Aufruf:

    char iKey = getch();
    if(iKey == iKeyLeft || iKey == iKeyLeft_)
       printf("LEFT was pressed.");
    else
       printf("Unknown key.");
    

    Der Code funktioniert nur unter Win32, unter Debian wird keine der Tasten erkannt (es sei denn ich nehm die Zahlenreihe).


Anmelden zum Antworten