Inconsistent key handling for Shift combinations
When pressing the key "1" together with Shift, `KeyboardEvent.character` is "!" for the German keyboard layout. This works on Windows and Gtk, however `KeyboardEvent.key` is different on Windows and Gtk.
- On Windows `KeyboardEvent.key` is `Key_Number1`, which indicates the physical key "1".
- On Gtk `KeyboardEvent.key` is `Key_ExclamationMark`, which indicates the resulting character ("!").

For a list of affected keys, see commit 7d7a838b3d8cae6b9bac1d86f88c86bd12ebdcfb.

I think the Windows behavior is better, because it tells the application which keys exact are pressed. This could be useful for user interactions other than typing text. If the application want to know, which character is typed, it should use `KeyboardEvent.character`.

So the question is, how to make Gtk behave the same as Windows.