delorie.com/archives/browse.cgi | search |
From: | "Andrew Davidson" <andrew AT lemure DOT freeserve DOT co DOT uk> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Fast reading of multiple keypresses in Allegro |
Date: | Mon, 15 Feb 1999 20:26:35 -0000 |
Organization: | Customer of Planet Online |
Lines: | 25 |
Message-ID: | <7a9vkb$u46$1@news5.svr.pol.co.uk> |
NNTP-Posting-Host: | modem-74.rubidium.dialup.pol.co.uk |
X-Trace: | news5.svr.pol.co.uk 919110091 30854 62.136.18.74 (15 Feb 1999 20:21:31 GMT) |
NNTP-Posting-Date: | 15 Feb 1999 20:21:31 GMT |
X-Complaints-To: | abuse AT theplanet DOT net |
X-Priority: | 3 |
X-MSMail-Priority: | Normal |
X-Newsreader: | Microsoft Outlook Express 5.00.0810.800 |
X-MimeOLE: | Produced By Microsoft MimeOLE V5.00.0810.800 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
I'm a bit stuck trying to read a number of simultaneous key presses using Allegro's key[] structure. The code goes roughly as follows: if(keypressed()) { if(key[KEY_A]) set a flag; if(key[KEY_B]) set b flag; ... clear_keybuf(); } So how can I get it to recognise that key 'a' may be held down continuously whilst keys 'b' through 'z' are being pressed? Basically a funcition to sync the key[] array with the current state of the keys pressed on the keyboard is what I'm after. This function could be called at the start of the if(keypressed()) section. BTW, does keypressed() respond only to the depression of a key or is it constantly set if a key is held down? If not I'll need some way to test if any keys are being currently held down too... This all has to happen rather quickly and not make any noticable difference to the speed of the overall program. Anyway, thanks for any help in advance, Andrew
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |