Если понял правильно, то он проверит бит нажатия клавиши 1 на единицу, и если тот будет в единице, то нажмет клавишу 2, подождет 50 милисекунд, и потом пустит цикл проверки по новой. А если бит клавиши 1 будет в нуле, то просто подождет 20 милисекунд, и опять же пустит цикл проверки по новой. Так?
Это я про первую часть.