I'm working on a proyect that need read the keys from an usb keyboard with teensy and PS2keyboard library, really a modified PS2keyboardExt library to work with teensy , when I plug a native ps2 keyboard all works well, but when i plug a converted usb to ps2 keyboard i can't read anything, but if I plug this converted usb to ps2 keyboard to a computer it works.
Somebody can help me? i think that the keyboard must be set in "ps2 mode" by software, but i don't know how do it.
If I plug a PS2 native keyboard to teensy all works well.
it's possible that usb keyboards don't auto detect that are plugged to a ps2 port and works in usb mode? they will need a special initialization protocol?
I read this pdf ,sorry, in Spanish http://picmania.garcia-cuervo.net/recursos/teclado_at-ps2_interfaz_y_funciones_v1.2.pdf at page 29 (marked as 23), first paragraph tell that a constant 0xAA flow with incorrect parity bit is sent froom the keyboard to computer waiting for a "incorrect parity" 0xFE message from computer to cheack that teh computer is on.
Now I will try to modify the Ps2KeyboardExt2 library to check the parity bit and reply with 0xFE to the keyboard.
Also I'm thinking in send a RESET comand 0xFF beacuse when do a sofware reset do not send a a constant 0xAA flow.
That's interesting. Perhaps it's only some keyboards that need it: I've definitely had it working with a USB keyboard and adapter so some keyboards work with the library as-is, at least.
Have you tried it yet? I'd like to know the outcome.
All native ps2 keyboards that I tested works well (6 keyboards), and the only two usb gave to me a constant 0xAA flow.
I'm planing modifiy the ps2interrupt function and if receive 0xAA with incorrect parity automatically return 0xFE to the keyboard, any ideas? reading the source code ps2Keyboard_CurrentBuffer only seems to be the data of the keyboard, not the entire value read from keyboard.