I noticed that USetup was preventing me from using Portuguese keyboard layout if I had chosen to run the setup in English language.
The two things have nothing in common. Conversly, I could have wanted to run the setup in Portuguese in a computer with an US keyboard.
I found out that the place to fix this issue is in file "base/setup/usetup/settings.c", and my fix is to remove the line number 1055:
if (_wcsicmp(LayoutsList[uIndex].LayoutID, KeyName) == 0)
(As of revision 67479.)
In the attached patch I didn't remove the braces of the code block below nor the indent, to avoid rendering the patch unreadable.