Category: hardware
Flags: callout or callback (usually hooked rather than called)
INT 09 - IRQ1 - KEYBOARD DATA READY Desc: this interrupt is generated when data is received from the keyboard. This is normally a scan code (from either a keypress *or* a key release), but may also be an ACK or NAK of a command on AT-class keyboards. Notes: this IRQ may be masked by setting bit 1 on I/O port 21h if the BIOS supports an enhanced (101/102-key) keyboard, it calls INT 15/AH=4Fh after reading the scan code (see #00006) from the keyboard and before further processing; all further processing uses the scan code returned from INT 15/AH=4Fh the default interrupt handler is at F000h:E987h in 100%-compatible BIOSes the interrupt handler performs the following actions for certain special keystrokes: Ctrl-Break clear keyboard buffer, place word 0000h in buffer, invoke INT 1B, and set flag at 0040h:0071h SysReq invoke INT 15/AH=85h (SysReq is often labeled SysRq) Ctrl-Numlock place system in a tight wait loop until next INT 09 Ctrl-Alt-Del jump to BIOS startup code (either F000h:FFF0h or the destination of the jump at that address) Shift-PrtSc invoke INT 05 Ctrl-Alt-Plus (HP Vectra) enable keyclick Ctrl-Alt-Plus (many clones) set clock speed to high Ctrl-Alt-Minus (HP Vectra) reduce keyclick volume Ctrl-Alt-Minus (many clones) set clock speed to low Ctrl-Alt-SysReq (HP Vectra) generate hard reset Ctrl-Alt-S (many clones) run BIOS setup program Ctrl-Alt-Esc (many clones) run BIOS setup program Ctrl-Alt-Ins (many clones) run BIOS setup program Ctrl-Alt-LeftShift-GrayMinus (some clones) turn off system cache Ctrl-Alt-LeftShift-GrayPlus (some clones) turn on system cache DR DOS hooks this interrupt to control the cursor shape (underscore/ half block) for overwrite/insert mode DR Multiuser DOS hooks this interrupt for cursor shape control and to control whether Ctrl-Alt-Del reboots the current session or the entire system SeeAlso: INT 05"PRINT SCREEN",INT 0B"HP 95LX",INT 15/AH=4Fh,INT 15/AH=85h SeeAlso: INT 16/AH=00h,INT 16/AH=10h,INT 1B,INT 2F/AX=A901h,INT 4A/AH=00h"TI" SeeAlso: INT 51"DESQview",INT 59"DoubleDOS",INT 79"GO32"