godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.94k stars 21.15k forks source link

Keyboard input disable for the whole OS when playing in editor (4.2.2 C#) #92949

Closed CPULL closed 5 months ago

CPULL commented 5 months ago

Tested versions

Reproducible in 4.2.1 and 4.2.2 mono versions when playing the game in the editor. Compiled version of the game does not have this problem.

System information

Godot v4.2.2.stable.mono - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3080 Ti (NVIDIA; 32.0.15.5585) - 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz (16 Threads)

Issue description

While playing the game in the editor, after a while but not in 100% of cases (probably around 50% of the time) the keyboard input is completely gone from the operating system. The mouse still work fine, and any onscreen keyboard still works. But the normal keyboard stop working (for any applications the was started or will be started) making impossible to work.

Cannot find any error written anywhere, WindowsEvents show nothing relevant. I can reproduce on 2 very similar PCs. The problem is not reproductible on builds, only when playing/debugging in the editor. Tried to use a different keyboard on one of the PCs but nothing changed.

Steps to reproduce

I can provide the source code of my project, but happens in all projects I do using the input map and checking Input.IsActionPressed, IsActionJustPressed

Minimal reproduction project (MRP)

Define an InputMap for left and right Have in your _Process a line similar to: var left = Input.IsActionJustPressed("Left"); Then play the game in the editor and go left and right for a while. In my cases 50% of the time my keyboard stop working.

Avantir-Chaosfire commented 5 months ago

How long is "a while"? More like 5 minutes or more like 2 hours?

CPULL commented 5 months ago

Usually 5 minutes are enough. The problem is that is sporadic and not easy to reproduce systematically. If I play with a controller I do not reproduce the problem at all. It is related to the keyboard.

CPULL commented 5 months ago

Problem was "filter keys" on windows.

We can close this case. One key combination of the game was enabling "Filter Keys" on windows and setting it in a way that was almost impossible to press keys (1 key every 60 seconds.) Problem was that the game was usually full screen, hiding the notification.

My bad.