[Coco] Recreating the CoCo keyboard

Rick Ulland rickulland1 at gmail.com
Wed Oct 21 09:04:12 EDT 2020

For years, it was complicated. Take the CoCo3 matrix. Keys are wired in 
an array, a keypress will short one X to one Y. You can always decode 
two presses in an array like that. But another  keypress in an active X 
or Y row creates a ghost connection - 4 characters for 3 inputs.

Tandy went for a simple layout on the CoCo3, adjacent keys are wired 
together (including the arrow keys).  Elsewhere, some makers would wire 
the cursor keys WASD so a double press here was on separate cols and 
rows and less likely to ghost. I expect CoCo game designers just learned 
which keys clashed during testing and didn't use those.

I kind of assume this is all obsolete stuff. Don't modern keyboard 
controller chips use an N-key (strobed or whatever) matrix so it's up to 
your interface?

Good luck with the project. I could use 'one' (heh).


PS : LTT once demoed an N key rollover usb keyboard that got around the 
6 key limit by installing itself as multiple keyboards in device manager.

On 10/21/20 3:32 AM, Ciaran Anscomb wrote:
> Allen Huffman wrote:
>>> On Oct 20, 2020, at 7:06 PM, James Jones <jejones3141 at gmail.com>
>>> wrote:
>>> KRO = key rollover, I suspect.
>> Well, that would be whatever Windows/MacOS/Linux do with a USB keyboard,
>> then.
> I think USB has some small but practical limit to the number of
> simultaneous keypresses (six?), but which sets of keys can be recognised
> at the same time is down to the keyboard itself.
> As an example, I think it's nigh on impossible to play (unpatched)
> Donut Dilemma under emulation on some PC keyboards.
> ..ciaran

More information about the Coco mailing list