在 ncurses 中检测 KEY_BACKSPACE
detecting KEY_BACKSPACE in ncurses
我正在写一个ncurses程序,我需要检测KEY_BACKSPACE
。我已经在 2 linux 发行版下测试了该程序。
在suse下,运行正常。但是在 archlinux 下,KEY_BACKSPACE
是 263
,但是我从程序中打印出来的是 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 常见问题解答):
我正在写一个ncurses程序,我需要检测KEY_BACKSPACE
。我已经在 2 linux 发行版下测试了该程序。
在suse下,运行正常。但是在 archlinux 下,KEY_BACKSPACE
是 263
,但是我从程序中打印出来的是 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 常见问题解答):