Я не пробовал это, но я вижу риск попадания в бесконечный цикл.
Так что, если вы можете сделать это, вы должны убедиться, что диапазон клавиш, которые вы используете в качестве ввода, НЕ пересекается с клавишами, которые вы производите в качестве вывода.