Emulator Issues #11563
Qt: Keyboard navigation of UI should be disabled in MappingWindow
In the mapping window, when attempting to map the keyboard to various controls, many problems occur from the keyboard trying to navigate the MappingWindow's UI. For example, on Windows at least, it's completely impossible to map the spacebar to a control without right clicking on the button and entering the advanced mapping window, because pressing space acts as a left click on the mapping button (simply selecting that control to be mapped). Enter, the arrow keys, and tab are some other keyboard buttons that cause problems.
I don't know if disabling keyboard navigation of the UI is possible, but hopefully so.
This is done by installing an event filter. However, that has already been done for mapping with BlockUserInputFilter. The problem is the event filter is removed the moment the button is bound. What happens is:
Select a key to bind -> eventFilter blocks all input -> "I want to bind space" Hit spacebar -> spacebar becomes bound -> eventFilter is removed -> spacebar has been released -> execute shortcut = select focused widget -> Select a key to bind. And thus it appears space never got bound.
How to fix? In MappingButton.cpp you could put a constant eventFilter for keyboard press & release, just like BlockUserInputFilter does it.