【问题标题】:Prevent readline line submit防止 readline 行提交
【发布时间】:2016-09-22 22:19:39
【问题描述】:

我在一个跟随输入实时的应用程序中使用 readline。我不想让用户按 Enter、Control + J 或任何其他等效键,从而无意中清除该字段。

我实际上是自己转发密钥,因此我可以捕获并阻止某些密钥输入,但我认为这不是要走的路,因为还必须处理反向搜索 (Control - R)。

我查看了 gnu 文档,但没有发现任何有用的东西。

我的代码类似于这个https://github.com/ulfalizer/readline-and-ncurses

【问题讨论】:

  • 我不是专家,但在Alternative Interface 帮助中有什么帮助吗?
  • 谢谢你的链接,很遗憾没有。

标签: libreadline


【解决方案1】:

您可以在 libreadline 的初始化文件中禁止此键配置键绑定:

  1. ~/.inputrc 中为当前用户配置
  2. /etc/inputrc 中为所有用户配置。

要禁止EnterControl+J,你可以添加到初始化文件中:

返回:
C-J:

如果您愿意,可以使用rl_unbind_key 以编程方式执行此操作,添加到您的代码中:

rl_unbind_key('\r'); // unbind Enter
rl_unbind_key('\n'); // unbind Control+J

【讨论】:

  • 这就是我要找的。谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多