NCurses getstr() 带有可移动光标?
我想在 NCurses 中使用 getstr() 读取使用输入。但是,当我使用箭头键时,它会打印键码而不是实际移动光标。如何让它从左向右移动,以便我可以在文本传递到缓冲区之前对其进行编辑?
I want to read use input using getstr() in NCurses. However, when I use the arrow keys, it prints keycodes instead of actually moving the cursor. How can I make it move left of right so I can edit the text before it gets passed into the buffer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Curses 不解释输入的箭头键。您得到的唯一结果是,当设置键盘模式时,KEY_LEFT 充当退格键。但幸运的是,编写您自己的 getstr 替代品并不太复杂。以下对我有用:
为了使其工作,您需要打开键盘移动和 cbreak 模式,并关闭 echo 模式:
我希望这会有所帮助,
约亨
Curses does not interpret the arrow keys for input. The only thing you get is that KEY_LEFT serves as a backspace key when keypad mode is set. But luckily it is not too complicated write your own getstr replacement. The following works for me:
In order for this to work you need to have keypad move and cbreak mode on, and echo mode off:
I hope this helps,
Jochen