keyboard handling progress