- It's a 2 way communication protocol, i.e. the PS/2 keyboard will receive messages from the host/controller
- There's 6 pins on the lead, but only 4 are used: vcc (power), ground, clock and data
- A key stroke is made up of a
breakmessage (i.e. key down, key up), so a key being held down sends repeating
- Different machines expect different timing between messages, the Amiga for instance seems to want around 20 microseconds between
breakotherwise it seems to ignore the key up event and you get the key down repeated
- Conversely the Atari 800 XL seems to want a large time space between
- Different keyboards behave slightly differently, the protocol doesn't seem to be entirely standardised, more like "it should work this way"
- A PS/2 keyboard will send a BAT,
0xAAand some keyboards will keep sending this until it gets a response from the host (the computer it's connected to), with
0xAA(meaning the PS/2 controller test is done), others will detect a key press and stop sending the
- Plugging a USB keyboard into a USD to PS/2 adapter won't work on keyboards with "active" components - though I'm not entirely clear on what exactly this means, it can generally be assumed anything non-standard/basic on a keyboard is active, i.e. bluetooth, or a USB hub, etc.
This is a backup copy of a very thorough set of articles on the PS/2 protocol for both the keyboard and mouse.