From: "Andrew Davidson" 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