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

发布于 2024-12-17 21:10:00 字数 258 浏览 0 评论 0原文

我想知道是否有人知道如何检测元(特殊)键 (CtrlShiftAltTabEsc退格键)来自 Shell 输入。

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

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

I want to know if anybody knows how to detect meta (special) keys
(Ctrl, Shift, Alt, Tab, Esc, Backspace) from Shell Input.

I've seen posts that explain how to detect arrow keys and such, but not the above special keys.
Is there any way I can do $ showkey -s and use the raw scan-code to somehow get the key input?

Any kind of help will be much appreciated!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

黄昏下泛黄的笔记 2024-12-24 21:10:00

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

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

In general, you cannot do it. That said:

  • X11 sends KeyPress and KeyRelease events.
  • The Linux console provides a set of ioctls that allow low-level access to the keyboard, documented at console_ioctl(4). You would set the keyboard to RAW or MEDIUMRAW mode (don't confuse these modes with termios' raw mode, they are not related at all).
此刻的回忆 2024-12-24 21:10:00

我不确定它总是有意义。 tty 规则正在做一些事情(细节很血腥)。也许您需要一个帮助程序(例如,在 C 语言中,它将使用像 ncursesreadline 这样的库),例如 对话框

I'm not sure it always make sense. The tty discipline is doing something (details are gory). Perhaps you need a helper program (e.g. in C, which would use a library like ncurses or readline) such as dialog!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文