namespace XFEExtension.NetCore.InputSimulator; /// 可替换的输入发送后端。实现必须同步发送,失败时抛出异常。 /// 由 InputController 串行调用;不要在多个控制器之间共享同一后端实例。 public interface IInputBackend : IDisposable { /// 后端名称。 string Name { get; } /// 是否支持 Unicode 文本事件。 bool SupportsUnicodeText { get; } /// 发送物理按键。isKeyUp 为 true 时释放。 void SendKey(ScanCode key, bool isKeyUp); /// 发送一个 UTF-16 码元的按下或释放事件;不支持时抛出 NotSupportedException。 void SendUnicode(char codeUnit, bool isKeyUp); /// 移动鼠标。绝对模式下 x/y 为 0..65535,virtualDesktop 决定映射至整个桌面或主屏。 void MoveMouse(int x, int y, bool absolute, bool virtualDesktop); /// 发送鼠标按键事件。 void SendMouseButton(MouseButton button, bool isKeyUp); /// 滚动鼠标;120 为一格,水平正值向右,垂直正值向上。 void ScrollMouse(int delta, bool horizontal); }