うん。キーパッドがないと、ncurses はエスケープ コードを処理しません。キーパッドのマニュアルページから:
The keypad option enables the keypad of the user's terminal. If en-
abled (bf is TRUE), the user can press a function key (such as an arrow
key) and wgetch returns a single value representing the function key,
as in KEY_LEFT. If disabled (bf is FALSE), curses does not treat func-
tion keys specially and the program has to interpret the escape se-
quences itself. If the keypad in the terminal can be turned on (made
to transmit) and off (made to work locally), turning on this option
causes the terminal keypad to be turned on when wgetch is called. The
default value for keypad is false.
多くの場合、ncurses プログラムで最初に行うことは、適切なキーボード マッピングを有効にするために keypad(stdscr, true) を呼び出すことです。
それが役立つことを願っています。