Microsoftin ja Borlandin C-kääntäjissä on eri funktiot näppäimistöltä painetun näppäimen ns. scan-koodin lukemista varten. Borlandilla kyseinen funktio on bioskey() ja Microsoftilla _bios_keybrd().
Alla on toteutettu funktio, joka kääntyy oikein molemmilla kääntäjillä.
Käännettävän ohjelman alussa on määritelty sen mukaan, kumpaa kääntäjää käytetään, joko
#define TURBOC
tai
#define MICROSOFTC
Funktio on seuraava:
char lue_scan_koodi(void) { union key{ int i; char octet[2]; }nappain; #ifdef TURBOC nappain.i=bioskey(0); #endif #ifdef MICROSOFTC nappain.i=_bios_keybrd(0); #endif return nappain.ch[1]; }
Lukijan tehtäväksi jää kirjoittaa esimerkkiin liittyvä pääohjelma.