[common] input: define LGMP input protocol

Reserve a dedicated LGMP queue for low-latency input reports and
endpoint status. Bump KVMFR for the new feature and define ordered
ownership messages with full-state mouse and keyboard payloads.

Use a 32-bit physical button mask so future HID buttons do not require
another wire format change.
This commit is contained in:
Geoffrey McRae
2026-08-08 22:17:07 +10:00
parent f495e5b7ba
commit 7f4a14a543
3 changed files with 176 additions and 2 deletions

View File

@@ -28,9 +28,10 @@
#include <stddef.h>
#include "types.h"
#include "LGMPConfig.h"
#include "KVMFRInput.h"
#define KVMFR_MAGIC "KVMFR---"
#define KVMFR_VERSION 29
#define KVMFR_VERSION 30
// Fallback used by producers that cannot report the source display's SDR
// white level. IDD frames override this with IDDCX_METADATA2::SdrWhiteLevel.
@@ -61,7 +62,8 @@ enum
{
KVMFR_FEATURE_SETCURSORPOS = 0x1,
KVMFR_FEATURE_WINDOWSIZE = 0x2,
KVMFR_FEATURE_FRAME_SCHEDULE = 0x4
KVMFR_FEATURE_FRAME_SCHEDULE = 0x4,
KVMFR_FEATURE_INPUT = 0x8
};
typedef uint32_t KVMFRFeatureFlags;