Using Arduino Uno, USB Header Shield, and Motor Shield with USB Keyboard

SPI is Serial Peripheral Interface but when you look it up, SPI will do. It's fast and only selected devices read from or write to the bus.

Beyond that, I could spend hours typing what's already out there.