Extratasten G1-5 ASCII-Code benutzen C++



  • Hey Leute!

    Ich bin neu hier im Forum, weil ich bei einer Sache einfach nicht weiterkomme
    Ich habe mich gefragt 😕, wie ich auf meiner Gaming-Tastatur den ASCII-Code der Extratasten G1-G5 verwenden kann.

    Ich weiss bis jetzt schon, dass der Code mit einer 0 anfängt. 💡
    Dann glaube ich 59, aber wenn ich zum Beispiel "if (_getch() == 059)" verwende, dann steht da "Ungültige Oktalziffer" 😞

    Danke schon mal für schnelle Antworten 😉
    _________________
    MfG Bubi 😃



  • In C++ werden Zahlenliterale, die mit einer 0 (Null) anfangen, als Oktalzahlen verstanden.
    Und da gehört die 9 nicht dazu.



  • Und wie schaff ich es dann, zu erkennen, wann die Taste gedrückt wurde 😕
    PS: Code hab ich durch cout << _getch (); in einer for-Schleife

    MfG Bubi 😃



  • Die führende 0 bei 059 weglassen.

    Dann steht da 59 und schon ist es eine Dezimalzahl.

    Hexenwerk.



  • Dann funktioniert es aber trotzdem nd wenn ich G1 druecke

    LG Bubi 😃


  • Mod

    Dann wird wohl entweder deine Annahme, dass es 59 wäre, falsch sein (ist es vielleicht Hexadezimal 59?), oder aber dein Testprogramm ist falsch. Oder beides.

    Mach es doch mal umgekehrt und gib dir die Werte (du hast dran gedacht, dass das bei einer Taste auch mehrere sein können?) von getch aus, wenn du deine Taste drückst.



  • if (_getch() == 059)
    

    Dir ist klar, dass das Zeichen hiermit "verbraucht" ist?



  • Moment mal.

    Bubiluminati schrieb:

    Code hab ich durch cout << _getch (); in einer for-Schleife

    Da solltest du danach (in der Schleife) nochmal ein Leerzeichen ausgeben.

    Dann steht da 0 59. Zuerst kommt bei getch() 0 und danch (beim zweiten Aufruf von getch ) dann 59



  • Danke hab's gecheckt 😃 💡

    int Eingabe;
    Eingabe = _getch ();
    
    if (Eingabe == 0)
    {
        Eingabe = _getch ();
        if (Eingabe == 59)
            cout << "G1 wurde gedrückt!";
    }
    

    Danke euch allen,
    MfG Bubi 😃


Log in to reply