INT 2D - AMISAlternate Multiplex Interrupt Specification v3.5+ - GET HOTKEYS AL = 05h AH = multiplex number for program Return: AL = status 00h not implemented FFh supported DX:BX -> hotkey list (see #02572) 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 SeeAlso: INT 2D/AL=00h,INT 2D/AL=01h,INT 2D/AL=02h,INT 2D/AL=03h,INT 2D/AL=04h SeeAlso: INT 2D/AL=06h Format of AMISAlternate Multiplex Interrupt Specification hotkey list: Offset Size Description (Table 02572) 00h BYTE type of hotkey checking (see #02573) 01h BYTE number of hotkeys (may be zero if TSR(Terminate and Stay Resident) A program which remains in memory after terminating in order to provide services to other programs or the user. The name comes from the name of the DOS function call used to remain in memory after termination. 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 #02574) 03h WORD disallowed shift states (see #02574) 05h BYTE hotkey flags (see #02575) 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;AMISAlternate Multiplex Interrupt Specification SeeAlso: #00006 Bitfields for type of AMISAlternate Multiplex Interrupt Specification hotkey checking: Bit(s) Description (Table 02573) 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) SeeAlso: #02572 Bitfields for AMISAlternate Multiplex Interrupt Specification shift states: Bit(s) Description (Table 02574) 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 SeeAlso: #02572,#02575 Bitfields for AMISAlternate Multiplex Interrupt Specification hotkey flags: Bit(s) Description (Table 02575) 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) SeeAlso: #02572,#02574