キーイベント類が取れてなかったのは

SDL_PumpEvents()を事前に呼んでないからでしたー。もっと分かりやすく書いといて!
んであっさり解決かとおもいきやどうも挙動が変。
何が原因かと思ったら、SDL_PeepEventsのmaskにに使われるSDL_EventTypeが
連番で定義されてやがる・・・これじゃビットマスクとして使えねーよ!!!なんて罠だ。
てっきり複数イベント指定できると思って設計していたので作り直しだよ。
また軽く中身を読んだ感じじゃ内部では論理演算でチェックしてるあたりたちが悪い。
一見普通に動いているように見えて指定したつもりのないイベントが
defaultの海にガンガン捨て去られまくってる。(assert入れてて良かった)
SDLで極小的にイベントを取るのは何かと問題があるようだ・・・。