是否可以自动检测组合键的转义序列?
,即,不是运行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=?
这个问题与我的另一个问题https://stackoverflow.com/questions/34547008/reverse-map-the-keys-binding-value-to-the-key-combination完全相反。
我要求它自动化在终端设置密钥绑定的过程,对于开发人员,这样他们就不需要手动运行所有可能的组合,就像我们现在必须做的那样(as seen here)< / p>
答案 0 :(得分:-1)
是否可以自动检测密钥的转义序列 组合
由于shell(与任何用户程序一样)无法洞察终端驱动程序,因此无法预测驱动程序对组合键的作用。还要考虑到某些终端我们可以改变键盘的行为(例如cf. xmodmap
)。自动检测不是普遍可行的。