小编use*_*202的帖子

Linux键盘扫描码问题:例如,向上箭头给^ [[A.

我们一直在努力了解Linux中的键盘扫描码行为.

当我们打开一个普通的bash shell时,箭头键按预期工作:UP显示历史记录中的上一个项目等.但是,当您生成一个进程时,箭头不再按预期工作.例如,UP打印^ [[A而不是上一个命令.

要证明这一点,请执行以下操作:

bash $ ping www.google.com

现在,按UPDOWN等等,您将在进程运行时看到错误映射的密钥代码.但是,当您终止该过程时,箭头键将再次起作用.

我们已经在CentOs,Ubuntu,Mac甚至是不同的shell(bash,sh,zsh)上测试过它,并且在任何地方都会发生同样的情况.我还尝试了使用kbd_mode的不同键盘模式,我们使用RAW和XLATE模式进行了测试.

在搜索答案时我能看到的最接近的东西是当IPython没有针对readline构建时,IPython用户经历了相同的行为.但是,据我所知,这与我们的案例无关.

我们正在开发一个基于C++ Tcl的控制台应用程序,它使用cin和cout与用户进行通信并获取输入.当我们尝试访问先前输入的命令的历史记录时,我们遇到箭头键问题.这对我们来说是一个主要问题,因为99%的人都希望箭头角色能够正常工作.

关于我们如何克服这一点的任何想法都将非常感激.

c++ linux bash shell scancodes

6
推荐指数
1
解决办法
1260
查看次数

标签 统计

bash ×1

c++ ×1

linux ×1

scancodes ×1

shell ×1