If I press for example "CTRL-2", I get only SDL_KEYDOWN events for the
control key and the "2" key. But if I press "CTRL-1", I get two SDL_KEYDOWN
events, followed by a TEXTINPUT event with the string "1". And for normal
letters, I don't get any TEXTINPUT events as long as I keep CTRL pressed,
but for the German umlauts "ä", "ö" and "ü", I get a TEXTINPUT event as
well... So if we still decide to go down that road, it will be a lot of
weird heuristics and likely a lot of breakages on non-Linux systems, I
guess...
Sure, without exact reasoning why it behaves the way it behaves there's no way someone could implement the translation.