[ bobby63 @ 16.02.2007. 14:58 ] @
U mom programu(igri) ne nekoliko mesta korisnik treba da pritiskom tastera izabere neku od opcija.
Za citanje tastature koristim GetAsyncKeyState.
Nazalost ako su ti tasteri pritiskani pre vremena ostaju u keyboard bufferu. Trenutno sam to pokrpio uz pomoc petlje koja iscitava sadrzaj buffera ali je to neprakticno i bespotrebno usporava program.

Pitanje je kako da ispraznim ceo buffer za tastaturu?

Pozdrav svima i hvala unapred
[ mmix @ 22.02.2007. 15:48 ] @
Citat:
bobby63: U mom programu(igri) ne nekoliko mesta korisnik treba da pritiskom tastera izabere neku od opcija.
Za citanje tastature koristim GetAsyncKeyState.
Nazalost ako su ti tasteri pritiskani pre vremena ostaju u keyboard bufferu. Trenutno sam to pokrpio uz pomoc petlje koja iscitava sadrzaj buffera ali je to neprakticno i bespotrebno usporava program.

Pitanje je kako da ispraznim ceo buffer za tastaturu?


Ne mozes, niti je pozeljno igrati se sa time, BIOS keyboard buffer se konvertuje u seriju WM_KEY poruka i ubacuje trenutno aktivnom prozoru, tako da je u tvom trenutnu taj bafer vec prazan, da ne pominjem da neke tastature (USB) cak ni ne idu kroz BIOS buffer. AKo hoces da brzinski ispraznis baferovani ulaz sa tastature u tvojoj aplikaciji, koristi PeekMessage API funkciju sa REMOVE flagom, i trazi sve poruke izmedju WM_KEY_FIRST and WM_KEY_LAST i nemoj ih procesirati nego ih izignorisi. Usporenje je tako minimizovano.
[ bobby63 @ 23.02.2007. 00:46 ] @
probacu ovo hvala puno