[HID] Redesigned support for Portals

- Added hotplug support on Windows
- Added support for XamInputNonControllerGetRawEx & XamInputNonControllerSetRawEx
This commit is contained in:
Gliniak
2026-03-13 22:31:24 +01:00
committed by Radosław Gliński
parent 3b8debcf5b
commit d37c22aad0
24 changed files with 427 additions and 340 deletions

View File

@@ -297,6 +297,20 @@ void EmulatorWindow::EmulatorWindowListener::OnMouseUp(ui::MouseEvent& e) {
emulator_window_.OnMouseUp(e);
}
void EmulatorWindow::EmulatorWindowListener::OnUsbDeviceChanged(
bool is_arrival) {
auto* portal = emulator_window_.emulator()->input_system()->GetPortal();
if (!portal) {
return;
}
if (is_arrival) {
portal->OnDeviceArrival();
} else {
portal->OnDeviceRemoval();
}
}
void EmulatorWindow::DisplayConfigGameConfigLoadCallback::PostGameConfigLoad() {
emulator_window_.ApplyDisplayConfigForCvars();
}

View File

@@ -150,6 +150,8 @@ class EmulatorWindow {
void OnMouseDown(ui::MouseEvent& e) override;
void OnMouseUp(ui::MouseEvent& e) override;
void OnUsbDeviceChanged(bool is_arrival) override;
private:
EmulatorWindow& emulator_window_;
};