How to know if an Input Key is PHYSICALLY down?


Player Controller’s “Is Input Key Down” function allows us to know if a key is pressed according to the controller’s Player Input. But sometimes, this will return false even if a key is held down, if the focus went somewhere else and the Released event was fired. This makes it seemingly impossible to know when the key is actually physically released, which would help to develop a workaround.

For instance, if you are pressing a key and call a Widget’s “Set Keyboard Focus” (or “Set User Focus”), the Released event is fired and “Is Input Key Down” stops returing true. You may suggest making the Widget “unfocusable”, which in this case is not a possible solution due to the expected UI behavior of many widgets being based on focus.

I would like to know if there is any platform-independent way (not relying in Operative System-specific C++ libraries) to know if an input key is physically down (or released), according to OS/hardware, not according to Player Input. If so, can you explain how to set it up to work? If there is no current way, I present this as a feature request for the Engine.

Thank you.