自动检测组合键的转义序列

时间:2015-12-31 13:26:05

标签: shell terminal kernel key-bindings

是否可以自动检测组合键的转义序列?

,即,不是运行cat,而是手动按ctrl+rightctrl+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=?

这个问题与我的另一个问题https://stackoverflow.com/questions/34547008/reverse-map-the-keys-binding-value-to-the-key-combination完全相反。

我要求它自动化在终端设置密钥绑定的过程,对于开发人员,这样他们就不需要手动运行所有可能的组合,就像我们现在必须做的那样(as seen here)< / p>

1 个答案:

答案 0 :(得分:-1)

  

是否可以自动检测密钥的转义序列   组合

由于shell(与任何用户程序一样)无法洞察终端驱动程序,因此无法预测驱动程序对组合键的作用。还要考虑到某些终端我们可以改变键盘的行为(例如cf. xmodmap)。自动检测不是普遍可行的。