Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Keyboard Scan Codes (SCAN.H)
◄Up► ◄Contents► ◄Index► ◄Back►
────────────────────────────────────────────────────────────────────────────
/* SCAN.H - Constants for keyboard scan codes. They can be
* processed by:
* AH returned by BIOS function 16h, services 00h, 01h, 10h, 11h
* High byte returned by DOS _bios_keybrd( _KEYBRD_READY );
* _bios_keybrd( _NKEYBRD_READY );
* _bios_keybrd( _KEYBRD_READ );
* _bios_keybrd( _NKEYBRD_READ );
* OS/2 KBDKEYINFO.fsScan (set by KbdCharIn or KbdPeek)
*/
enum SCAN
{
/* Scan numbers follow keyboard layout of original PC. */
/* Top row of keys */
scanESC = 0x01,
scan1, scan2, scan3, scan4, scan5, scan6, scan7, scan8, scan9, scan0,
scanMINUS, scanEQUAL, scanBKSP,
/* Second row of keys */
scanTAB = 0x0F,
scanQ, scanW, scanE, scanR, scanT, scanY, scanU, scanI, scanO, scanP,
scanLBRACKET, scanRBRACKET, scanENTER,
/* Third row of keys */
scanCTRL = 0x1D,
scanA, scanS, scanD, scanF, scanG, scanH, scanJ, scanK,
scanSEMICOLON, scanFQUOTE, scanBQUOTE,
/* Fourth row of keys */
scanLSHIFT = 0x2A, scanBACKSLASH,
scanZ, scanX, scanC, scanV, scanB, scanN, scanM,
scanCOMMA, scanPERIOD, scanSLASH, scanRSHIFT, scanPRTSC,
/* Fifth row of keys */
scanALT = 0x38, scanSPACE, scanCAPS,
/* Function keys */
scanF1 = 0x3B, scanF2, scanF3, scanF4, scanF5,
scanF6, scanF7, scanF8, scanF9, scanF10,
/* Numeric keypad */
scanNUM = 0x45, scanSCROLL,
scanHOME, scanUP, scanPGUP, scanGMINUS,
scanLEFT, scanCENTER, scanRIGHT, scanGPLUS,
scanEND, scanDOWN, scanPGDN,
scanINS, scanDEL,
/* 84-key and 101-key keyboards only */
scanSYSREQ = 0x54,
/* 101-key keyboard only */
scanF11 = 0x57, scanF12,
/* Introductory values to test whether scan is for function key */
scanINTRO = 0, // For keys common to all keyboards
scanINTRO2 = 0xE0 // For keypad and other keys unique to
// 101-key keyboard
};
-♦-