From d4f5f203db3004a1aef37dfb9ded049a7a2b2639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20B=C3=BCchel?= Date: Thu, 25 Jul 2024 16:49:52 +0200 Subject: [PATCH] SEBWIN-909: Ensured individual keys are not transmitted as part of the screen proctoring meta data and improved presentation of single modifier key triggers. --- .../ScreenProctoring/Data/MetaDataAggregator.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/SafeExamBrowser.Proctoring/ScreenProctoring/Data/MetaDataAggregator.cs b/SafeExamBrowser.Proctoring/ScreenProctoring/Data/MetaDataAggregator.cs index 25733149..b74b383a 100644 --- a/SafeExamBrowser.Proctoring/ScreenProctoring/Data/MetaDataAggregator.cs +++ b/SafeExamBrowser.Proctoring/ScreenProctoring/Data/MetaDataAggregator.cs @@ -115,10 +115,19 @@ namespace SafeExamBrowser.Proctoring.ScreenProctoring.Data private void CaptureKeyboardTrigger(KeyboardTrigger keyboard) { - var flags = Enum.GetValues(typeof(KeyModifier)).OfType().Where(m => m != KeyModifier.None && keyboard.Modifier.HasFlag(m)); + var flags = Enum.GetValues(typeof(KeyModifier)) + .OfType() + .Where(m => m != KeyModifier.None && keyboard.Modifier.HasFlag(m) && !keyboard.Key.ToString().Contains(m.ToString())); var modifiers = flags.Any() ? string.Join(" + ", flags) + " + " : string.Empty; - triggerInfo = $"'{modifiers}{keyboard.Key}' has been {keyboard.State.ToString().ToLower()}."; + if (flags.Any()) + { + triggerInfo = $"'{modifiers}{keyboard.Key}' has been {keyboard.State.ToString().ToLower()}."; + } + else + { + triggerInfo = $"A key has been {keyboard.State.ToString().ToLower()}."; + } } private void CaptureMouseTrigger(MouseTrigger mouse)