[idd] input: receive LGMP input reports

Add an optional input transport and a dedicated LGMP receiver that
validates source ownership, generations, ordered sequences, and leases.

Poll input outside the 10 ms control timer. Forward mouse and keyboard
state through the LGInput pipe, and neutralize the endpoint before
ownership changes or transport failures can leave input held.
This commit is contained in:
Geoffrey McRae
2026-08-08 22:46:07 +10:00
parent 7f4a14a543
commit 83c552fb9d
13 changed files with 1006 additions and 91 deletions

View File

@@ -25,6 +25,7 @@
#include "transport/lgmp/CLGMPControl.h"
#include "transport/lgmp/CLGMPFrameTransport.h"
#include "transport/lgmp/CLGMPHost.h"
#include "transport/lgmp/CLGMPInputTransport.h"
class CLGMPTransport final : public ITransport
{
@@ -35,6 +36,7 @@ private:
CLGMPHost m_host;
CLGMPControl m_control;
CLGMPFrameTransport m_frames;
CLGMPInputTransport m_input;
public:
CLGMPTransport();
@@ -53,4 +55,5 @@ public:
IFrameTransport& Frames() override { return m_frames; }
IControlTransport& Control() override { return m_control; }
IInputTransport * Input() override { return &m_input; }
};