2012-02-22 13 views
9

Virtualbox-VMと対話して、Virtualbox-Guest-Additionsの無人インストールを実行します。したがって、VMにキーストロークを送信する必要があります。私はVBoxManage-APIを使用することにより、これを行うことができるよ、私はVMにスキャンコードのHEXを送信場所:文字のキーボードスキャンコードを取得

:よう

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

は今、私は、VMに完全なコマンドを送信したいです

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

私はその文字列のすべての文字をスキャンコードに変換して、VBoxManageを使ってVMに送信する必要があります。

これらの文字をLinuxの対応するキーボードスキャンコードに変換するにはどうすればよいですか?私のVMは私のホストと同じキーボードマッピングを持っています。私はそれのように使用できる何かを探しています:

$ getscancode n 
> 31 

+0

私はちょうど 'showkey -s'を見つけました。私には正しいスキャンコードが与えられています。しかし、それは私のウィンドウマネージャー以外のターミナルでしか動作しません。それ以外の場合、 'コンソールを参照するファイル記述子を取得できませんでした。 – ifischer

+1

'xev'はあなたが必要とする情報を提供しますが、' showkey -s'のようなきちんとしたフォーマットではありません(私はそれを答えとして与えることを躊躇しています)。ブラックボックスにカーソルを置き、必要なキーを入力する必要があります。 –

+0

参照[ASCIIコードをATセット2キーボードスキャンコードに変換する](http://unix.stackexchange.com/questions/250377/translate-ascii-codes-to-at-set-2-keyboard-scancodes) – Gilles

答えて

5

showkey --asciimost keysで動作すると思われ、GNOMEターミナルで動作します。

+1

これのみインタラクティブモードで動作します。私はスクリプト内からkeycharを取得したいので、 'getscancode n 'のようなものを呼び出すことができます。 – ifischer

+1

showkey --asciiは私のケースで正しいスキャンコードを報告していないか、まったく報告していないか、単にasciiグリフ、8進疑似スキャンコードとキーコード –

関連する問題