Invert Y on the wire, not in the router: the panel keeps tracking the stick

InputRouter.InvertJoystickY flipped the stored axis, so the X/Y dot and
readout moved opposite the physical stick. The toggle now lives on
VRioDevice and negates joystick Y only while building AnalogReply: local
state keeps the physical direction for every source (pad, keys, panel
drags) and only the host sees the flip. Negating a full -8192 deflection
lands one past the 14-bit Max, so the reply clamps it to 8191.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-06 19:21:57 -05:00
co-authored by Claude Fable 5
parent 41f6ef364d
commit ce5ed1117a
5 changed files with 32 additions and 31 deletions
+2 -2
View File
@@ -190,8 +190,8 @@ internal sealed class MainForm : Form
if (!_kbInput.Checked)
_router.ReleaseAllKeys();
};
_invertY.CheckedChanged += (_, _) => _router.InvertJoystickY = _invertY.Checked;
_router.InvertJoystickY = _invertY.Checked; // the field initializer raises no event
_invertY.CheckedChanged += (_, _) => _device.InvertJoystickY = _invertY.Checked;
_device.InvertJoystickY = _invertY.Checked; // the field initializer raises no event
_kbLights.CheckedChanged += (_, _) =>
{
_lampMirror.Enabled = _kbLights.Checked;