在 ncurses 中检测 KEY_BACKSPACE

detecting KEY_BACKSPACE in ncurses

我正在写一个ncurses程序,我需要检测KEY_BACKSPACE。我已经在 2 linux 发行版下测试了该程序。

在suse下,运行正常。但是在 archlinux 下,KEY_BACKSPACE263,但是我从程序中打印出来的是 127.

对于 suse,它们都是 263

我正在使用 int ch = wgetch(somw_window) 获取按键。

这取决于:Backspace 发送 ASCII BS (8) 或 ASCII DEL (127) 是否可配置许多终端仿真器,例如作为 xterm。终端描述(由 TERM 环境变量选择)必须与终端的配置一致,否则 curses 将看不到 kbs 能力(退格- key) 匹配您的键盘实际发送的内容,您将获得 8/127 值。

有些终端只发送一个或另一个(但您会遇到的大多数硬编码终端使用 ASCII DEL)。

进一步阅读(xterm 常见问题解答):