INT 16,12 - Extended Get Keyboard Status (AT+)
AH = 12h on return: AH = BIOS keyboard flags (BIOS Data Area location 40:18) │7│6│5│4│3│2│1│0│ AH │ │ │ │ │ │ │ └──── left CTRL key depressed │ │ │ │ │ │ └───── left ALT key depressed │ │ │ │ │ └────── right CTRL key pressed │ │ │ │ └─────── right ALT key depressed │ │ │ └──────── scroll-lock depressed │ │ └───────── num-lock key depressed │ └────────── caps-lock key depressed └─────────── system request key depressed AL = BIOS keyboard flags (BIOS Data Area location 40:17) │7│6│5│4│3│2│1│0│ AL │ │ │ │ │ │ │ └──── right shift key depressed │ │ │ │ │ │ └───── left shift key depressed │ │ │ │ │ └────── CTRL key depressed │ │ │ │ └─────── ALT key depressed │ │ │ └──────── scroll-lock is active │ │ └───────── num-lock is active │ └────────── caps-lock is active └─────────── insert is active - available on AT and PS/2 machines with extended keyboard support - similar to INT 16,2 - see KB FLAGS