Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get keyboard scancode of char

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

?

like image 456
Wolkenarchitekt Avatar asked Feb 22 '12 13:02

Wolkenarchitekt


1 Answers

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

like image 96
l0b0 Avatar answered Oct 03 '22 10:10

l0b0