我在跟随输入实时的应用程序中使用 readline。我不想让用户按 Enter、Control + J 或任何其他等效键,从而无意中清除该字段。
我实际上是自己转发密钥,所以我可以捕获并阻止某些密钥输入,但我不认为这是要走的路,因为还必须处理反向搜索 (Control - R)。
我查看了 gnu 文档,但没有发现任何有用的东西。
我在跟随输入实时的应用程序中使用 readline。我不想让用户按 Enter、Control + J 或任何其他等效键,从而无意中清除该字段。
我实际上是自己转发密钥,所以我可以捕获并阻止某些密钥输入,但我不认为这是要走的路,因为还必须处理反向搜索 (Control - R)。
我查看了 gnu 文档,但没有发现任何有用的东西。
您可以在 libreadline 的初始化文件中禁止此键配置键绑定:
~/.inputrc
当前用户配置/etc/inputrc
所有用户配置。要禁止Enterand Control+J,您可以添加到初始化文件中:
返回:
CJ:
如果您愿意,可以使用rl_unbind_key以编程方式执行此操作,添加到您的代码中:
rl_unbind_key('\r'); // unbind Enter
rl_unbind_key('\n'); // unbind Control+J