fixed text event handling for newer SDL versions (again)
authorHolger Schemel <info@artsoft.org>
Wed, 16 Sep 2020 21:52:56 +0000 (23:52 +0200)
committerHolger Schemel <info@artsoft.org>
Wed, 16 Sep 2020 21:52:56 +0000 (23:52 +0200)
commitfc2258f533dd7578e76f89a0fe1ad093022284dd
tree2b926f7fb9ab3266cd40a30cc7826c908c81f6d3
parent343ecd1bed93fa862903ff981ede342825f14401
fixed text event handling for newer SDL versions (again)

This fixes another regression of commit 5a53ae0c888ee049 and
35da46e4 that still causes incorrect key/text event handling.

The problem occurs when entering uppercase letters, which creates two
key events (pressed and released) with the lowercase letter (while
modifier state indicates that the Shift key is active), plus one text
event with the uppercase letter. The previous logic caused both cases
to be handled as a new key event, effectively handling that letter
twice (one time in lowercase, and another time in uppercase).

An additional check for text input style modifier keys prevents the
lowercase variant of the case described above not to be handled.
src/events.c
src/libgame/sdl.h