From fb8eb7251e9c8f2f63d0abff81f0800732ac64d4 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 17 Jan 2022 13:19:58 +0100 Subject: [PATCH] Added relative mouse setting --- include/freerdp/settings.h | 4 +++- libfreerdp/common/settings_getters.c | 7 +++++++ libfreerdp/common/settings_str.c | 1 + libfreerdp/core/test/settings_property_lists.h | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/freerdp/settings.h b/include/freerdp/settings.h index 274ce00a2..a4575fa98 100644 --- a/include/freerdp/settings.h +++ b/include/freerdp/settings.h @@ -708,6 +708,7 @@ typedef struct #define FreeRDP_CredentialsFromStdin (1604) #define FreeRDP_UnmapButtons (1605) #define FreeRDP_OldLicenseBehaviour (1606) +#define FreeRDP_MouseUseRelativeMove (1607) #define FreeRDP_ComputerName (1664) #define FreeRDP_ConnectionFile (1728) #define FreeRDP_AssistanceFile (1729) @@ -1210,7 +1211,8 @@ struct rdp_settings ALIGN64 BOOL CredentialsFromStdin; /* 1604 */ ALIGN64 BOOL UnmapButtons; /* 1605 */ ALIGN64 BOOL OldLicenseBehaviour; /* 1606 */ - UINT64 padding1664[1664 - 1607]; /* 1607 */ + ALIGN64 BOOL MouseUseRelativeMove; /* 1607 */ + UINT64 padding1664[1664 - 1608]; /* 1608 */ /* Names */ ALIGN64 char* ComputerName; /* 1664 */ diff --git a/libfreerdp/common/settings_getters.c b/libfreerdp/common/settings_getters.c index 828e4787b..b9113ea9a 100644 --- a/libfreerdp/common/settings_getters.c +++ b/libfreerdp/common/settings_getters.c @@ -318,6 +318,9 @@ BOOL freerdp_settings_get_bool(const rdpSettings* settings, size_t id) case FreeRDP_MouseMotion: return settings->MouseMotion; + case FreeRDP_MouseUseRelativeMove: + return settings->MouseUseRelativeMove; + case FreeRDP_MstscCookieMode: return settings->MstscCookieMode; @@ -950,6 +953,10 @@ BOOL freerdp_settings_set_bool(rdpSettings* settings, size_t id, BOOL val) settings->MouseMotion = cnv.c; break; + case FreeRDP_MouseUseRelativeMove: + settings->MouseUseRelativeMove = cnv.c; + break; + case FreeRDP_MstscCookieMode: settings->MstscCookieMode = cnv.c; break; diff --git a/libfreerdp/common/settings_str.c b/libfreerdp/common/settings_str.c index 528900a75..a0c3b9281 100644 --- a/libfreerdp/common/settings_str.c +++ b/libfreerdp/common/settings_str.c @@ -109,6 +109,7 @@ static const struct settings_str_entry settings_map[] = { { FreeRDP_MouseAttached, 0, "FreeRDP_MouseAttached" }, { FreeRDP_MouseHasWheel, 0, "FreeRDP_MouseHasWheel" }, { FreeRDP_MouseMotion, 0, "FreeRDP_MouseMotion" }, + { FreeRDP_MouseUseRelativeMove, 0, "FreeRDP_MouseUseRelativeMove" }, { FreeRDP_MstscCookieMode, 0, "FreeRDP_MstscCookieMode" }, { FreeRDP_MultiTouchGestures, 0, "FreeRDP_MultiTouchGestures" }, { FreeRDP_MultiTouchInput, 0, "FreeRDP_MultiTouchInput" }, diff --git a/libfreerdp/core/test/settings_property_lists.h b/libfreerdp/core/test/settings_property_lists.h index 5e0d7a1c9..269541955 100644 --- a/libfreerdp/core/test/settings_property_lists.h +++ b/libfreerdp/core/test/settings_property_lists.h @@ -98,6 +98,7 @@ static const size_t bool_list_indices[] = { FreeRDP_MouseAttached, FreeRDP_MouseHasWheel, FreeRDP_MouseMotion, + FreeRDP_MouseUseRelativeMove, FreeRDP_MstscCookieMode, FreeRDP_MultiTouchGestures, FreeRDP_MultiTouchInput,