Back to Provenance

3391

.changelog/3391.md

3.3.11.6 KB
Original Source

Added

  • CompanionKeyboardMouseCapable protocol — New PVCoreBridge protocol for emulator cores that support direct keyboard and mouse input from a companion controller session, distinct from the button/axis CompanionControllerCapable protocol
  • CompanionKeyboardMouseEvent — PVUI-only event type for keyboard and mouse events routed through CompanionInputRouter.keyboardMouseEvents publisher, separate from the DSU button/axis state pipeline
  • CompanionKeyboardBridge — Bridge class that converts VirtualKeyboardDelegate callbacks into keyboard events forwarded via CompanionInputRouter.sendKeyDown/sendKeyUp
  • PVDosBoxCore+CompanionControllerPVDosBoxCore now conforms to CompanionKeyboardMouseCapable, routing companion keyboard events to its KeyboardResponder and mouse trackpad events to its MouseResponder; trackpad deltas accumulate into a normalized cursor position (0–1) before forwarding to the libretro mouse pipeline
  • DOS keyboard overlayDOSKeyboardLayout provides a full QWERTY keyboard, mouse trackpad area, and quick-access function keys for DOS / DOSBox companion controller sessions

Changed

  • CompanionInputRouter — Keyboard and mouse events now use dedicated sendKeyDown/sendKeyUp/sendMouseMove/sendMouseButton methods and publish via a typed AnyPublisher<CompanionKeyboardMouseEvent, Never> stream; button/axis types imported from PVCoreBridge
  • PVEmulatorViewController+CompanionController — Updated to subscribe to keyboardMouseEvents and forward events to cores conforming to CompanionKeyboardMouseCapable alongside existing button/axis routing