20.26. 指定したゲスト仮想マシンへのキーストロークの組み合わせの送信
virsh send-key ドメイン
--codeset
--holdtime
キーコード コマンドを使用すると、特定のゲスト仮想マシンに、キーコード としてシーケンスを送信できます。各 キーコード は、数値または以下の対応する コードセット のシンボリック名になります。
--holdtime
を指定すると、各キーストロークは指定した時間 (ミリ秒単位) 保持されます。--codeset
ではコードセットを指定できます。デフォルトは Linux
ですが、以下のオプションを使用できます。
linux
- このオプションを選択すると、シンボリック名が対応する Linux キー定数マクロ名に一致するようになります。数値は、Linux 汎用入力イベントサブシステムが提供するものになります。xt
- XT キーボードコントローラーで定義する値を送信します。シンボリック名は提供されていません。atset1
- 数値は、AT キーボードコントローラー、set1 (XT 互換セット) で定義されるものです。atset1 から拡張されたキーコードは、XT コードセットの拡張キーコードとは異なる場合があります。シンボリック名は記載されていません。atset2
- 数値は、AT キーボードコントローラー、set 2 で定義されるものです。シンボリック名は記載されていません。atset3
- 数値は、AT キーボードコントローラー、set 3 (PS/2 互換) で定義されるものです。シンボリック名は記載されていません。os_x
- 数値は、OS-X キーボード入力サブシステムで定義されるものです。シンボリック名は、対応する OS-X の鍵定数マクロ名と一致します。xt_kbd
- 数値は、Linux KBD デバイスーで定義されるものです。これは、元の XT コードセットのバリアントですが、拡張キーコードのエンコードが異なります。シンボリック名は記載されていません。win32
- 数値は、Win32 キーボード入力サブシステムで定義されるものです。シンボリック名は、対応する Win32 鍵定数マクロ名と一致します。usb
- 数値は、キーボード入力の USB HID で定義されるものです。シンボリック名は記載されていません。rfb
- 数値は、raw キーコードを送信するために RFB 拡張で定義されるものです。これは XT コードセットのバリアントですが、拡張キーコードでは、最初のバイトの上位ビットではなく、2 番目のビットセットの下位ビットが使用されます。シンボリック名は記載されていません。
例20.53 ゲスト仮想マシンにキーストロークの組み合わせを送信する方法
以下の例では、Linux エンコードの Left Ctrl、Left Alt、および Delete をguest1 仮想マシンに送信し、それらを 1 秒間保持します。これらの鍵はすべて同時に送信されるため、ゲストがランダムな順序で受信できます。
# virsh send-key guest1 --codeset Linux
--holdtime 1000
KEY_LEFTCTRL KEY_LEFTALT KEY_DELETE
注記
複数の キーコード を指定すると、すべてがゲスト仮想マシンに同時に送信されるため、順不同で受信されることがあります。別のキーコードが必要な場合は、シーケンスを送信する順序で virsh send-key コマンドを複数回実行する必要があります。