Quote:
Have you tried reading port 0x60 just once after enabling IRQs to flush the buffer?
I have tried that, but it does not change the behavior; I still only get an IRQ when reading the port.
Quote:
You could probably read the port every now and then from e.g. the timer ISR.
Thank you for the suggestion, I have just implemented this and it works well
I completely agree with you, the real solution is implementing a proper USB stack - right now the I/O has very low priority for me (it should just work
), but maybe at some point in the future I will spend some effort to implement an USB-based keyboard driver. Thank you for your help!