Adding Direct Input support, implementing keyboard

Adding Direct Input support, implementing keyboard