On keydown (or keypress/keyup/etc as appropriate), the MCA should be brought to focus, and the specified keystroke reflected there. At the moment, a keystroke focuses the MCA, and then needs to be repeated for the MCA to reflect it.
There should be exceptions to when this focus is moved to the MCA. I believe it's probably most prudent to handle these by checking which element is currently in focus, and if it is on a list of elements (or a child thereof) which you specify have precedence, then the focus is not moved. For example, with the route menu in focus, the altitude assignment menu in focus, the add/find input in focus, the scratchpad in focus, etc--- in those cases, we would not move focus, but we would in all other cases.
On keydown (or keypress/keyup/etc as appropriate), the MCA should be brought to focus, and the specified keystroke reflected there. At the moment, a keystroke focuses the MCA, and then needs to be repeated for the MCA to reflect it.
There should be exceptions to when this focus is moved to the MCA. I believe it's probably most prudent to handle these by checking which element is currently in focus, and if it is on a list of elements (or a child thereof) which you specify have precedence, then the focus is not moved. For example, with the route menu in focus, the altitude assignment menu in focus, the add/find input in focus, the scratchpad in focus, etc--- in those cases, we would not move focus, but we would in all other cases.