Забудьте о циклах для взаимодействия с пользователем в js. Пока цикл не отработает ни одно пользовательское событие не пройдёт. JS однопоточен.
Вот тема от вашего брата по разуму:
https://javascript.ru/forum/css-html...-continue.html почитайте, может что поймёте. (Есть подозрение, что вы пришли сюда с одних курсов по переквалификации с низкоуровневых языков
.) А лучше почитайте учебник с этого сайта с нуля, т.к. ваше представление о том, как всё это работает на низком уровне тут только мешает.
P.S. Булевой перемеренной всё равно не получится, т.к. одновременно могут нажиматься и отпускаться много клавиш.