Keyboard Shift Codes (SHIFT.H)
◄Up► ◄Contents► ◄Index► ◄Back►
────────────────────────────────────────────────────────────────────────────
/* SHIFT.H - Constants for keyboard shift codes. Can be combined
/* with <|.>
*/
/* Values in the low shift byte found at:
* AL returned by BIOS function 16, service 02h or service 12h
* Low byte returned by DOS _bios_keybrd( _KEYBRD_SHIFTSTATUS );
* _bios_keybrd( _NKEYBRD_SHIFTSTATUS );
* Low byte of OS/2 KBDKEYINFO.fsState (set by KbdCharIn or KbdPeek)
* Byte at 0:417h in low memory
*/
#define shiftRSHIFT 0x0001 // 00000001 Right SHIFT down
#define shiftLSHIFT 0x0002 // 00000010 Left SHIFT down
#define shiftSHIFT 0x0003 // 00000011 Either SHIFT down
#define shiftCTRL 0x0004 // 00000100 CTRL down
#define shiftALT 0x0008 // 00001000 ALT down
#define shiftSCROLLON 0x0010 // 00010000 SCROLL LOCK active
#define shiftNUMON 0x0020 // 00100000 NUM LOCK active
#define shiftCAPSON 0x0040 // 01000000 CAPS LOCK active
#define shiftINS 0x0080 // 10000000 INS active
/* Values in the high shift byte found at:
* AH returned by BIOS function 16h, service 12h
* High byte returned by DOS _bios_keybrd( _NKEYBRD_SHIFTSTATUS );
* High byte of OS/2 KBDKEYINFO.fsState (set by KbdCharIn or KbdPeek)
*/
#define shiftLCTRL 0x0100 // 00000001 Left CTRL down
#define shiftLALT 0x0200 // 00000010 Left ALT down
#define shiftRCTRL 0x0400 // 00000100 Right CTRL down
#define shiftRALT 0x0800 // 00001000 Right ALT down
#define shiftSCROLLDOWN 0x1000 // 00010000 SCROLL LOCK down
#define shiftNUMDOWN 0x2000 // 00100000 NUM LOCK down
#define shiftCAPSDOWN 0x4000 // 01000000 CAPS LOCK down
#define shiftSYSREQ 0x8000 // 10000000 SYSREQ down
/* Values at byte at 0:418h in low memory are similar */
#define lowmLALT 0x01 // 00000001 Left CTRL down
#define lowmRCTRL 0x02 // 00000010 Left ALT down
#define lowmSYSREQ 0x04 // 00000100 SYSREQ down
#define lowmHOLD 0x08 // 00001000 CTRL NUM LOCK or
PAUSE down
#define lowmSCROLLDOWN 0x10 // 00010000 SCROLL LOCK down
#define lowmNUMDOWN 0x20 // 00100000 NUM LOCK down
#define lowmCAPSDOWN 0x40 // 01000000 CAPS LOCK down
#define lowmINS 0x80 // 10000000 INS down
-♦-