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

Linux 从Shell输入中检测元(特殊)键(Ctrl、Shift、Alt、Tab、Esc、Backspace),linux,shell,input,meta,Linux,Shell,Input,Meta,我想知道是否有人知道如何检测元(特殊)密钥 (Ctrl、Shift、Alt、Tab、Esc、Backspace)从Shell输入 我看到过一些帖子,解释了如何检测箭头键等,但没有看到上面的特殊键。 是否有任何方法可以执行$showkey-s并使用原始扫描代码以某种方式获取密钥输入 任何形式的帮助都将不胜感激 我不确定它是否总是有意义的。tty学科正在做一些事情(细节是血淋淋的)。也许您需要一个助手程序(例如,在C中,它将使用库,如ncurses或readline),例如 一般来说,你不能这样做。

我想知道是否有人知道如何检测元(特殊)密钥 (Ctrl、Shift、Alt、Tab、Esc、Backspace)从Shell输入

我看到过一些帖子,解释了如何检测箭头键等,但没有看到上面的特殊键。
是否有任何方法可以执行
$showkey-s
并使用原始扫描代码以某种方式获取密钥输入


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

我不确定它是否总是有意义的。
tty
学科正在做一些事情(细节是血淋淋的)。也许您需要一个助手程序(例如,在C中,它将使用库,如
ncurses
readline
),例如

一般来说,你不能这样做。也就是说:

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

您所说的“Shell输入”是什么意思?
Tab
Backspace
生成密钥码
Ctrl
Shift
Alt
以及可能的
Esc
修改其他键发送的键代码,但通常无法单独检测它们。shell输入指的是从Bash shell读取输入。