#include <stdio.h> |
#include <bios.h> |
#include <ctype.h> |
#define RIGHT 0x01 |
#define LEFT 0x02 |
#define CTRL 0x04 |
#define ALT 0x08 |
int main ( void ) |
{ |
int key, modifiers; |
/* function 1 returns 0 until a key is pressed */ |
while ( bioskey ( 1 ) == 0 ); |
/* function 0 returns the key that is waiting */ |
key = bioskey ( 0 ); |
/* use function 2 to determine if shift keys were used */ |
modifiers = bioskey ( 2 ); |
if ( modifiers ) |
{ |
printf ( "[" ); |
if ( modifiers & RIGHT ) printf ( "RIGHT" ); |
if ( modifiers & LEFT ) printf ( "LEFT" ); |
if ( modifiers & CTRL ) printf ( "CTRL" ); |
if ( modifiers & ALT ) printf ( "ALT" ); |
printf ( "]" ); |
} |
/* print out the character read */ |
if ( isalnum ( key & 0xFF ) ) |
printf ( "'%c'\n" , key ); |
else |
printf ( "%#02x\n" , key ); |
return 0; |
} |