Archief - [PROG][C++] Keyboard codes

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Siskos

Legacy Member
Ik heb al heel wat op het internet zitten zoeken acher ascii codes en dergelijke en heb deze gevonden voor enter en backspace...

char(13) en dergelijke

Maar hoe vertel ik nu tegen c++ dat ik op de pijltjestoets naar beneden of boven heb gedrukt ? Ik will dit namelijk maken voor een menutje maar vind niet hoe ik dit moet doen... ook vind ik de ascii codes niet voor die pijltjestoetsen op het toetsenbord.

Tijdelijk heb ik gewoon a en q gebruikt hierdoor werkt het programma perfect. Alleen zouden de pijltjestoetsen iets handiger zijn :p

killgore

Legacy Member
sh1b zei:

Leer eens deftig antwoord geven ffs ..., met enkel wa functies te linken leerde niemand iets. Kende da gezegde van: geef een arme een vis en hij kan een dag overleven, leer hem vissen en hij kan een jaar overleven. (vrij aangepast :p)

K, dus:

Pure ascii-codes bestaan er niet voor alle toetsenaanslagen, meer nog: er bestaan geen ansi/iso mogelijkheden om rechtstreeks met het toetsenbord te communiceren (nu ja, je zou omweg kunnen maken via drivers en zo, ma das mierengeneuk).

Daarom moet je een andere API zoeken die dat verzorgt, meestal zit dit in een GUI-api. De winapi (en meer specifiek: boven geposte functies) implementeert dit bv. Maar er zijn ook andere api's als de winapi, die "platformonafhankelijk" zijn en nog andere werken onafhankelijk van een gui-api (gui = graphical user interface, bv. dus om vensterkes te maken).

sh1b

Legacy Member
Jah, ik veronderstel als hij op MSDN zit, en er staat dat hij windows.h moet includen, dat hij ook wel doorheeft dat hij met de winapi werkt...

Soit, int vervolg zal'k wel wa meer uitleg geven :p

wlibaers

Legacy Member
Tja, daar staat nergens op welk systeem hij werkt, kan net zo goed MacOS of X11 zijn.

The Crazy Frog

Legacy Member
in uw wndproc:
Code:
case WM_KEYUP:
    switch(wparam){
        case VK_LEFT:
            //whatever
        break;
        case VK_UP:
            //whatever
        break;
    }
break;
Hier vind je een overzicht van alle virtual key codes.

BuiZe

Legacy Member
Zoals reeds gezegd, moet je eerst weten in welke omgeving hij werkt vooraleer je een antwoord kan geven. In een console-applicatie kan je bvb getch() gebruiken...

killgore

Legacy Member
The Crazy Frog zei:
in uw wndproc:
Code:
case WM_KEYUP:
    switch(wparam){
        case VK_LEFT:
            //whatever
        break;
        case VK_UP:
            //whatever
        break;
    }
break;
Hier vind je een overzicht van alle virtual key codes.
Lees eerst eens de andere replies :ironic:

Siskos

Legacy Member
Ik gebruik ook getch om een toetsaanslag te registreren...
Code:
		keuze = getch();
		if (keuze==char(13))

Heb juist gewoon eens cout<<toascii(keuze); gedaan en deze heeft mij gezegd wat de correcte codes zijn voor de pijltjestoetsen...
Kan niemand dit eens fatsoenlijk online plaatsen eigelijk ? Hier moeten tog tabellen van zijn ? :p

killgore

Legacy Member
Siskos zei:
Ik gebruik ook getch om een toetsaanslag te registreren...
Code:
		keuze = getch();
		if (keuze==char(13))

Heb juist gewoon eens cout<<toascii(keuze); gedaan en deze heeft mij gezegd wat de correcte codes zijn voor de pijltjestoetsen...
Kan niemand dit eens fatsoenlijk online plaatsen eigelijk ? Hier moeten tog tabellen van zijn ? :p

Mja, pijltjes en zo zitten er nog in, maar veel toetsaanslagen staan niet geregistreerd in uw ascii (of unicode) tabellen. Ik denk bv. dat shift er al niet in staat.

The Crazy Frog

Legacy Member
killgore zei:
Lees eerst eens de andere replies :ironic:
Kzag menutje staan in de eerste post --> GUI --> windows.
En trouwens, sh1b toonde ook winapi code, dusjah...

wlibaers

Legacy Member
The Crazy Frog zei:
Kzag menutje staan in de eerste post --> GUI --> windows.
En trouwens, sh1b toonde ook winapi code, dusjah...

Welja,... Maar MacOS en X11 zijn ook GUI systemen. Bovendien zijn er ook voor tekstconsoles manieren om menu's te maken.

killgore

Legacy Member
The Crazy Frog zei:
Kzag menutje staan in de eerste post --> GUI --> windows.
En trouwens, sh1b toonde ook winapi code, dusjah...
1. Start
2. about
3. Exit

voldoet ook aan "menu"

denk na voor ge repliet.

killgore

Legacy Member
The Crazy Frog zei:
Zallek doen als jij eens iets nuttig post...

Uitleg?

Ik zie hier geen enkele onnuttige post van mij.

Jij moest weer je geweldige kennis ( :ironic: ) laten blijken door een extreem beperkte oplossing te geven waarvan al veel eerder was duidelijk gemaakt dat ze te bepertk en hoogstwrsch fout was. DAT noem ik pas onnuttig.

Asge geen kritiek kunt verdragen (ok, kben mssch wa grof, ma dan moete maar nie cst doen alsof gij dé man zijt da alles weet), dan moete ma nie op fora komen :).

The Crazy Frog

Legacy Member
killgore zei:
Uitleg?

Ik zie hier geen enkele onnuttige post van mij.

Jij moest weer je geweldige kennis ( :ironic: ) laten blijken door een extreem beperkte oplossing te geven waarvan al veel eerder was duidelijk gemaakt dat ze te bepertk en hoogstwrsch fout was. DAT noem ik pas onnuttig.

Asge geen kritiek kunt verdragen (ok, kben mssch wa grof, ma dan moete maar nie cst doen alsof gij dé man zijt da alles weet), dan moete ma nie op fora komen :).
Ik kan kritiek aanvaarden, maar ik probeer alleen te helpen, en de enige posts die ik van u zie zijn posts om iemand op zijn fouten te wijzen en ze nog eens goed in te wrijven.

yannick

Legacy Member
Wordt dit ook een flame onderdeel van het forum :s.
We zijn er allemaal om te helpen, ga nu ni niemand onnodig liggen afkraken.

He deed om goed te doen :).

grtzz
Yannick
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan