Shell 自动检测组合键的转义序列
是否可以自动检测组合键的转义序列 ,即,不必运行Shell 自动检测组合键的转义序列,shell,terminal,kernel,key-bindings,Shell,Terminal,Kernel,Key Bindings,是否可以自动检测组合键的转义序列 ,即,不必运行cat,然后手动按ctrl+right或ctrl+left来检测转义序列为^[[5C或^[[5D,是否可以自动执行?在这种情况下,我们可以发送fn(ctrl+left)或fn(ctrl+right)通过管道作为cat的输入,并直接获取输出(第一次,当^[[5C或^[[5D未知时) fn(char a[]='ctrl+right') {..outputs the actual keypress signal for the input string
cat
,然后手动按ctrl+right
或ctrl+left
来检测转义序列为^[[5C
或^[[5D
,是否可以自动执行?在这种情况下,我们可以发送fn(ctrl+left
)或fn(ctrl+right
)通过管道作为cat的输入,并直接获取输出(第一次,当^[[5C
或^[[5D
未知时)
fn(char a[]='ctrl+right') {..outputs the actual keypress signal for the input string a.. ;} | cat; fn=?
这个问题与我的另一个问题完全相反
我这样做是为了自动化在终端中为开发人员设置密钥绑定的过程,这样他们就不必像我们现在所做的那样,为所有可能的组合手动运行()
是否可以自动检测钥匙的转义序列
组合
由于shell(任何用户程序)对终端驱动程序没有洞察力,它不能预测驱动程序将如何处理键组合。还考虑到某些终端,我们可以改变键盘的行为(例如,CF)。.自动检测不是万能的。
我不明白这个问题。cat
是如何找到按键的转义顺序的。你是在问如何将单词ctrl+right
转换为合适的按键顺序吗?是的。我可以用什么方法代替手动将ctrl+left按入键盘吗如果可能的话,所有按键的组合都可以吗?这里的要点是什么?文档中的terminfo选项不正是这样做的吗?