
static unsigned char keys[3];
static unsigned char keys_index =  0;

unsigned char pressed_keys = 0;
unsigned char released_keys = 0;

void interrupt (void)
{
keys[key_index] = P1; // Read the KEYS

key_index = (key_index + 1) % 3;

pressed_keys = keys[0] | keys[1] | keys[2];
released_keys = keys[0] & keys[1] & keys[2];
}
