我正在编写一个ncurses程序,我需要检测KEY_BACKSPACE
。我已经在2个linux发行版下测试了该程序。
在suse下,它运行正常。但是在archlinux下,KEY_BACKSPACE
是263
,但我从程序打印的内容得到127
。
对于suse,他们都是263
。
我正在使用int ch = wgetch(somw_window)
来获取按键。
答案 0 :(得分:0)
取决于: Backspace 是否发送ASCII BS(8)或ASCII DEL(127)可配置许多终端仿真器,例如xterm。终端描述(由TERM
环境变量选择)必须与终端的配置一致,否则curses将看不到 kbs
功能(backspace-key)匹配键盘实际发送的是什么,你只需得到8/127值。
有些终端只发送一个或另一个(但大多数你会遇到的硬编码终端都使用ASCII DEL)。
进一步阅读(xterm FAQ):