SDL_KEYMAPCHANGED was added in SDL 2.0.4, so you can try to use it or later versions. Google says Trusty uses the 2.0.2.

The only place which uses this event is here.
But anyway this behaviour is strange since this code should be omitted by preprocessor if you have the old SDL.
Maybe a some kind of false-detection involved.