Here are the parts used in this project:

This is basically an arduino acting as a very small keyboard. I only have the keys I need for the task at hand. That task is allowing basic operation of GRUB (the Linux bootsector loader) as well as the advanced windows boot options via F8.

The arduino uses the ps2dev arduino library to emulate the ps/2 keybard. It's a very well written library that allows simple implementation of ps/2 keycodes. There isn't much documentation, so the example projects are basically all we have to work with when trying to figure out what to do, and they're all written in different ways. The good news is that the simplest example works very well. You just have to understand how the keys are registered as being pressed, and how they're registered as being released. You must have both, or it will assume you are holding the key, or never pressed it to begin with. I'll put that simple code up here as well. Here are some pictures of the bare board once it was plugged in. While I don't always build things without prototyping on a breadboard first, this project went straight from parts to soldered on the perf board. Since it's just pull down resistors and switches with a cut ps/2 cable attached, I felt confident I wouldn't mess anything up.

UPDATE: I designed and printed a case to cover most of the components beyond the keycaps. The last picture is the finished and installed keyboard. It's attached to the leg of my computer case/TV stand.

ps2_keyboard_custom.ino