diff --git a/include/freerdp/settings.h b/include/freerdp/settings.h index a3c4946d5..fa037b7e3 100644 --- a/include/freerdp/settings.h +++ b/include/freerdp/settings.h @@ -858,6 +858,7 @@ extern "C" #define FreeRDP_HasExtendedMouseEvent (2635) #define FreeRDP_SuspendInput (2636) #define FreeRDP_KeyboardPipeName (2637) +#define FreeRDP_HasRelativeMouseEvent (2638) #define FreeRDP_BrushSupportLevel (2688) #define FreeRDP_GlyphSupportLevel (2752) #define FreeRDP_GlyphCache (2753) @@ -1488,7 +1489,8 @@ extern "C" */ ALIGN64 BOOL SuspendInput; /* 2636 */ ALIGN64 char* KeyboardPipeName; /* 2637 */ - UINT64 padding2688[2688 - 2638]; /* 2638 */ + ALIGN64 BOOL HasRelativeMouseEvent; /* 2638 */ + UINT64 padding2688[2688 - 2639]; /* 2639 */ /* Brush Capabilities */ ALIGN64 UINT32 BrushSupportLevel; /* 2688 */ diff --git a/libfreerdp/common/settings_getters.c b/libfreerdp/common/settings_getters.c index 10cac38a9..689b0f14d 100644 --- a/libfreerdp/common/settings_getters.c +++ b/libfreerdp/common/settings_getters.c @@ -303,6 +303,9 @@ BOOL freerdp_settings_get_bool(const rdpSettings* settings, size_t id) case FreeRDP_HasMonitorAttributes: return settings->HasMonitorAttributes; + case FreeRDP_HasRelativeMouseEvent: + return settings->HasRelativeMouseEvent; + case FreeRDP_HiDefRemoteApp: return settings->HiDefRemoteApp; @@ -960,6 +963,10 @@ BOOL freerdp_settings_set_bool(rdpSettings* settings, size_t id, BOOL val) settings->HasMonitorAttributes = cnv.c; break; + case FreeRDP_HasRelativeMouseEvent: + settings->HasRelativeMouseEvent = cnv.c; + break; + case FreeRDP_HiDefRemoteApp: settings->HiDefRemoteApp = cnv.c; break; diff --git a/libfreerdp/common/settings_str.c b/libfreerdp/common/settings_str.c index cd72e8695..ff4c51784 100644 --- a/libfreerdp/common/settings_str.c +++ b/libfreerdp/common/settings_str.c @@ -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_HasRelativeMouseEvent, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HasRelativeMouseEvent" }, { FreeRDP_HiDefRemoteApp, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HiDefRemoteApp" }, { FreeRDP_IPv6Enabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_IPv6Enabled" }, { FreeRDP_IgnoreCertificate, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_IgnoreCertificate" }, diff --git a/libfreerdp/core/settings.c b/libfreerdp/core/settings.c index 3d985b8c1..834500cf5 100644 --- a/libfreerdp/core/settings.c +++ b/libfreerdp/core/settings.c @@ -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_HasRelativeMouseEvent, TRUE) || !freerdp_settings_set_bool(settings, FreeRDP_HiDefRemoteApp, TRUE) || !freerdp_settings_set_uint32( settings, FreeRDP_RemoteApplicationSupportMask, diff --git a/libfreerdp/core/test/settings_property_lists.h b/libfreerdp/core/test/settings_property_lists.h index 7046c87a5..34bb5b7e5 100644 --- a/libfreerdp/core/test/settings_property_lists.h +++ b/libfreerdp/core/test/settings_property_lists.h @@ -85,6 +85,7 @@ static const size_t bool_list_indices[] = { FreeRDP_HasExtendedMouseEvent, FreeRDP_HasHorizontalWheel, FreeRDP_HasMonitorAttributes, + FreeRDP_HasRelativeMouseEvent, FreeRDP_HiDefRemoteApp, FreeRDP_IPv6Enabled, FreeRDP_IgnoreCertificate,