IBMMuseum
Veteran Member
- Joined
- Aug 28, 2006
- Messages
- 1,488
The late-model PS/2s had support for 122-key keyboards out of the box. This is the sequence to check for BIOS support, possibly working for other manufacterers/BIOSes as well. Of course any OS with a HAL (typically off-topic here anyway) may give a different reply.
INT 15h, AH = C0h, bit 6 of Feature Byte 2 shows if the system has the ability to report keyboard functionality (in other words, for the next call)
INT 16h, AH = 09h. If bit 6 in AL is set on return, it means the BIOS has 122-key keyboard support (and can support INT 16h, AH = 20 -22h calls, checking for and retrieving 122-key keystrokes)
If bit 4 of AL is set for the same call, it means that the BIOS supports retrieving the Keyboard ID (the next call)
INT 16h, AH = 0Ah. Retrieves Keyboard ID in BX on return from call. The Keyboard ID of a 122-key keyboard (at least IBM's "Host Connect" keyboard for PS/2s) is 86ABh.
INT 15h, AH = C0h, bit 6 of Feature Byte 2 shows if the system has the ability to report keyboard functionality (in other words, for the next call)
INT 16h, AH = 09h. If bit 6 in AL is set on return, it means the BIOS has 122-key keyboard support (and can support INT 16h, AH = 20 -22h calls, checking for and retrieving 122-key keystrokes)
If bit 4 of AL is set for the same call, it means that the BIOS supports retrieving the Keyboard ID (the next call)
INT 16h, AH = 0Ah. Retrieves Keyboard ID in BX on return from call. The Keyboard ID of a 122-key keyboard (at least IBM's "Host Connect" keyboard for PS/2s) is 86ABh.