Note: currently functionality allows only standard keyboard input
Adapted from work by: Chris DeLeon of HomeTeam GameDev