[settings] add HasQoeEvent

This commit is contained in:
akallabeth
2023-10-12 13:54:53 +02:00
committed by akallabeth
parent 910e3b9fb4
commit 1f7bc15bb1
6 changed files with 30 additions and 2 deletions

View File

@@ -859,6 +859,7 @@ extern "C"
#define FreeRDP_SuspendInput (2636)
#define FreeRDP_KeyboardPipeName (2637)
#define FreeRDP_HasRelativeMouseEvent (2638)
#define FreeRDP_HasQoeEvent (2639)
#define FreeRDP_BrushSupportLevel (2688)
#define FreeRDP_GlyphSupportLevel (2752)
#define FreeRDP_GlyphCache (2753)
@@ -1490,7 +1491,8 @@ extern "C"
ALIGN64 BOOL SuspendInput; /* 2636 */
ALIGN64 char* KeyboardPipeName; /* 2637 */
ALIGN64 BOOL HasRelativeMouseEvent; /* 2638 */
UINT64 padding2688[2688 - 2639]; /* 2639 */
ALIGN64 BOOL HasQoeEvent; /* 2639 */
UINT64 padding2688[2688 - 2640]; /* 2640 */
/* Brush Capabilities */
ALIGN64 UINT32 BrushSupportLevel; /* 2688 */

View File

@@ -303,6 +303,9 @@ BOOL freerdp_settings_get_bool(const rdpSettings* settings, size_t id)
case FreeRDP_HasMonitorAttributes:
return settings->HasMonitorAttributes;
case FreeRDP_HasQoeEvent:
return settings->HasQoeEvent;
case FreeRDP_HasRelativeMouseEvent:
return settings->HasRelativeMouseEvent;
@@ -963,6 +966,10 @@ BOOL freerdp_settings_set_bool(rdpSettings* settings, size_t id, BOOL val)
settings->HasMonitorAttributes = cnv.c;
break;
case FreeRDP_HasQoeEvent:
settings->HasQoeEvent = cnv.c;
break;
case FreeRDP_HasRelativeMouseEvent:
settings->HasRelativeMouseEvent = cnv.c;
break;

View File

@@ -129,6 +129,7 @@ static const struct settings_str_entry settings_map[] = {
{ FreeRDP_HasExtendedMouseEvent, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HasExtendedMouseEvent" },
{ FreeRDP_HasHorizontalWheel, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HasHorizontalWheel" },
{ FreeRDP_HasMonitorAttributes, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HasMonitorAttributes" },
{ FreeRDP_HasQoeEvent, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HasQoeEvent" },
{ FreeRDP_HasRelativeMouseEvent, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HasRelativeMouseEvent" },
{ FreeRDP_HiDefRemoteApp, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HiDefRemoteApp" },
{ FreeRDP_IPv6Enabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_IPv6Enabled" },

View File

@@ -1351,6 +1351,10 @@ static BOOL rdp_apply_input_capability_set(rdpSettings* settings, const rdpSetti
}
if (settings->HasExtendedMouseEvent)
settings->HasExtendedMouseEvent = src->HasExtendedMouseEvent;
if (settings->HasRelativeMouseEvent)
settings->HasRelativeMouseEvent = src->HasRelativeMouseEvent;
if (freerdp_settings_get_bool(settings, FreeRDP_HasQoeEvent))
settings->HasQoeEvent = freerdp_settings_get_bool(settings, FreeRDP_HasQoeEvent);
}
return TRUE;
}
@@ -1404,9 +1408,15 @@ static BOOL rdp_read_input_capability_set(wStream* s, rdpSettings* settings)
if (!freerdp_settings_set_bool(settings, FreeRDP_UnicodeInput,
(inputFlags & INPUT_FLAG_UNICODE) ? TRUE : FALSE))
return FALSE;
if (!freerdp_settings_set_bool(settings, FreeRDP_HasRelativeMouseEvent,
(inputFlags & INPUT_FLAG_MOUSE_RELATIVE) ? TRUE : FALSE))
return FALSE;
if (!freerdp_settings_set_bool(settings, FreeRDP_HasExtendedMouseEvent,
(inputFlags & INPUT_FLAG_MOUSEX) ? TRUE : FALSE))
return FALSE;
if (!freerdp_settings_set_bool(settings, FreeRDP_HasQoeEvent,
(inputFlags & TS_INPUT_FLAG_QOE_TIMESTAMPS) ? TRUE : FALSE))
return FALSE;
return TRUE;
}
@@ -1431,12 +1441,18 @@ static BOOL rdp_write_input_capability_set(wStream* s, const rdpSettings* settin
inputFlags |= INPUT_FLAG_FASTPATH_INPUT2;
}
if (settings->HasHorizontalWheel)
if (freerdp_settings_get_bool(settings, FreeRDP_HasRelativeMouseEvent))
inputFlags |= INPUT_FLAG_MOUSE_RELATIVE;
if (freerdp_settings_get_bool(settings, FreeRDP_HasHorizontalWheel))
inputFlags |= TS_INPUT_FLAG_MOUSE_HWHEEL;
if (freerdp_settings_get_bool(settings, FreeRDP_UnicodeInput))
inputFlags |= INPUT_FLAG_UNICODE;
if (freerdp_settings_get_bool(settings, FreeRDP_HasQoeEvent))
inputFlags |= TS_INPUT_FLAG_QOE_TIMESTAMPS;
if (settings->HasExtendedMouseEvent)
inputFlags |= INPUT_FLAG_MOUSEX;

View File

@@ -366,6 +366,7 @@ rdpSettings* freerdp_settings_new(DWORD flags)
if (!freerdp_settings_set_bool(settings, FreeRDP_UnicodeInput, TRUE) ||
!freerdp_settings_set_bool(settings, FreeRDP_HasHorizontalWheel, TRUE) ||
!freerdp_settings_set_bool(settings, FreeRDP_HasExtendedMouseEvent, TRUE) ||
!freerdp_settings_set_bool(settings, FreeRDP_HasQoeEvent, TRUE) ||
!freerdp_settings_set_bool(settings, FreeRDP_HasRelativeMouseEvent, TRUE) ||
!freerdp_settings_set_bool(settings, FreeRDP_HiDefRemoteApp, TRUE) ||
!freerdp_settings_set_uint32(

View File

@@ -85,6 +85,7 @@ static const size_t bool_list_indices[] = {
FreeRDP_HasExtendedMouseEvent,
FreeRDP_HasHorizontalWheel,
FreeRDP_HasMonitorAttributes,
FreeRDP_HasQoeEvent,
FreeRDP_HasRelativeMouseEvent,
FreeRDP_HiDefRemoteApp,
FreeRDP_IPv6Enabled,