INT 16h,  12h (18)       Get Extended Shift Status                       many

Returns the current keyboard shift status. This service is provided to
support the enhanced (101/102-key) keyboard.

On entry:      AH         12h

Returns:       AL         Shift status
AH         Extended shift status

                                                                          

                             Shift Status (AL)

7 6 5 4 3 2 1 0
1 . . . . . . .      Insert locked
. 1 . . . . . .      Caps Lock locked
. . 1 . . . . .      Num Lock locked
. . . 1 . . . .      Scroll Lock locked
. . . . 1 . . .      Alt key is pressed
. . . . . 1 . .      Ctrl key is pressed
. . . . . . 1 .      Left Shift key is pressed
. . . . . . . 1      Right Shift key is pressed


                         Extended Shift Status (AH)

7 6 5 4 3 2 1 0
1 . . . . . . .      Sys Req key is pressed
. 1 . . . . . .      Caps Lock key is pressed
. . 1 . . . . .      Num Lock key is pressed
. . . 1 . . . .      Scroll Lock key is pressed
. . . . 1 . . .      Right Alt key is pressed
. . . . . 1 . .      Right Ctrl key is is pressed
. . . . . . 1 .      Left Alt key is pressed
. . . . . . . 1      Left Ctrl key is pressed

Notes:         This service is supported only on the AT dated
11/15/85 and after, the XT dated 1/10/86 and after,
and the XT-286.

The shift status byte return in AL is obtained from
the byte at memory location 0:0417h. Note that this
is the same value that is returned by Service 02h.

Note that the Extended Shift Status (value returned
in AH) reports if keys are being pressed, not
locked.

See Service 02h for an equivalent service that works
with all keyboards, not supporting the new keys on
the enhanced (101/102-key) keyboard.

See also: INT 16h, 02h

INT 16h, 12h (18) Get Extended Shift Status many