Вы можете попробовать использовать библиотеку
www.leonerd.org.uk/code/libtermkey/. Я в своем "фреймворке"
https://bitbucket.org/igor_kostromin/consoleframework для обработки ввода использую именно её. Как именно - можно посмотреть в файлах ConsoleApplication.cs и LibTermKey.cs.