20.26. キー入力の組み合わせの指定されたゲスト仮想マシンへの送信

virsh send-key domain --codeset --holdtime keycode コマンドを使用すると、シーケンスを keycode として特定のゲスト仮想マシンに送信できます。各 keycode は、以下の対応する codeset からの数値またはシンボリック名とすることができます。
--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 コードセットの種類ですが、拡張キーコードには、高ビットの第 1 バイトではなく、低ビットの第 2 バイトセットがあります。シンボリック名は一切指定されません。

例20.53 キー入力の組み合わせをゲスト仮想マシンに送信する方法

以下の例では、Left CtrlLeft Alt、および Delete を Linux エンコードで guest1 仮想マシンに送信し、1 秒間保持します。これらのキーは同時に送信され、ゲストではランダムな順序で受信されます。
virsh send-key guest1 --codeset Linux --holdtime 1000 KEY_LEFTCTRL KEY_LEFTALT KEY_DELETE

注記

複数の keycodes を指定した場合は、それらはゲストに同時に送信され、ランダムな順序で受信されます。keycode を特定の順序で受信させたい場合は、virsh send-key コマンドを受信させたい順序で複数回実行する必要があります。