As much as you'd. As little as selling you the board and a set of schematics and PL, to selling you a populated board with wires (could be connectorized) going out to resistors/LEDs (you'd have to specify reds/greens and how long you'd like the wire) for you to mount on something with predrilled 3mm or 5mm holes or whatever sizze LED you'd like, capable of accepting 12 bytes of data at up to 115200 baud via USB that would then turn on the appropriate LED in each byte (1 = on, 0 = off) with about 1mS of lag:
1 bit every 1/115200 of a second received, 10 bits/byte, 12 bytes: (1/115200) sec/bit * 10 bits/byte * 12 bytes = .00104 sec.
A suitable wallwart for power, 88 LEDs * .02A max= 1.76A, so a 2A supply should do nicely.
You could order some LEDs & resistors from here,
http://www.dipmicro.com/store/index.php?act=viewCat&catId=511
do some experimenting as to what brightness you'd like, using a 5V source.
I could even give you a little sketch to run on your arduino:
LEDpin = 2;
void setup(){
pinMode (LEDpin, OUTPUT);
}
void loop(){
digitalWrite (LEDpin, HIGH);
delay (1000);
digitalWrite (LEDpin, LOW);
delay (1000);
}
adjust the pin & on/off times as you wish.
I had ease of assembly in mind when I designed the board.
Should be able to obtain all parts needed from dipmicro.com, and the shift register/drivers TPIC6B595N from Avnet.com. ATMega328P (28 pin DIP) from either place; -PU or -PN is fine. -PN is just wider temperature range.
You haven't indicated if keypress is related to LEDs lighting up or vice versa, so I assume that you will be addressing that in however the keyboard connects to the PC. I won't do the PC coding part.