在ncurses中检测KEY_BACKSPACE

时间:2017-07-06 08:10:34

标签: ncurses xterm

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

在suse下,它运行正常。但是在archlinux下,KEY_BACKSPACE263,但我从程序打印的内容得到127

对于suse,他们都是263

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

1 个答案:

答案 0 :(得分:0)

取决于: Backspace 是否发送ASCII BS(8)或ASCII DEL(127)可配置许多终端仿真器,例如xterm。终端描述(由TERM环境变量选择)必须与终端的配置一致,否则curses将看不到 kbs 功能(backspace-key)匹配键盘实际发送的是什么,你只需得到8/127值。

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

进一步阅读(xterm FAQ):