## Link to GitHub Issue or related Pull Request, if one exists
Related: #859 and #862.
## Description of change
Three SDVX (Valkyrie model) fixes:
* **API touch went to the wrong window.** SDVX registers touch on both
its Main Screen and Sub Screen windows, and the native injector kept
whichever attached last. The touch surface is now published explicitly:
sub screen window when windowed, main window in fullscreen.
* **Landscape never rotated API coordinates.** Synthetic contacts bypass
`transform::hardware_to_game`, so they missed the rotation a real finger
gets. Applied before injection now, as portrait already did. Extracted
to `sdvx_landscape_rotate` so both paths share it; gated on the native
path since `wintouchemu` rotates via the subscreen overlay instead.
* **`-sdvxnosub` didn't hide the sub window in fullscreen.**
`ShowWindow_hook` had branches for GITADORA, pop'n and IIDX but not
SDVX. Added the missing one.
## Testing
Tested Nabla
## Link to GitHub Issue or related Pull Request, if one exists
#0
## Description of change
Fix mouse and touch API handling for gitadora.
* hook native touch in every arena window mode (previously only using
wintouchemu for 1 windowed mode)
* publish the touch window (SMALL panel, or the main window drawing the
overlay) and only attach injection there
* route touch on the SMALL window straight through instead of the
overlay transform, and accept the mouse only there
* fix spiceapi by forcing 800x1280 touch canvas size
* run API capture before the subscreen present to fix api not showing
sub image
## Testing
Test:
gitadora 1/2/4 windowed mode, fullscreen
iidx /sdvx / popn windowed/fullscreen for regressions
## Link to GitHub Issue or related Pull Request, if one exists
Fixes#858
## Description of change
Fix orientation being wrong in windowed mode when API touch is used
Fix mouse no longer working when API client is in use.
This PR only affects windowed mode SDVX.
## Testing
## Link to GitHub Issue or related Pull Request, if one exists
Fixes#858
## Description of change
Landscape mode needs another adjustment applied to touch coordinates.
This fixex both native touch and wintouchemu paths.
## Testing
Tested landscape, also with full screen resolution changes.
## Link to GitHub Issue or related Pull Request, if one exists
Fixes#814
## Description of change
Touches via the API wasn't being delivered to native touch hook;
implement this, which closes the last gap we have vs. wintouchemu.
While we're here, implement popn subscreen support for companion as
well.
## Testing
Tested for iidx/sdvx/popn