View Issue Details

IDProjectCategoryView StatusLast Update
0004491NoesisGUIC# SDKpublic2026-01-21 11:53
ReporterFodonzo Assigned Tojsantos  
PrioritynormalSeverityminor 
Status resolvedResolutionfixed 
Product Version3.2.7 
Target Version3.2.11Fixed in Version3.2.11 
Summary0004491: UI thread pause when pressing only Alt in Debug build
Description

Hello,

We're experiencing a behavior on Win32 and are trying to determine if it's an intentional Noesis feature or a bug on our side.

When we press only the Alt key (without any other key), the Noesis UI thread (rendering) appears to pause. Our main application "world" continues to run in the background. The UI unfreezes and resumes rendering as soon as we press another key.

This behavior only happens in our Debug builds. In our Release builds, pressing Alt does not cause this pause.

We would like to use the Alt key as a standalone modifier for our UI (for example, to check if it's held down), but this pause is preventing it.

Our question is this: Is this behavior, pausing the UI thread on an Alt-only press in Debug mode intentional, perhaps for debugging purposes? Or is this likely a sign of a misconfiguration in our custom Win32Display.cs?

Thank you!

PlatformWindows

Activities

jsantos

jsantos

2025-11-12 13:24

manager   ~0011374

I am reproducing this in in XamlPlayer (C++)

jsantos

jsantos

2026-01-21 11:53

manager   ~0011737

Fixed.

Index: Win32Display.cs
===================================================================
--- Win32Display.cs (revision 16496)
+++ Win32Display.cs (working copy)
@@ -634,7 +634,15 @@
                         int index = LoWord(wParam);
                         if (index <= 0xff && _keys[index] != Noesis.Key.None)
                         {
-                            KeyDown?.Invoke(this, _keys[index]);
+                            Noesis.Key key = _keys[index];
+                            KeyDown?.Invoke(this, key);
+
+                            // Don't let Windows process the Alt key, because it will try to open the window
+                            // system command menu, which steals the focus and changes the cursor
+                            if (key == Noesis.Key.LeftAlt || key == Noesis.Key.RightAlt || key == Noesis.Key.F10)
+                            {
+                                return true;
+                            }
                         }
                     }
                     return false;

Issue History

Date Modified Username Field Change
2025-11-07 13:49 Fodonzo New Issue
2025-11-07 14:12 sfernandez Assigned To => sfernandez
2025-11-07 14:12 sfernandez Status new => assigned
2025-11-07 14:12 sfernandez Target Version => 3.2.11
2025-11-07 15:32 Fodonzo Product Version 3.0 => 3.2.7
2025-11-12 13:22 jsantos Assigned To sfernandez => jsantos
2025-11-12 13:24 jsantos Note Added: 0011374
2026-01-20 19:32 jsantos Target Version 3.2.11 => 3.2.12
2026-01-20 19:44 jsantos Target Version 3.2.12 => 3.2.11
2026-01-21 11:53 jsantos Status assigned => resolved
2026-01-21 11:53 jsantos Resolution open => fixed
2026-01-21 11:53 jsantos Fixed in Version => 3.2.11
2026-01-21 11:53 jsantos Note Added: 0011737