从Shell输入中检测元(特殊)键(Ctrl, Shift, Alt, Tab, Esc, Backspace)



我想知道是否有人知道如何检测元(特殊)键( Ctrl , 转变, Alt , 标签, Esc , 退格)从Shell输入。

我看过解释如何检测箭头键等的帖子,但没有上面的特殊键。
我是否有办法做$ showkey -s并使用原始扫描码以某种方式获得键输入?

任何形式的帮助将不胜感激!!

一般情况下,您不能这样做。也就是说:

  • X11发送KeyPressKeyRelease事件。
  • Linux控制台提供了一组ioctl,允许低级访问键盘,在console_ioctl(4)中记录。您可以将键盘设置为RAW或MEDIUMRAW模式(不要将这些模式与termios的RAW模式混淆,它们根本不相关)。

我不确定它是否总是有意义的。tty纪律正在做一些事情(细节是血腥的)。也许您需要一个辅助程序(例如在C中,它将使用ncursesreadline之类的库),例如dialog !

最新更新