Yesterday evening I did my first steps in emulating the keyboard input with a Arduino. I could have used any other microcontroller with a sufficient number of GPIOs, but the Arduino I had laying around and trying out stuff is very easy.
We also had green light on in the hackerspace...
Basically, what the test code does, is reading the 8 scan lanes in as a byte. The scan is just a pulling down one lane after the other. When the scan is at a certain lane, the controller pulls down one of the 8 lanes going back into the machine.
The scan pulses are 220μs long.
I tested the setup with the character '0'. Therefore i had to pull down lane 2 when the scan was at lane 1. After some tests and rearrangements it also worked pretty well.
Doing this i made two discoveries regarding the Arduino. First is that the pins with ADCs might not be able to sink a "large" current to ground, resulting is a weak signal that doesn't reach the machine. Due to that I used the port with the ADCs as part of the scan input.
The second thing is that the LED on pin 13 corrupted my incoming signal by drawing too much current (it's a fairly weak signal). The solution was desoldering the LED.