Mac OS X でも同じ問題が見つかりましたが、以下を追加することで解決しました:
keypad(stdscr, TRUE);
getch()
を保存していました int であるはずのときに char として呼び出します。切り替え後は正常に動作します。
標準 (VT100 のような) 端末は、矢印キーが押されると一連の文字を送信します。これらが順番に押されたかどうかを追跡する必要があります。注目すべき文字は次のとおりです:
Down Arrow 0x1B 0x5B 0x42
Left Arrow 0x1B 0x5B 0x44
Right Arrow 0x1B 0x5B 0x43
Up Arrow 0x1B 0x5B 0x41