delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/03/28/23:44:55

From: Andrew Crabtree <andrewc AT typhoon DOT rose DOT hp DOT com>
Message-Id: <199703290432.AA038299936@typhoon.rose.hp.com>
Subject: Re: Allegro Question
To: admcs AT megsinet DOT net (Paul Schmidt)
Date: Fri, 28 Mar 1997 20:32:15 PST
Cc: djgpp AT delorie DOT com
In-Reply-To: <19970329000031723.AAA166@ns1.megsinet.net>; from "Paul Schmidt" at Mar 28, 97 6:00 pm

No - the individual bits are each mapped to a different flag.  When you
do a bitwise AND you are looking for overlapping bits.  No will 
never have overlapping bits here.  Evaluate each separately and then 
use a logical AND

if ((key_shifts & SHIFT) && (key_shifts & CTRL)) {



> 
> How do you use the following?
> Do you bitwise AND 2 constants together to see if they are both pressed?
> Like if (KB_SHIFT_FLAG & KB_CTRL_FLAG)
> printf("Shift and CTRL Pressed\n");
> ?
> 
> extern volatile int key_shifts;
>    Bitmask containing the current shift/ctrl/alt state. This can contain any 
>    of the flags:
> 
>       KB_SHIFT_FLAG
>       KB_CTRL_FLAG
>       KB_ALT_FLAG
>       KB_SCROLOCK_FLAG
>       KB_NUMLOCK_FLAG
>       KB_CAPSLOCK_FLAG
>       KB_INALTSEQ_FLAG
> 
> 

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019