Int 2D - Amis V3.5+ - Get Hotkeys [t]
AL = 05h
AH = multiplex number for program
Return: AL = status
00h not implemented
FFh supported
DX:BX -> hotkey list (see #2260)
Notes: this function is not valid unless a program is installed on the
specified multiplex number; use INT 2D/AL=00h to check
programs which provide hotkeys are required to provide this function
to be fully compliant with this specification
See Also: INT 2D/AL=00h,INT 2D/AL=01h,INT 2D/AL=02h,INT 2D/AL=03h,INT 2D/AL=04h
See Also: INT 2D/AL=06h
Format of AMIS hotkey list:
Offset Size Description (Table 2260)
00h BYTE type of hotkey checking (see #2261)
01h BYTE number of hotkeys (may be zero if TSR can disable hotkeys)
02h 6N BYTEs array of hotkey definitions
(one per hotkey, first should be primary hotkey)
Offset Size Description
00h BYTE hotkey scan code (00h/80h if shift states only)
hotkey triggers on release if bit 7 set
01h WORD required shift states (see #2262)
03h WORD disallowed shift states (see #2262)
05h BYTE hotkey flags (see #2263)
Notes: except for bit 7, the shift states correspond exactly to the return
values from INT 16/AH=12h. A set bit in the required states word
indicates that the corresponding shift state must be active when the
hotkey's scan code is received for the hotkey to be recognized; a
clear bit means that the corresponding state may be ignored. A set
bit in the disallowed shift states word indicates that the
corresponding shift state must be inactive.
for the disallowed-states word, if one of the "either" bits is set,
then both the corresponding left bit and right bit must be set
examples:
Ctrl-Alt-Del monitoring: 53h 000Ch 0003h 06h
Alt-key tap (DESQview): B8h 0000h 0007h 08h
Shf-Shf-N (NOTE.COM): 31h 0003h 000Ch 00h
Index: hotkeys;AMIS
See Also: #0005
Bitfields for type of AMIS hotkey checking:
Bit(s) Description (Table 2261)
0 checks before chaining INT 09
1 checks after chaining INT 09
2 checks before chaining INT 15/AH=4Fh
3 checks after chaining INT 15/AH=4Fh
4 checks on INT 16/AH=00h,01h,02h
5 checks on INT 16/AH=10h,11h,12h
6 checks on INT 16/AH=20h,21h,22h
7 reserved (0)
See Also: #2260
Bitfields for AMIS shift states:
Bit(s) Description (Table 2262)
0 right shift pressed
1 left shift pressed
2 either control key pressed
3 either Alt key pressed
4 ScrollLock active
5 NumLock active
6 CapsLock active
7 either shift key pressed
8 left control key pressed
9 left Alt key pressed
10 right control key pressed
11 right Alt key pressed
12 ScrollLock pressed
13 NumLock pressed
14 CapsLock pressed
15 SysReq key pressed
Notes: if bit 2 is set, either control key may be pressed for the hotkey; if
bits 8 and 10 are both set, then both control keys must be pressed.
Similarly for bits 3 and 9/11, as well as 7 and 0/1.
the SysReq key is often labeled SysRq
See Also: #2260,#2263
Bitfields for AMIS hotkey flags:
Bit(s) Description (Table 2263)
0 hotkey chained before processing
1 hotkey chained after processing
2 others should pass through this hotkey so that it can be monitored
3 hotkey will not activate if other keys pressed/released before hotkey
press is completed
4 this key is remapped into some other key
5 this key is conditionally chained (sometimes passed on, sometimes
swallowed)
6-7 reserved (0)
See Also: #2260,#2262