Сама Платформа.NET никогда не разрабатывалась для выполнения в среде реального времени. Если бы Вам действительно нужна обработка в режиме реального времени, Вы или использовали бы встроенный язык реального времени, который не основан на.NET, или используйте.NET Компактная Платформа, работающая на устройстве Windows CE.
В общем случае это не сработает. Терминалы ANSI (от которых происходят все эмуляторы) представляют только события нажатия клавиши. Они не записывают события вниз / вверх независимо.
Если вам нужен низкоуровневый доступ к событиям с клавиатуры, подходящей средой на самом деле является программа с графическим интерфейсом. Даже веб-приложение будет иметь более чистый доступ к ключевым событиям, чем терминал.
Я не думаю, что ncurses сработает. Ссылка, которую предоставил Базилев, говорит о клавишах «стрелка вверх» и «стрелка вниз», а не о нажатии и отпускании клавиши.
Следующие ссылки могут оказать некоторую помощь в использовании необработанного режима клавиатуры, который даст вам доступ к событиям клавиатуры, а не только к выпуску клавиш.
Режим Raw имеет тот недостаток, что вам нужно выполнять собственное преобразование из скан-кодов для персонажей.