mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-08-09 08:41:31 +00:00
[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:
@@ -49,7 +49,8 @@ static bool TranslateFrameScheduleFlags(
|
||||
|
||||
CLGMPTransport::CLGMPTransport() :
|
||||
m_control(m_host),
|
||||
m_frames(m_host, m_ivshmem)
|
||||
m_frames(m_host, m_ivshmem),
|
||||
m_input(m_host)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -69,9 +70,10 @@ bool CLGMPTransport::Initialize()
|
||||
if (!m_host.Initialize(m_ivshmem))
|
||||
return false;
|
||||
|
||||
// Preserve the shared-memory layout: frame queues precede the pointer queue
|
||||
// and its retained cursor and color-transform allocations.
|
||||
if (!m_frames.Initialize() || !m_control.Initialize())
|
||||
// Preserve the existing shared-memory layout by appending input after the
|
||||
// frame and pointer queues and retained pointer state allocations.
|
||||
if (!m_frames.Initialize() || !m_control.Initialize() ||
|
||||
!m_input.Initialize())
|
||||
return false;
|
||||
|
||||
m_frames.SealMemoryLayout();
|
||||
|
||||
Reference in New Issue
Block a user