Updated keyboard driver - now relies on IRQ