获取字符的键盘扫描码

发布于 2025-01-08 14:38:02 字数 528 浏览 0 评论 0原文

我想与 Virtualbox-VM 交互以进行 Virtualbox-Guest-Additions 的无人值守安装。因此我必须将击键发送到虚拟机。我可以通过使用 VBoxManage-API 来做到这一点,我将扫描代码的十六进制发送到虚拟机:

# sends "b" to the VM
VBoxManage controlvm "$VMNAME" keyboardputscancode <HEX>

现在我想向虚拟机发送完整的命令,例如:

mount /dev/scd0 /media/cdrom0<Enter>

所以我必须转换该命令的每个字符将字符串转换为扫描码并使用 VBoxManage 将其发送到 VM。

在 Linux 上如何将这些字符转换为相应的键盘扫描码?我的虚拟机与我的主机具有相同的键盘映射。我正在寻找可以这样使用的东西:

$ getscancode n
> 31

I want to interact with a Virtualbox-VM to do an unattended install of Virtualbox-Guest-Additions. Therefore I have to send keystrokes to the VM. I'm able to do this by using the VBoxManage-API, where I send the HEX of the scancode to the VM:

# sends "b" to the VM
VBoxManage controlvm "$VMNAME" keyboardputscancode <HEX>

Now I want to send a complete command to the VM, like:

mount /dev/scd0 /media/cdrom0<Enter>

So I have to convert every single char of that string into a scancode and send it to the VM by using VBoxManage.

How do I convert these chars to the corresponding keyboard scancodes on Linux? My VM has the same keyboard mapping like my host. I'm looking for something I can use like that:

$ getscancode n
> 31

?

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

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

发布评论

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

评论(1

水波映月 2025-01-15 14:38:02

showkey --ascii 似乎适用于 大多数键,它确实可以在我的 GNOME 终端中使用。

showkey --ascii seems to work for most keys, and it does work in my GNOME Terminal.

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