input from hardware keyboard implemented