private HardwareInputVariant(Key keyboardVariant)
 {
     _keyboardVariant = keyboardVariant;
     _mouseVariant    = default;
     CurrentVariant   = Variant.Keyboard;
 }
 private HardwareInputVariant(MouseVariant mouseVariant)
 {
     _keyboardVariant = default;
     _mouseVariant    = mouseVariant;
     CurrentVariant   = Variant.Mouse;
 }
 /// <summary>
 ///     Creates new instance of <see cref="HardwareInputVariant" /> that represents mouse input variant like a particular
 ///     mouse button or mouse axis.
 /// </summary>
 /// <param name="mouseVariant">Variant of mouse input to be represented by <see cref="HardwareInputVariant" /> instance.</param>
 /// <returns><see cref="HardwareInputVariant" /> representing specified mouse variant.</returns>
 public static HardwareInputVariant CreateMouseVariant(MouseVariant mouseVariant) => new HardwareInputVariant(mouseVariant);