获取字符的键盘扫描码
我想与 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
showkey --ascii
似乎适用于 大多数键,它确实可以在我的 GNOME 终端中使用。showkey --ascii
seems to work for most keys, and it does work in my GNOME Terminal.