Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: SDL ja erikoisnäppäimet

Sivun loppuun

hunajavohveli [08.01.2006 13:43:22]

#

Olen seurannut Heikin SDL-oppaan ohjeita ja saanut näppäinten lukemisen toimimaan perusnäppäimillä, mutta joidenkin näppäinten kuten <>()[]{};: lukeminen ei onnistu.

...
SDL_PollEvent(&tapahtuma);
nappi = SDL_GetKeyState(NULL);
if(nappi[SDLK_LESS]) ...

Viimeisen rivin if-lauseen ehto pysyy epätotena, vaikka kuinka kyseistä näppäintä painaisi. Mahtaako tässä olla ongelmana erot suomalaisen ja jenkkinäppäimistön välillä, vai missä vika on?

Baglair [08.01.2006 13:47:09]

#

Minulla ei ole paljon kokemusta SDL:stä, muuta eikös nuo <, >, [, ] jne ole näppäinyhdistelmiä?

rndprogy [08.01.2006 13:54:52]

#

Eikö esim.

if (nappi[SDLK_LESS] && nappi[SDLK_RSHIFT])

toimisi? (En kylläkään kokeillut)

hunajavohveli [08.01.2006 13:54:57]

#

No < -merkki tulee ainakin yhdestä näppäimestä. Jos sen saisi toimimaan, niin vastakkaisen merkin saisi selvittämällä SHIFTien tilan. Mutta siis kun edes tuo SDLK_LESS ei toimi, niin siitä ei oikein ole apua.

rndprogy [08.01.2006 13:56:18]

#

Sitten pitää vain selvittää missä on jenkkinäppäimistössä <-merkki.

hunajavohveli [08.01.2006 13:57:34]

#

Käsittääkseni samassa kohtaa, kuin pilkku suomalaisessa. Mutta SDLK_COMMA toimii kyllä ihan pilkkuna, eikä < -merkkinä.

Gaxx [08.01.2006 15:09:54]

#

Voi olla, että SDL:n "suomenkielisen näppäimistön tuessa" on virhe(jos siinä sellasia on...).

Joka tapauksessa näppäimet voi etsiä itse tyyliin:

SDL_Event event;

SDL_PollEvent(&event)
key = event.key.keysym.sym; // Palauttaa pohjassa olevan näppäimen
printf("%i\n", key);

PS. '<' == 92 ja SDLK_LESS == 60

hunajavohveli [08.01.2006 15:20:26]

#

Ah, no niinpäs tietysti voikin, olisihan tuo pitänyt itsekin oivaltaa. :) Kiitoksia, nyt toimii.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta