0

私は、両方の num ロック状態 (オンとオフ) でテンキー キーボードからの数字をリッスンするコンソール アプリケーションを開発しています。アプリケーションは、Arch Linux と Mono を使用して Raspberry Pi で実行されています。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ケースに入らない。これに対する修正はありますか?

ありがとう!

4

0 に答える 0