mirror of
https://github.com/jetkvm/kvm.git
synced 2026-05-21 05:20:35 +00:00
cf7215411d
* fix: add horizontal mouse wheel (AC Pan) scroll support (#415) - HID descriptors: add AC Pan (Usage 0x0238, Consumer Page) to both absolute and relative mouse descriptors for horizontal scroll - Backend: extend AbsMouseWheelReport to accept wheelX, add RelMouseWheelReport with both axes, update report_length - RPC: add wheelX parameter to wheelReport binding - Frontend: read deltaX in wheel handler with same clamping/inversion and throttling as vertical scroll - E2E: add wheel scroll test verifying both vertical (REL_WHEEL) and horizontal (REL_HWHEEL) events reach the remote host * style: fix goimports alignment in RelMouseReport * fix: don't negate horizontal scroll direction in wheelReport The clampWheel helper was negating the result for both axes, but only vertical scrolling needs inversion (browser deltaY and HID Wheel use opposite sign conventions). Horizontal scrolling (deltaX / AC Pan) shares the same convention (positive = right), so negation reversed the direction on the target machine. * fix: wire RelMouseWheelReport into RPC and add wheel scroll e2e tests rpcWheelReport only called AbsMouseWheelReport, so wheel scrolling was silently broken in relative-only mouse mode. Now calls both Abs and Rel wheel report methods (each guards on its own enabledDevices flag). Adds e2e tests for vertical/horizontal wheel scroll in default mode and relative-only mode. Bumps beforeAll waitForInputDevices timeout to 30s and keyboard LED test expectKeyPress timeouts to 5s to reduce flakiness.