barnacle wrote:
It's not just the scan/decode choice.
If you have a completely cpu driven keyboard scan (i.e. the main CPU, not an auxiliary part) then it has to spend a certain amount of it's time just scanning the keyboard, as well as managing the debounce and rollover in software. If you have a completely hardware approach, you need to know when a key is ready, so probably an interrupt, as well as handling (probably) debounce and rollover.
Can't I just handle the incoming keypress with the 6522, the 6522 can trigger an interrupt on the 6502 right?
barnacle wrote:
Similarly for something like PS/2, you either need to poll the clock line - rapidly - or have it trigger an interrupt (again, processor time) to decode the data, and you still need to sort out the keydown/keyup messages as well (you might want both edges of a key press, as Windows did (does? I'm out of touch) in an event loop).
I'm not sure if I need keydown/keyup messages. Windows did/does this but did those older computers have have keydown/keyup messages? Something like the C64 or the Acorn BBC Micro?