Чтение цифровых символов под Mono

Я разрабатываю консольное приложение, которое должно прослушивать цифры с цифровой клавиатуры в обоих состояниях num lock - вкл. И выкл. Приложение работает на Raspberry Pi с Arch Linux и Mono. Поскольку я не нашел способа компиляции в Mono для постоянного включения numlock, я использую следующий метод для преобразования команд num pad в цифры:

private string ReadNumPadSymbol(ConsoleKeyInfo keyInfo)
    {
        char editedSymbol;
        switch (keyInfo.Key)
        {
            case ConsoleKey.Insert:
                editedSymbol = '0';
                break;
            case ConsoleKey.End:
                editedSymbol = '1';
                break;
            case ConsoleKey.DownArrow:
                editedSymbol = '2';
                break;
            case ConsoleKey.PageDown:
                editedSymbol = '3';
                break;
            case ConsoleKey.LeftArrow:
                editedSymbol = '4';
                break;
            case ConsoleKey.Clear:
                editedSymbol = '5';
                break;
            case ConsoleKey.RightArrow:
                editedSymbol = '6';
                break;
            case ConsoleKey.Home:
                editedSymbol = '7';
                break;
            case ConsoleKey.UpArrow:
                editedSymbol = '8';
                break;
            case ConsoleKey.PageUp:
                editedSymbol = '9';
                break;
            default:
                return String.Empty;
        }
        return editedSymbol.ToString();
    }

Он работает, как и ожидалось, в Windows, но в Linux метод возвращает пустую строку, когда нажата кнопка "5". По некоторым причинам это не входит в случай ConsoleKey.Clear. можно ли это исправить?

Спасибо!

0 ответов

Другие вопросы по тегам