The choice of the letter E may be a reference to the 'Lord Marquaad E' meme.
@svavar @argv_minus_one "only made sense in the late 2010s"
I would say the phrase "made sense" is doing a lot of work here.
I've heard that the PS/2 keyboard interface has a dedicated interrupt line, but that doesn't appear to be true. https://electronic-engineering.ch/microchip/datasheets/pinout/pinout.html#keyboard_5
@argv_minus_one @fcalva Hi, old timer who wrote my own keyboard driver in assembler for a DOS game engine:
- technically, yes: the PS/2 mini DIN port and the older AT DIN port don't have an IRQ line themselves, they are merely some type of bidirectionnal serial.
BUT
- They talk to a keyboard controller at the other end of this serial connection (used to be an Intel 8042 micro controller), and that absolutely DOES fire IRQ 2 whenever there's data from the keyboard.
@argv_minus_one @fcalva so PS/2 do have an IRQ (2), it's just not handled by the keyboard (as you pointed out) but by a microcontroller on the motherboard.
(and the PS/2 protocol natively supports N-key rollover. Another advantage over USB)
USB is pretty much the same story: the controller on the motherboard is what signals an interrupt.
There is the difference that the USB controller doesn't necessarily have a dedicated line to the keyboard (there might be a hub in the way) and therefore resorts to polling, but there's still a keyboard interrupt.
I do have a keyboard that supports full HID and has n-key rollover, but it has to be toggled on by pushing a button on the keyboard.
I vaguely remember that this is because some BIOSes and/or OSes will try to switch over to full HID but not actually receive keystrokes properly because their full-HID implementation is buggy.
To work around this, the keyboard initially sends keystrokes over HIDBP. It only sends keystrokes over HID when the button is pushed to enable it.