Backspace、del、箭头键不适用于 Tilda 中的交互式程序

Backspace、del、箭头键不适用于 Tilda 中的交互式程序

我目前在 Debian 的轻型网络安装上运行 Openbox。在 Tilda 中,当我使用nslookup或 之类的程序时winexe,我的某些按键无法正常工作。

  • Backspace产生^?
  • Up产生^[[A
  • Left产生^[[D
  • Down产生^[[B
  • Right产生^[[C
  • Delete产生^[[3

当我从 bash 提示符本身输入时,这不是问题,只有当程序在 Tilda 中运行时才出现问题。当我从 xterm 窗口运行相同的程序时,也不会发生这种情况。

是什么赋予了?

答案1

在内部bash,这些键的解释由库处理readline,它将看到这些序列并执行正确的操作。在外部bash,您依靠 tty 线路规则来解释它们。有关该过程的更多信息,请参阅最近的问题及其答案:清除/删除 Linux 中 shell/终端上输入错误的隐形密码

线路规则不处理UpLeftDownRight和等键Delete。如果我nslookup现在在 xterm 中运行自己,它们会做同样的事情——这是正常行为。 (我没有winexe来测试)。

退格键是一个不同的问题。您可以在 Tilda 首选项窗口(兼容性下)中更改退格键和删除键发送的内容。或者,您可以通过检查 的输出stty -a并设置擦除字符以匹配通过 发送的内容来确保您的 TTY 配置了正确的字符stty erase ^?

相关内容