What do people want from the firmware?

From the discussion on Firmware and Booting, Jesse gave this description:

If I understand correctly, this means that the host polls the keyboard to get information on which keys are currently pressed. Or which keys have been pressed and released since the last poll? So when I press a key, the keyboard registers that key as pressed, and clears that state when it’s polled again, unless the key is still pressed. And after a key is released, the next poll generates a key release event?

That does make things trickier than if the keyboard simply sent interrupts to the host, doesn’t it? Especially for shift-inverted keys with chorded, one-shot, and sticky modifiers (just shift really) that all need to work properly.

Or have I misunderstood how it all works? I haven’t had time to look at much of the code yet.