===================================== 2.3 Handling keyboard input =====================================