GRUB's legacy boot menu and countless DOS-era utilities use exactly this INT 0x16 polling interface to read a keypress before a real interrupt-driven keyboard driver exists, and the fact that BIOS does NOT echo characters (unlike DOS's INT 0x21) is a real gotcha every bootloader author has to handle manually. Special keys like arrows returning ASCII=0 with only a scan code in AH is why line editors must always check AH, not just AL.